我想用ruby构建语音识别引擎。我知道我永远不会到达那里,只是为了好玩。我需要获取存储在wav文件中的声音频率的数据,以便与我想要识别的具有不同声音的数据进行比较。 我会在ruby中编写代码,但是我不认为有任何用Ruby编写的库,如果有的话它们会太慢。 关于ruby的好处是我可以通过IronRuby或Java通过Jruby为.net使用库。 我怎样才能得到频率数据?如何从wave文件中获取音频数据?
3
A
回答
3
波形文件不是太复杂,实质上它只是一系列音频样本:http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html。
一旦您可以读取样本,下一步就是通过FFT转换来运行它们,以便获取频率内容。应该有一些可以使用的开源实现,或者你可以自己实现一个。
你所要做的事情需要对信号处理背后的音频和数学有所了解,所以也许你会想从一本关于这个主题的书开始。
0
您应该阅读一些关于说话人识别的论文。而且你也可以在因特网上找到许多库来解决这个问题。 要建立一个说话人识别系统(可以识别系统或验证系统),你需要:
好音频功能(你想找到的东西,将描述你有每个扬声器明确地声音数据集)中,大多数音频特征是在分类术语频谱上提取的(这意味着对信号应该静止的音频信号的小帧采取的信号进行FFT处理)。但我们从不将频谱本身(FFT的对数)作为描述符(频谱中太多无用的信息)。描述某人的声音最重要的是频谱的包络。你一定要看一下名为MFCC的音频描述符(对于Mel频率倒谱系数),这是广泛用于扬声器识别任务的音频特征的动机。
那么你还需要一个好的分类器(类似于GMM,SVM ...),因为这个问题是使用监督机器学习算法解决的。基本上,您需要为每个想要识别的扬声器训练模型,然后使用尚未用于训练的数据测试模型。该模型
相关问题
- 1. 如何从mp3文件中提取音频数据?
- 2. 如何读取MP3文件,从音频中分离元数据?
- 3. Wave文件 - 处理特定的音频数据块
- 4. 从Google Assistant获取音频数据
- 5. 从PCM数据获取音频信息
- 6. 如何从Wave Out捕获PCM数据
- 7. 从存储获取音频文件
- 8. 从MIDI文件获取音符数据
- 9. 如何从java中的音频文件中提取数字值
- 10. 如何获取Wave Wave的Wave ID和Wave ID的内容?
- 11. 从视频和音频文件中提取语音的文本
- 12. 如何使用音频文件服务获取音频文件的原始数据?
- 13. 如何从音频文件中提取MDCT系数?
- 14. 如何从Macbook麦克风获取音频数据?
- 15. 从MP3/MIDI文件中提取音频数据
- 16. 如何从Soundcloud获取音频?
- 17. 从YouTube视频中获取音频
- 18. 从音频流中提取元数据
- 19. 如何从音频设备ID获取音频设备号?
- 20. Android - 我可以从音频混音器获取音频数据以播放吗?
- 21. 如何获取特定文件大小的音频文件?
- 22. 如何获取QT中的音频文件的比特率?
- 23. 如何在iPhone中获取音频文件的细节
- 24. 如何从.xml文件获取数据
- 25. 如何捕获音频数据的Java
- 26. 从音频文件
- 27. 从音频文件
- 28. 如何通过使用音频文件ID获取soundcloud音频下载网址
- 29. 获取音频缓冲区数据
- 30. 从音频(语音)文件中提取音素
+1,专门为最后的建议 – leonbloy 2010-04-25 02:26:23