比较声音在App
回答
这个论坛线程有一个很好的答案(约三下) - http://www.dsprelated.com/showmessage/103820/1.php。
诀窍是从mp3获取解码音频 - 如果它们只是短'你好'的声音,我会将它们作为wav存储在应用程序中,而不是解码它们(尽管我从未使用CoreAudio或任何其他的框架之前,如此MP3解码到内存可能很容易)。
当你有你的参考WAV和录制的WAV,按照上述在后的步骤:
1做任何必要将文件转换.WAV他们离散时间 信号:
http://www.sonicspot.com/guide/wavefiles.html
2时间扭曲或可能取决于两个采样率之间的差异 可能没有必要:
http://en.wikipedia.org/wiki/Dynamic_time_warping
3时间扭曲后,截断两个信号,使其持续时间为 等效。
4计算归一化的能量谱从DFT的两个信号密度(ESD):
http://en.wikipedia.org/wiki/Power_spectrum。
6计算两个 信号的归一化的ESD的之间的平均平方误差(MSE):
http://en.wikipedia.org/wiki/Mean_squared_error
归一化的ESD的两个 信号之间的MSE是 亲近良好度量。如果你说有10个文件,其中2个近似是 相同,但其他的不是,这两个近距离的 应该有一个相对较低的MSE 。两个完美 相同的信号显然具有零 MSE。理想情况下,两个“当量” 信号以不同的时间尺度, (20秒的人交谈与 5秒金花鼠),不同能量 (软说话人VERUS叫喊 金花鼠),以及不同的相位 (取样开始在 即时连续时间 输入);应该还是有一个零, MSE但 固有的量化误差DSP将产生MSE稍大 大于零。
你应该得到两个不同的MSE值,一个你阳 - >录制的音轨之间以及雌性 - >录制的音轨之间的一个。与最低差异的比较可能是正确的性别。
我承认,我从来没有试过这样做,它看起来很难 - 祝你好运!
Dean非常感谢你为这些钥匙。至少我会尝试,如果我创造了一些东西,我会在这里举例。 – fyasar 2010-09-18 11:17:44
- 1. 比较影像和声音
- 2. 比较Android中的两个声音
- 3. 用于比较声音的java sdk
- 4. 比较不相同的声音文件
- 5. 比较声音文件和实时语音与音乐g
- 6. 语音识别和声音比较与音乐g
- 7. 音频比较
- 8. Android比较拼音匹配的两种声音
- 9. 比较两个音频文件。声音匹配
- 10. 如何将声音输入与预先确定的声音进行比较?
- 11. Java音频比较
- 12. 在bash中比较声音文件的长度
- 13. JavaScript比较声明
- 14. 比较两个语音
- 15. 与R的音频比较
- 16. 音频文件比较(JAVA)
- 17. FFT和音乐比较
- 18. 比较声音文件,如果不完全相同
- 19. 机器人框架,如何比较声音,视频文件
- 20. 比较相同的声音两个记录
- 21. 如何比较C#中的两个声音....?
- 22. 比较简单的声音 - 什么是最接近的频率
- 23. mysql计数比较声明
- 24. 帮助比较声明
- 25. 比较两个声波
- 26. 加入声明和比较
- 27. PHP回声效率比较
- 28. 比较android上的哨声
- 29. 在Python中比较德语变音词
- 30. Android App按住按钮播放声音
你是指_compare_?你的意思是他们是相同还是你的意思是他们是相似的,即相同的长度,相同的音量? – deanWombourne 2010-09-17 12:11:29
其实我想检查一下相似度,比如一个声音文件包含“hello”声音,我想比较一下男人或女人录制的录制的“hello”。 – fyasar 2010-09-17 12:26:06
嗨fyasa,最后你是否解决了关于如何比较iOS中的两种声音的问题?你有什么关于这方面的提示吗? – doxsi 2012-11-16 11:34:03