I had a similar question a while back: <a href="http://old.nabble.com/looking-for-fast-spectrogram--%3E-jpg-png-gif-td28361237.html#a28361237" target="_blank">http://old.nabble.com/looking-for-fast-spectrogram--&gt;-jpg-png-gif-td28361237.html#a28361237</a><div>
<br></div><div><a href="http://old.nabble.com/looking-for-fast-spectrogram--%3E-jpg-png-gif-td28361237.html#a28361237" target="_blank"></a>Result so far: <a href="http://nielsmayer.com/ra2_residentadvisor_net_audio_RA201_100405_19_454_18_5_25_5_18_residentadvisor_net_mp3.png">http://nielsmayer.com/ra2_residentadvisor_net_audio_RA201_100405_19_454_18_5_25_5_18_residentadvisor_net_mp3.png</a><br>
<div>

<br></div><div>See: <a href="http://sourceforge.net/projects/soundviewer/">http://sourceforge.net/projects/soundviewer/</a> ( and <a href="http://pypi.python.org/pypi/scikits.audiolab">http://pypi.python.org/pypi/scikits.audiolab</a> )</div>
<div><br></div><div>Although I&#39;m using the spectrogram, soundviewer does waveforms:</div><div>&gt; parser.add_option(&quot;-a&quot;, &quot;--waveout&quot;, action=&quot;store&quot;, dest=&quot;output_filename_w&quot;, type=&quot;string&quot;, help=&quot;output waveform image (default input filename + _w.png)&quot;)</div>
<div><br></div><div>Although the waveform representation is informative, it is also odd. Likewise, one of these years (low priority due to this being a &quot;look&quot; and not functionality issue) I&#39;d like to modify the svt.py python script to plot a frequency-logarithmic rather than linear spectrogram (had anybody done so already?). </div>
<div><br></div><div><div>==============================================================================</div></div><div><br></div><div>    parser.add_option(&quot;-a&quot;, &quot;--waveout&quot;, action=&quot;store&quot;, dest=&quot;output_filename_w&quot;, type=&quot;string&quot;, help=&quot;output waveform image (default input filename + _w.png)&quot;)<br>
    parser.add_option(&quot;-o&quot;, &quot;--wavefile&quot;, action=&quot;store&quot;, dest=&quot;wavefile&quot;, type=&quot;int&quot;, help=&quot;draw waveform image (yes:1, no: 0; default: no)&quot;)<br>    parser.add_option(&quot;-s&quot;, &quot;--specout&quot;, action=&quot;store&quot;, dest=&quot;output_filename_s&quot;, type=&quot;string&quot;, help=&quot;output spectrogram image (default input filename + _s.png)&quot;)<br>
    parser.add_option(&quot;-w&quot;, &quot;--width&quot;, action=&quot;store&quot;, dest=&quot;image_width&quot;, type=&quot;int&quot;, help=&quot;image width in pixels (default %default)&quot;)<br>    parser.add_option(&quot;-h&quot;, &quot;--height&quot;, action=&quot;store&quot;, dest=&quot;image_height&quot;, type=&quot;int&quot;, help=&quot;image height in pixels (default %default)&quot;)<br>
    parser.add_option(&quot;-f&quot;, &quot;--fft&quot;, action=&quot;store&quot;, dest=&quot;fft_size&quot;, type=&quot;int&quot;, help=&quot;fft size, power of 2 for increased performance (default %default)&quot;)<br>    parser.add_option(&quot;-m&quot;, &quot;--fmax&quot;, action=&quot;store&quot;, dest=&quot;f_max&quot;, type=&quot;int&quot;, help=&quot;Maximum freq to draw, in Hz (default %default)&quot;)<br>
    parser.add_option(&quot;-i&quot;, &quot;--fmin&quot;, action=&quot;store&quot;, dest=&quot;f_min&quot;, type=&quot;int&quot;, help=&quot;Minimum freq to draw, in Hz (default %default)&quot;)<br>    parser.add_option(&quot;-p&quot;, &quot;--palette&quot;, action=&quot;store&quot;, dest=&quot;palette&quot;, type=&quot;int&quot;, help=&quot;Which color palette to use to draw the spectrogram, 1 for color and 2 for black on white (default %default)&quot;)<br>
    parser.add_option(&quot;-v&quot;, &quot;--version&quot;, action=&quot;store_true&quot;, dest=&quot;version&quot;, help=&quot;display version information&quot;)<br>     parser.set_defaults(output_filename_w=None, output_filename_s=None, image_width=500, image_height=170, fft_size=2048, f_max=22050, f_min=10, wavefile=0, palette=1)<br>
<div><br></div><div><div>==============================================================================</div></div><div><br></div><div>-f 512 delivers best image for music</div><div><br></div><div>svt.py -w 32768 -h 256 -f 512 RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav</div>
<div><br></div><div>gnulem-147-.../vamp-plugins/npm-sa&gt; time svt.py -w 16384 -h 256 -f 4096 RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav</div><div>processing file RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav:</div>
<div>/usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:97: DeprecationWarning: sndfile class is deprecated, please use Sndfile instead</div><div>  DeprecationWarning)</div>
<div>/usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:49: DeprecationWarning: formatinfo is deprecated, please use Format instead</div><div>  DeprecationWarning)</div>
<div>        ........... done</div><div>20.066u 0.379s 0:20.45 99.9%    0+0k 0+5944io 1pf+0w</div><div>gnulem-148-.../vamp-plugins/npm-sa&gt; time svt.py -w 16384 -h 256 -f 1024 RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav</div>
<div>processing file RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav:</div><div>/usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:97: DeprecationWarning: sndfile class is deprecated, please use Sndfile instead</div>
<div>  DeprecationWarning)</div><div>/usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:49: DeprecationWarning: formatinfo is deprecated, please use Format instead</div>
<div>  DeprecationWarning)</div><div>        ........... done</div><div>15.266u 0.284s 0:15.61 99.5%    0+0k 0+6296io 1pf+0w</div><div>--+&gt;&gt; gnulem-149-.../vamp-plugins/npm-sa&gt; time svt.py -w 32767 -h 256 -f 512 RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav</div>
<div>--+&gt;&gt; processing file RA201_100405_19_454_18_5_25_5_18_residentadvisor_net.wav:</div><div>--+&gt;&gt; /usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:97: DeprecationWarning: sndfile class is deprecated, please use Sndfile instead</div>
<div>--+&gt;&gt;   DeprecationWarning)</div><div>--+&gt;&gt; /usr/lib64/python2.6/site-packages/scikits.audiolab-0.10.2-py2.6-linux-x86_64.egg/scikits/audiolab/pysndfile/compat.py:49: DeprecationWarning: formatinfo is deprecated, please use Format instead</div>
<div>--+&gt;&gt;   DeprecationWarning)</div><div>--+&gt;&gt;   ........... done</div><div>--+&gt;&gt; 27.801u 0.343s 0:28.29 99.4%      0+0k 0+12792io 1pf+0w</div></div><div><br></div><div>-- Niels.</div><div><a href="http://nielsmayer.com">http://nielsmayer.com</a></div>

</div>