Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

I am interested in sound visualisation bars....



  • Sound visualisation bars=
    !http://i.imgur.com/t1AuC57.png(visu)!

    What i am searching of is request from an audio file something like:
    @sound(10,3450)@

    were 10 is the line and 3450 the exact millesecond. Which would return a float with max 1 and min 0. For example in the picture lets say the 1st line is 0.40, the second one would be about 0.37 .

    !http://i.imgur.com/0VJ4jbW.jpg(2)!

    Could you provide me with some links because i don't know from were to start?



  • What you're looking for is the "fourier transform":http://en.wikipedia.org/wiki/Fourier_transform of certain frames of the audio signal. For example, you could "convolute":http://en.wikipedia.org/wiki/Convolution the audio signal with a moving "gaussian window":http://en.wikipedia.org/wiki/Window_function and calculate the "discrete fourier transform":http://en.wikipedia.org/wiki/Discrete_Fourier_transform of the result, and then state that this is the spectral composition at the time t, where t denotes the center of the gaussian. Note that this is not a strict or unique definition, because the fourier transform actually contains all the time information already. It does not need a time dimension, that's the whole idea actually, transforming from time- to frequency-space. The gaussian window is used to give a more intuitive time-dependant spectrum.

    For calculating fourier transforms fast, have a look at "FFTW3":http://fftw.org/. It's a great package and super easy to use, considering the enormous power. Don't attempt implementing a DFT algorithm yourself, if you just care about the result and performance. (If you want to learn how it works, go ahead!)


Log in to reply