Aside taking screenshots of my favourite DAW software in waveform or frequency view and comparing them, what solution can I use for compare 2 audio waveforms ?

For example if i have 2 video with visual differences I tend to put both on a timeline with "difference" blending mode and check if the video resulting is full black or there's some kind of minor visible differences.

I'm conforming to EBU R 128 one waveform, I want to check if the outputted audio file is identical to the original, or if there was some changes in terms of waveform and decibel correction.

There are plugins, software ways (I'm using Adobe Audition) or ffmpeg commands to show changes in a visual and / or a numeric way (such the pnsr or ssim used for video) ?

The best for me would be a software solution able to show both the waveform with 2 colors and overlayed one over the other for visual comparison + some kind of numeric comparison.

Basically I'm looking for a "Compare / Diff" of notepad++ but for Audio Waveforms.

  • 1
    What about comparing audio statistics? – llogan Sep 15 '17 at 17:08
  • @LordNeckbeard could work but I want to actively see what changed in the precise timecode, statistic could show me a difference but not so precise, right ? – user3450548 Sep 15 '17 at 23:05
  • 1
    Keep in mind that loudness is always integrated over time. Generally the most precise you can get is 1 second intervals. That said, I haven't come across a loudness workflow like this before. You may want to re-evaluate what you are trying to accomplish and see if you can use the available tools like ffmpeg ebu r128 video option or the Adobe/TC Electronic Loudness Radar to do that. – Michael Liebman Sep 18 '17 at 0:13
  • For numerical comparison, amerge the two inputs, then use aeval to output their difference. Halve each input, so that the result isn't clipped. For visual comparison, I believe the showwaves filter produces a transparent background, so overlay one on the other. – Gyan Sep 23 '17 at 9:47

You could try a SoX and imagemagick solution, which could visually diff spectrograms, for example:

# generate spectrograms with SoX
$ sox 0000001353.noframedrop_Lg.small_1_edit.ogg -n spectrogram -arl -o spectrogram_1.png
$ sox 0000001353.noframedrop_Lg.small_2_edit.ogg -n spectrogram -arl -o spectrogram_2.png

# imagemagick
$ composite spectrogram_1.png spectrogram_2.png -compose difference spectrograms_difference.png

This could give you a quick heads up if there is a difference, similar to how you do for video streams, however is not suited to precisely locating TC positions. Below is an example with one of two source SoX spectrograms generated above (10min speech), and its imagemagick comparison with the other (nonblack indicates a difference):

spectrogram_1.png spectrograms_difference.png

| improve this answer | |

At this time I don't know solution to effectively compare sound. So, I worked on tool to solve my needs. Using fftw3, I calculated spectrums and make images like that:

enter image description here

Every color represents each channel. This sample from 5.1 sound.

Each color has 3 tracks: 1 file. 2 file (normalized to level of 1 file, difference of 1 and 2. Top line - level RMS and maximum level, bottom line - spectral representation.

I faced many problems, like different levels, normalization of both signals and so on. At some point, I lost my interest. Unfortunately, I don't finished this tool, as I don't need it anymore.

But I hope, this can give any ideas for you.

| improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.