播放纯声音(一个频率)并识别频率 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++的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中的简单声音

C++ 特定的声音输出? [关闭]

绘制录制声音时的奇怪频率

什么软件可以创作声音,主要可以定义声音的频率,连续播放

用于播放固定频率声音的 Python 库

如何播放特定频率和框架的声音未找到音频单元问题