Создание повторяющегося тона DTMF для воспроизведения с AVAudioPlayer - PullRequest
1 голос
/ 15 октября 2010

Привет, я пытаюсь создать повторяющийся тон DTMF, чтобы я мог воспроизвести его с AVAudioPlayer. В настоящее время когда я зацикливаю его в каком-либо программном обеспечении для редактирования звука, таком как Audacity, всегда есть сбой или изменение тона в точке, где он повторяется. Есть ли какой-то конкретный период времени, мне нужно создать его, чтобы избежать этого. Первоначально я создал однотонный тон DTMF в Audacity, но это не повторяется гладко.

1 Ответ

0 голосов
/ 15 октября 2010

Это не может повторяться гладко, сколько бы вы ни пытались.

Вы должны рассчитать период обеих частот и соответственно рассчитать длину цикла.

Например, если вы комбинируете 770 и1336 Гц, ваш наименьшая выборка имеет 1000/770 = и 1000 / 1336.

Затем используйте вашу частоту дискретизации здесь.Пусть это будет 44100. Ваши образцы будут иметь длину:

1000 * 44100/770 = 57272 образца

и

1000 * 44100/1336 = 33009 образцов

Наименьший общий множитель для этой длины - 1890491448, а в секундах - 42868 секунд.

Таким образом, создание цикла и его воспроизведение на самом деле не осуществимо.

Вы можете: создавать синусоидальные волны на лету и микшировать их, или создавать образцы синусоидальных колебаний для базовых частот, а затем микшировать их или воспроизводить одновременно.

...