12

Example: I have two versions of one song, and one of them misses some parts. I want to see which parts are missing and which are different.

I see interface of such program as two adjacent waveforms, moved apart and highlighted in places of differences. In other words, audio equivalent of diff/merge text tools interface.

  • Platform: desktop
  • Preferably cross-platform
  • Preferably Free and Open-Source Software, but I'll consider other options too
5

Download and install python, numpy, graphplotlib and audiolab you can then:

  • Load audio files into numpy arrays using audiolab.
  • Diff the arrays.
  • Plot the result.
  • Learn a lot... it's all free
  • PLOT the result. You can learn a LOT.. – Devin G Rhode Jul 24 '16 at 0:47
  • Surely this might only work for losslessly compressed files? (and even then, finding shifted segments are significantly more complicated than "diff the arrays") – Gert van den Berg Dec 15 '18 at 8:13
  • @GertvandenBerg The process above does decompress the signal but you are correct that there will be some difference if lossy compression has been used - in that case some filtering &/or minimum difference levels will be needed. The above does have the facilities for that but it will require some user experimentation for how close is close enough hence the plotting stage. – Steve Barnes Dec 15 '18 at 10:53
  • 1
    I'm thinking that building something based on chopping the files up and using phash on parts (shifted by various amounts in case they don't start at the same time) might work... (Not very simple to implement though...) There might also be some uses for convolution functions... None of that is simple though... – Gert van den Berg Dec 16 '18 at 11:24
  • @GertvandenBerg there is a set of python bindings for libphash. – Steve Barnes Dec 16 '18 at 12:05

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.