gpt4 book ai didi

c - [portaudio]传输和检测频率 - Windows

转载 作者:行者123 更新时间:2023-11-30 15:56:10 26 4
gpt4 key购买 nike

我是 portaudio 的新手,我查看了“如何提取频率...”问题,但我仍然希望获得一些帮助。我需要传输一个频率(使用扬声器),然后我想检查这个频率是否被传输(在麦克风中捕获它),当然我想使用 portaudio 进行发送和检测。另外,我不知道如何使用 fft 进行检测,因为我看到了记录示例,他们使用样本数据类型,并且使用这种数据类型,他们可以找到最大幅度,我可以用它来查找频率吗?

提前tnx。

最佳答案

播放简单的音调为 sample code在 PortAudio 中。

虽然这里的音调不是根据具体数字计算出来的,但很容易算出来:

amplitude[n] = sin( n * desiredFreq * 2 * pi / samplerate )

正如在 PortAudio 示例代码中一样,您可能需要考虑使用查找表,而不是每次调用都依赖 sin() ,这既是为了性能(也是为了大量的 sin 的准确性,这可能很好,但我'我不确定)。

检测正在播放的频率是 SO 上提出的一个问题。 Here这是我最近给出的答案。

结果是,有很多方法,具体取决于您的技能水平以及背景噪音等问题。如果您只是检测一个简单的正弦波并且预计不会有很多噪声,那么在确保信号高于某个阈值后,您最好只计算过零。如果您确实希望听到噪音,那么您就必须变得更漂亮。

关于c - [portaudio]传输和检测频率 - Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com