1

嗨,我正在尝试创建一个重复的 dtmf 音调,以便我可以使用 AVAudioPlayer 播放它。目前,当我在一些音频编辑软件(如 Audacity)中循环播放时,在重复播放的位置总是会出现故障或音调变化。是否有一些特定的时间长度我需要创建它来避免这种情况。我最初大胆地创建了一个一秒钟的 dtmf 音调,但这并不能顺利地重复。

4

1 回答 1

0

它不能顺利地重复,尽可能多地尝试。

您应该计算两个频率的周期,并相应地计算循环长度。

例如,如果您结合 770 和 1336 赫兹,那么您的最小样本是 1000/770= 和 1000/1336。

然后,在此处使用您的采样率。让它成为 44100。您的样本长度为:

1000*44100/770 = 57272 个样本

1000*44100/1336 = 33009 个样本

该长度的最小公倍数是 1890491448,就秒而言,这将是 42868 秒。

所以,创建一个循环并播放它是不可行的。

您可以:动态创建正弦波并将其混合,或为基频创建正弦波样本,然后将它们混合或同时播放。

于 2010-10-14T22:21:10.250 回答