Related questions on this site that unfortunately don't match my use case:

The DSP Stack Exchange site has nothing of value to offer:


I download files from the Internet (YouTube, Vimeo, etc.), or transcode stuff from my FM radio. I would like to be able to calculate (from the command line) the following:

  • (ideally) a pair of numbers: average Signal-to-Noise-Ratio (SNR) and its variance for the recording as a whole
  • (not so ideally) a sequence of SNR values for e.g. each time slice of the recording (a second, a tenth etc.)
  • (would work at a pinch) a spectrogram for each time slice of the recording

...using only GNU/FOSS command line tools - FFmpeg and anything I can get in source tarball form.

P.S. Can I do it with sox?

  • Turns out the question is quite involved, and sox offers no definite solution (but allows one to get the spectrogram from the command line). ITU-R BS.468-4 standard filters should be used (unless one wants to go full U.S. of A with A-weighting). – Phil's sox May 8 '17 at 18:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.