【问题标题】:Finding the frequency of a sine wave in the microphone找出麦克风中正弦波的频率
【发布时间】:2012-01-31 22:55:34
【问题描述】:

我正在寻找一种方法来获取插入 Windows PC 上麦克风插座的录音机的正弦波频率。这是我正在做的一个小项目,看看我是否可以在录音带上存储数据,所以我将在磁带上读取和写入频率以存储数据。

谢谢

【问题讨论】:

  • 任何编程语言要求?您会录制到 .wav 文件然后处理 wav 文件,还是实时流式传输数据?
  • 到目前为止你尝试过什么?什么有效?什么没有?请注意,您在任何时候都不会从麦克风中获得一个清晰的波。无论如何,你可能想看看古代极客使用的方法,这样你就不会最终重新发明一个方形轮子——例如。 en.wikipedia.org/wiki/ZX_Spectrum_software#Tape

标签: windows audio frequency


【解决方案1】:

如果在任何给定时间只有一个正弦波,您可以计算信号每秒多少次将其值从正数变为负数(IOW,越过 0)或相反,这将为您提供频率。或者您可以测量连续过零之间的时间。这是一个非常简单且便宜的解决方案。

【讨论】:

    【解决方案2】:

    估计正弦波频率的一种简单方法是进行频谱分析并寻找“最大”频率(大致):

    1. 从音频中提取一段音频(例如 256 个样本) 文件,或来自音频输入
    2. 窗口音频块^
    3. 计算其功率谱(使用 FFT 算法^^)
    4. 寻找主频,应该是正弦波的频率
    5. 重复直到获得音频数据

    我希望它能很好地处理简单的音调。

    ^ 见http://en.wikipedia.org/wiki/Window_function

    ^^ 有很多可用的 FFT 实现,例如 http://www.fftw.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 2015-12-16
      • 2023-04-06
      • 2018-02-05
      • 1970-01-01
      • 2018-06-20
      • 2020-09-01
      相关资源
      最近更新 更多