<p>You could try a <a href="http://sox.sourceforge.net/" rel="nofollow noreferrer">SoX</a> and <a href="https://www.imagemagick.org/" rel="nofollow noreferrer">imagemagick</a> solution, which could visually diff spectrograms, for example:</p>

<pre><code># 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
</code></pre>

<p>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):</p>

<p><a href="https://i.sstatic.net/GHgW7.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/GHgW7.png" alt="spectrogram_1.png"></a>
<a href="https://i.sstatic.net/8HWnd.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/8HWnd.png" alt="spectrograms_difference.png"></a></p>

CC BY-SA 3.0
2017-09-25T21:01:33.833Z
2017-09-25T22:37:20.793Z
2017-09-25T22:37:20.793Z
GainRider
<p>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:</p>

<p><a href="https://i.sstatic.net/8ER2V.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/8ER2V.jpg" alt="enter image description here"></a></p>

<p>Every color represents each channel. This sample from 5.1 sound.</p>

<p>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.</p>

<p>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.</p>

<p>But I hope, this can give any ideas for you.</p>

CC BY-SA 3.0
2017-09-18T03:17:13.963Z
2017-09-18T03:17:13.963Z
bukkojot
<p>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 ?</p>

<p>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.</p>

<p>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.</p>

<p>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) ?</p>

<p>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.</p>

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

CC BY-SA 3.0
2017-09-15T17:08:25.153Z
What about comparing [audio statistics](http://trac.ffmpeg.org/wiki/AudioChannelManipulation#Statistics)?
llogan
CC BY-SA 3.0
2017-09-15T23:05:19.733Z
@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
CC BY-SA 3.0
2017-09-18T00:13:33.550Z
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](https://ffmpeg.org/ffmpeg-all.html#ebur128-1) or the [Adobe/TC Electronic Loudness Radar](http://www.tcelectronic.com/adobe-loudnessradar/) to do that.
Michael Liebman
CC BY-SA 3.0
2017-09-23T09:47:12.060Z
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
<ffmpeg><audio><audition>
Comparing audio waveform in a visual and / or numeric way
user3450548
# Comparing audio waveform in a visual and / or numeric way

(Asked by: username_0 on 2017-09-15)

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.

**Tags:** ffmpeg, audio, audition

> **Comments:**
> **username_1**: What about comparing [audio statistics](http://trac.ffmpeg.org/wiki/AudioChannelManipulation#Statistics)?  
> **username_0**: @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 ?  
> **username_2**: 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](https://ffmpeg.org/ffmpeg-all.html#ebur128-1) or the [Adobe/TC Electronic Loudness Radar](http://www.tcelectronic.com/adobe-loudnessradar/) to do that.  
> **username_3**: 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.  

---

## 2 answers

### Answer by username_4 on 2017-09-25. Score: 3

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):


---

### Answer by username_5 on 2017-09-18. Score: 1

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](https://i.sstatic.net/8ER2V.jpg)](https://i.sstatic.net/8ER2V.jpg)

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.


---

