Hi Everyone, I'm looking to make a small C/C++ command-line utility which takes a binary audio file as input and generates a spectrogram of a given time range of the file. First off, I am already comfortable with reading/writing binary audio files, as well as the "back end" requirements for generating spectrogram information (FFT, windowing, etc.). What I am not familiar with is generating graphical plots, or even bitmap image files for that matter. Is there a recommended C/C++ plotting library which would be useful for generating a spectrogram (time vs. frequency with color-coded magnitude)? Adobe Audition works well for a one-off plot of a spectrogram, but I need to do this for hundreds of audio files. Thanks in advance for any help. Regards, Bob
Spectrogram Plot to Bitmap Output
Started by ●July 20, 2006
Reply by ●July 21, 20062006-07-21
BobM wrote:> Hi Everyone, > > I'm looking to make a small C/C++ command-line utility which takes a > binary audio file as input and generates a spectrogram of a given time > range of the file. > > First off, I am already comfortable with reading/writing binary audio > files, as well as the "back end" requirements for generating > spectrogram information (FFT, windowing, etc.). > > What I am not familiar with is generating graphical plots, or even > bitmap image files for that matter. > > Is there a recommended C/C++ plotting library which would be useful for > generating a spectrogram (time vs. frequency with color-coded > magnitude)? > > Adobe Audition works well for a one-off plot of a spectrogram, but I > need to do this for hundreds of audio files. Thanks in advance for any > help.Hi Bob, There are a couple of solutions that I can think of. I've never used it this way, but I think there is a way to send gnuplot the data from your program and have it generate the plot. I'm not sure how you transfer the data to be plotted to gnuplot, but I'm sure you can google for it. Another way, which really isn't a way since it doesn't suit your requirement of a command-line program but I thought I'd mention it anyway, is to develop a real graphical application. It might not be as difficult as you think if you based it on the fantastic wxwidgets project. Google for more info. --Randy> > Regards, > Bob
Reply by ●July 21, 20062006-07-21
> What I am not familiar with is generating graphical plots, or even > bitmap image files for that matter. > > Is there a recommended C/C++ plotting library which would be useful for > generating a spectrogram (time vs. frequency with color-coded > magnitude)?I faced the same problems, by wanting to plot data into a bitmap, a couple of days ago, I googled and came across this library. I only handles the bitmap operations, but should be easily interfaced into some FFT/plot function. http://easybmp.sourceforge.net/ -- Morten