播放纯声音(一个频率)并识别频率 C++
Posted
技术标签:
【中文标题】播放纯声音(一个频率)并识别频率 C++【英文标题】:Play pure sound (one frequency) and recognize frequencies C++ 【发布时间】:2014-10-15 22:52:52 【问题描述】:我想知道:
- 是否有用于OS X
的 C++ 库,可以让我播放纯正的声音
- 同样对于OS X
,是否有一个库可以让我找到来自现场麦克风(不是录音)的声音频率
对不起我的英语不好
【问题讨论】:
这些是截然不同的要求。播放给定频率的音调是一件非常普通的事情,我希望标准的 OSX 运行时本身具有某种功能。检测传入音频的频率需要相当多的数学运算,对采样的音频进行傅里叶变换。我使用 Python 的 numpy 包为采样音频执行此操作(在我的情况下,我不需要实时执行此操作,但我确信这是可能的)。 【参考方案1】:对于音调生成,您可能会遇到STK,如果它有示例代码来执行您的要求,我不会感到惊讶。 (见sinewave)
查找输入信号的频率是一个复杂的问题,根据您的需要有多种解决方案。 Cinder++ 有一个 FFT 类,等等。
如果您愿意使用 C++ 以外的其他工具,那么可以使用特定于音频的语言和工具来帮助您完成这些事情。例如,您可以嵌入SuperCollider。
【讨论】:
我想我在 Cinder++ 中找到了我想要的东西。但我必须让一切正常。非常感谢。以上是关于播放纯声音(一个频率)并识别频率 C++的主要内容,如果未能解决你的问题,请参考以下文章