Kad*_*baz 5 audio pattern-matching audio-fingerprinting
我有两个音频文件,其中一个句子被两个不同的人阅读(如唱一首歌).所以他们有不同的长度.它们只是声音,没有任何乐器.
A1:音频文件1
A2:音频文件2
样本句子: "Lorem ipsum dolor sit amet,..."
我知道每个单词在A1开始和结束的时间.我需要自动找到每个单词在A2开始和结束的时间.(任何语言,最好是Python或C#)
时间以XML格式保存.所以,我可以逐字分割A1文件.那么,如何在具有不同持续时间(单词)和不同声音的另一个音频中找到单词的声音?
我的方法是以恒定间隔(例如每 100 毫秒)记录 dB 音量,并将该音量存储在列表或数组中。我在这里找到了一种在java上执行此操作的方法:Decibelvaluesat特定点在wav文件中。其他语言也是可能的。同时,记下最大音量:
max = 0;
currentVolume = f(x)
if currentVolume > max
{
max = currentVolume
}
Run Code Online (Sandbox Code Playgroud)
然后将最大音量除以可编辑阈值,在我的示例中,我选择了 7。假设最大音量为 21,21/7 = 3dB,我们将此度量称为 X。
我们设置第二个阈值,例如 1,并将其乘以 X。每当音量大于这个新值 (1*x) 时,我们就认为这是单词的开头。当它小于给定值时,我们认为它是一个单词的结尾。