【问题标题】:How to let iPhone generate sound of specified frequency and amplitude?如何让 iPhone 产生指定频率和幅度的声音?
【发布时间】:2023-03-10 01:29:01
【问题描述】:

我需要我的 iPhone 在短时间内产生指定频率和幅度的恒定声音。然后我可以通过耳机听到声音。我该怎么办?

【问题讨论】:

    标签: iphone ios cocoa-touch core-audio


    【解决方案1】:

    最简单的方法是仅播放已达到所需频率的样本。如果您使用 OpenAL,那么您可以将音高从一半调整为两倍。因此,假设您有一个哔声样本,您知道它的频率为 440Hz,那么 OpenAL 允许您重现 220Hz - 880Hz 的哔声。对于连续音,我会使用另一个样本,再次以已知频率但适合循环播放并循环播放(再次使用 OpenAL)。

    任何合成器都应该能够以已知频率再现基本音调。如果您可以访问 Sound Forge,则可以使用 Tools/Synthesis/Simple 来生成简单的音调。

    这里有一个链接可以帮助你

    http://atastypixel.com/blog/using-remoteio-audio-unit/

    【讨论】:

      【解决方案2】:

      使用音频队列或 RemoteIO 音频单元 API。用适当频率正弦波的样本填充回调缓冲区:

      buffer[i] = myVolume * sinf( twoPiFrequencyOverSampleRate * i );
      

      保存回调之间的阶段以避免点击。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        • 1970-01-01
        • 2015-11-04
        • 2012-12-12
        • 1970-01-01
        相关资源
        最近更新 更多