Am Donnerstag, den 28.01.2016, 14:00 +0100 schrieb Pander: > On 01/28/2016 01:51 PM, Markus Glugla wrote: > > Am Mittwoch, den 20.01.2016, 03:37 +0100 schrieb Thor Andreassen: > >> On Fri, Jan 08, 2016 at 03:31:18PM +0100, Markus Glugla wrote: > >>> Hi, > >> > >> Hi Markus > >> > >>> I read the spectrogram threads and affiliate a request. I'm using > >>> sometimes sox spectrogram to get an spectral overview of various > >>> measurement datas. But i want to plot the spectrogram with other tools > >>> e.g. gnuplot. > >>> > >>> I would be very grateful if it were possible to output the spectrogram > >>> data as plotable values in a file or stream. Does anybody have the > >>> same intention and more experience than me to produce a patch? > >> > >> I have been planning to implement an amplitude and water-fall output, > >> that can be sent to Gnuplot. I will need these in the coming months, so > >> perhaps it will get done. > >> > >> A crude way of getting the raw numbers could be to use the color values > >> from the generated png file, e.g. with Imagemagick: > >> > >> sox -n -n synth 1 synth 1k:5k spectrogram -r -o - | > >> convert png:- txt:- | > >> > >> # translate into Gnuplot compatible input > >> awk -v FS='[,:() ]+' 'NR > 2 { print $1, $2, > >> ($3+$4+$5)/3 }' | > >> awk 'NR > 2 && $2 != prev { printf "\n" } { prev = $2 > >> } 1' \ > >> > spectrogram.dat > >> > >> Note the use of the `-r` option to sox, which omits all decorations. See > >> `sox --help-effect spectrogram` for more. > >> > >> Now plot the data file with Gnuplot: > >> > >> echo 'splot "spectrogram.dat" with pm3d' | gnuplot --persist > >> > >> If you want to get at the raw spectrogram, you need to patch > >> spectrogram.c. The attached patch works best with single channel files. > >> Use the new `-O filename` switch to save the binary data. > >> > >> The default output is a sequence of floats which are 4 bytes long. This > >> is also Gnuplots default for binary input. This means you can plot the > >> output like this: > >> > >> echo 'plot "<sox -n -n synth 1 sine 1k:5k spectrogram -O -" \ > >> binary array=(513,800) flipy rotation=90d with image' | > >> gnuplot --persist > >> > >> Note that if your output from sox is short, the spectrogram dimensions > >> will be different from 800x513 and Gnuplot will barf. > >> > > Hi Thor > > > > Thank you for your source code and your patch. I enjoy about your idea > > which increases the productivity. > > > > It is also in my opinion to use gnuplot as plotting tool to create > > spectrogram in the same, my, style. > > > > I also think about the grab the spectrogram datas via imagemagick. But > > in this case it is easier to use GSL. > > > > Thank you for your help. Your code snippets are very informative. > > > > Markus > > Make sure to validate what the impact is of including or omitting the > last sample as it often is not complete and distorts the spectrum, see > my earlier analysis with graphs illustrating that. >
I read your hints, thank you very much. I think, it is typical of FFT which needs a even number of samples (2n). On short sequences, the 2n FFT array is longer than the sequence you get also porblems. A FFT with a number of less than 2n will be incorrect. I think it's better to cut the sequence on right position to 2n before FFT, is'nt? What is with windowing? Thank you for your hint, Markus > > > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > _______________________________________________ > > SoX-devel mailing list > > SoX-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/sox-devel > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > SoX-devel mailing list > SoX-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/sox-devel ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ SoX-devel mailing list SoX-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sox-devel