I would like to make sort kind of "speech recognition" system.
The goal is to compare a new recording with an original audio file, and if the sound is > x% similar, do something.
Is there already a tool doing something similar ?
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
Well, I am happy to introduce you to the Speech Recognition world :) In fact there is a lot of research in this topic, but there is not a tool that is established at all in UNIX systems. Here is a post with a extensive list of tools...even when not effective tools actually. Is there any decent speech recognition software for Linux?
For comparing purposes, you can search about Dragon Naturally Speaking, the clear winner in Windows systems.
Although this is old question I came recently over two audio files which I needed to compare. While it is not automated process I used Mixx software and compare the waveforms. If it is the same than the songs are the same. Otherwise you should be able to see the diffrence (even the smaller ones). See this picture - there are two waveforms on the top and even if by hearing the songs are same the waveforms shows that there is actually difference between them (the small waveforms looks the same however);
The only tool that's able to do that is probably shazam... However, you can't use it for your own recordings. You may want to take a look at accoustic fingerprinting !
I would use Audacity, a multi-tools audio software.
As described here  you can use "Invert" and "Mix and Render" tools.
With this kind of comparison you will get a new audio track with as much noise as much the input files differs.
Now you can analyze it visually or you can perform a "Plot spectrum" and export result in text.