语音分段

时间:2011-11-17 17:55:51

标签: java android voice-recognition similarity

我正在帮助一个农场按照他们的鸣叫将群体分组,以便具有相似打鸣的雄鸽将生活在一起。这位农民说,他想知道鸡是否会从别人那里学到任何行为,如果有的话,每当他得到一只小鸡,他就会把它变成一个好鸡群,并希望它能给新的小鸡带来一些好的影响。我的工作是记录每个组的拥挤相似性,几周后,比较结果,看看组中的任何增加的相似性。

我的想法是编写一个程序,为两个输入的wav文件提供相似性分数,因此每个公鸡可以找到最相似的室友并组成组,然后将相似的组分组,最后分组到多个组。

我有3只公鸡的啼叫,并用光谱图分析(每只公鸡挤了两次):

公鸡A:

first crowing from cock A second crowing from cock A

公鸡B:

first crowing from cock B second crowing from cock B

公鸡C:

first crowing from cock C second crowing from cock C

在计算相似度之前,我想将打鸣分成若干段,这样每个段保留一定的频率(稍后将用于计算相似度)。我目前的解决方案是:

步骤1:当强度线不连续时,声音会被间隙分开;
第2步:当频率发生严重变化时,该时间将被视为某个细分受众群的边界

我在考虑上面的步骤是否足够。我希望其他人有更好的建议,如何改进细分。有没有什么方法或算法适合我的情况?谢谢!

2 个答案:

答案 0 :(得分:2)

最好的方法是使用一些语音识别技术。我用这个项目来识别鸟歌。就我而言,我使用HTK(隐马尔可夫工具包)来构建能够识别鸟类歌唱的HMM。 您可以将Mel刻度更改为与您的案例更相似。 Mel量表(来自MFCC)与人类声音有关。如果你在谷歌搜索,有一些与鸟类相关的论文会改变梅尔或巴克(PLP)的规模以匹配动物的声道。

您将需要许多样本来获得稳健的训练HMM参数并分析有多少状态是最好的。我建议这三首歌中至少有100个样本,并使用3个发射HMM状态。 我可以帮你建立一个HMM系统。请联系我。

路易斯·尤贝尔 ASR实验室 www.asrlabs.com.br

答案 1 :(得分:1)

去年我们有一些与语音相关的项目。这可能有点类似。我记得使用机器学习工具和库是非常有用的,例如weka,rapidminer,encog。使用交叉验证测试示例是值得的。可能值得测试的参数:MFCC,YIN。我认为所有相关的语音识别主题可能对您有用:)