New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
waveform-compare fails on pause #17
Comments
Here's another example. These two sound files were received under the same test conditions at different times, so they have a slight difference in random noise. waveform-compare fails at the beginning of the files: |
I will find time to figure out what is going on sometime this week. |
I noticed that there's sometimes a lost 20ms frame due to jitter buffer overflow -- I guess that's where the algorithm fails. At some point the samples are misaligned, and then the whole matching fails completely. |
it seems to be definitely related to slipping frames, and not to the silence. But it fails on silence blocks for some reason. |
I just had a look at your files. It seems that the silence was the reason for the fail in this particular instance. The silence detection is quite naive, it merely checks if the average of the absolute values in the signal is close to 0. This is a knob that you should feel free to turn up and down, I just changed it from 5.0 to 10.0 (each value of the signal is a 16-bit integer, so 10.0 is still really close to 0 I would say) and then this particular set of files works out fine. You can have a look at commit d0eda87 to see how to modify the threshold. We are not going to make compensations for jitter, since that would actually work against what we developed this tool to do originally. If you have a problem with jitter, I would suggest that you do a bit of processing on the verbose output to check if the reason for the fail is due to jitter |
I found a tool which is recommended by ITU and is taking jitter into account: https://github.com/dennisguse/ITU-T_pesq |
hi,
it looks like waveform-compare does not treat pauses correctly. See the WAV files at http://www.k-open.com/s/94bbcb9a.zip
In my test environment, a call is made to a telephony provider, then lands at another VoIP telephony provider, and terminates on a test server which echoes the signal back to the caller. The audio recording is done at the calling side. There are some distortions related to voice activity detection and comfort noise, which are managed by waveform-compare quite correctly. But then there's a silence pause for about 3 seconds in the source audio, and a slight noise on the received audio, and waveform-compare fails to match the frames.
94bbcb9a-3ee6-41e6-b6a6-34814367e650.wav
is the original recording from the telephone system: the first (left) channel is the received audio, and the second (right) channel is the sent audio. The pause is around 18th second.left.wav
andright.wav
are the extracted channels for the comparison input:The text was updated successfully, but these errors were encountered: