How to objectively compare the sound quality of two files?

I have used the avconv utility to convert an MP4 file downloaded from Youtube to an MP3:

$ avconv -i RembrandtPussyhorse.mp4 RembrandtPussyhorse.mp3 avconv version 0.8.9-6:0.8.9-0ubuntu0.12.10.1, Copyright (c) 2000-2013 the Libav developers built on Nov 9 2013 19:12:35 with gcc 4.7.2 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'RembrandtPussyhorse.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2013-06-23 14:26:41 Duration: 01:03:42.60, start: 0.000000, bitrate: 167 kb/s Stream #0.0(und): Video: h264 (Constrained Baseline), yuv420p, 384x288, 69 kb/s, 25 fps, 25 tbr, 50 tbn, 50 tbc Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 96 kb/s Metadata: creation_time : 2013-06-23 14:27:30 Output #0, mp3, to 'RembrandtPussyhorse.mp3': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 TDEN : 2013-06-23 14:26:41 TSSE : Lavf53.21.1 Stream #0.0(und): Audio: libmp3lame, 44100 Hz, stereo, s16, 200 kb/s Metadata: creation_time : 2013-06-23 14:27:30 Stream mapping: Stream #0:1 -> #0:0 (aac -> libmp3lame) Press ctrl-c to stop encoding size= 89594kB time=3822.65 bitrate= 192.0kbits/s video:0kB audio:89593kB global headers:0kB muxing overhead 0.000284% $ ls -la -rw-rw-r-- 1 dotancohen dotancohen 91743973 Dec 26 11:24 RembrandtPussyhorse.mp3 -rw-rw-r-- 1 dotancohen dotancohen 80171515 Jun 24 2013 RembrandtPussyhorse.mp4 

Notice that the MP3 file (audio only) is now larger than the input MP4 file (audio and video). Double-blind listening tests with the two files leads to consistent results within people (i.e. the same person says that the same file sounds better) but inconsistent across people (i.e. different people disagree as to which is better).

Is there any objective way to determine if the sound quality degraded in the conversion? I don't have the original CD to compare to. I do realize that sound quality could not have increased, but if there is a tool that could, say, analyze the waveform or such and give a value of 'quality' then I would be interested. This needs to run on Kubuntu Linux. Thanks.

1

4 Answers

If you truly want an objective measure, load both files into a tool that can do basic effects processing and mixing (Audacity for instance), and then invert one and mix them together. What ever is left is the difference between the two files - if they were identical, only pure silence should remain.

1

The most scientific way to identify changes or degradation between the two files is viewing the waveform on an oscilloscope.

You can use a audio editing program like Audacity to see if there is any clipping in either file. You may also want to apply a limiter or replay gain to the file.

Foobar has an ABX Comparator tool that will do a blind comparison of two audio files or clips. The listener votes a specified number of times as the tracks are played and the results are shown at the end so that the listener is not influenced by right or wrong answers throughout the test.

2

What you could do is to import both files in a audio editor such as Audacity. Invert one of the imported songs and you can now listen to the "difference" between them. Note that you have to be spot on e.g. the waveform need to be perfectly aligned for this to work.

From here on you can see what is "missing" (or added) to the source waveform and a spectrum analyzer or spectrogram will show you the details.

You can use Audacity to open file and review the waveform, it would be a manual process.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like