我正在开发一个应用程序,我需要一些方法来比较两个声音是否匹配,我知道语音识别器是一种方法,但由于(我认为)它需要首先将语音翻译成字符串,它不会那么适合其他语言,除了由speech recognizer....any的想法支持的语言?就像过去的电话一样,声控标签只是将语音输入与之前设置过程中录制的语音进行比较
发布于 2011-02-09 00:54:53
一种相对简单的方法是使用FFT (快速傅立叶变换)将原始WAV文件的时域数据转换为频域数据(其中变换数组中的每个值表示特定频带的相对幅度/强度)。
如果同一个人说同一个词两次,那么在两个WAV文件中产生的时域数据在数值上仍然会有很大的不同。将两个WAV文件转换到频域(对两个文件使用相同大小的FFT窗口,即使这两个文件的长度略有不同)将产生比原始WAV文件更相似的频率阵列。
不幸的是,我还没能找到任何专门针对Android的FFT库。下面是一个引用了一些基于Java的库的问题:
发布于 2011-11-10 19:33:19
一种想法是比较声音在频谱图中的相似性。语谱图的特征具有较强的鲁棒性和抗噪声能力,是分析两种声音的良好参考。如果你采用这种方法,你应该首先找出声音的特征,然后你需要知道如何比较两个频谱图中的特征,它指的是模式识别。
本接口http://code.google.com/p/musicg-sound-api/使用Java语言编写,可在安卓系统中使用。它捕捉到了波谱图。
https://stackoverflow.com/questions/4935691
复制相似问题