【问题标题】:Determine the audio frequency of sound received via the microphone确定通过麦克风接收到的声音的音频频率
【发布时间】:2010-10-11 08:07:04
【问题描述】:

我正在尝试了解如何确定通过麦克风在手机上捕获的各种声音的频率。

我正在尝试显示一个绘制音符频率的图表。

【问题讨论】:

  • 频率”非常非常不可能发生。即使你演奏的是纯音(这在物理上已经不可能了),麦克风也会捕捉到其中具有多种频率的嘈杂变体。您对信号处理理论的熟悉程度如何?

标签: android signal-processing


【解决方案1】:

大多数乐器产生的“音符”可能包含大量频率的频谱内容。此外,“音符”的频谱可能包含也可能不包含人类称之为音符音高的显着峰值。所以你甚至可能没有问正确的问题。

this stackoverflow question 的一个回答中对此问题有更多评论。

频谱仪(通过重复使用 FFT 或其他滤波器组)是一种常用技术,用于以图形形式显示捕获的声音中包含的频率,并在时间响应与频率分辨率之间进行权衡。

Apple 的 aurioTouch 示例应用程序中有示例光谱仪代码,可从 iOS 开发者网站获得。

【讨论】:

    【解决方案2】:

    记录音频流并计算过零次数。那应该给你频率。 但要谨慎选择合适的采样率。

    【讨论】:

    • 我应该根据什么选择合适的采样率?
    • 我会遵循Nyquist Frequency,这表明采样率应该是最高频率的两倍。因此,以某种方式确定找到最高频率的方法(也许您已经知道它,也许您可​​以在读取频率时对其进行更新),并使您的采样率翻倍。
    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 2015-10-31
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多