Возможно ли смещение звука в реальном времени с помощью AudioUnit? - PullRequest
0 голосов
/ 28 июня 2011

Я играю два синусоидальных тона, генерируемых на лету с помощью AudioUnit. Мне нужно дать пользователю UISlider, который помогает ему изменять высоту тона на лету. Я застрял в настройке высоты тона для AudioUnits, предоставьте фрагмент кода для изменения высоты тона с помощью AudioUnits.

1 Ответ

1 голос
/ 29 июня 2011

Изменение тона сгенерированного сигнала, такого как синусоида, копируемого в буфер обратного вызова AudioUnit, безусловно, возможно.Как именно это изменить, зависит от того, как вы генерируете синусоидальную волну.Если по таблице посмотрите, то вы можете изменить размер шага таблицы и интерполировать.Если, вызвав функцию sinf (), вы можете изменить изменение дельта-фазы для каждого сэмпла в вызове функции, чтобы согласовать некоторые отношения с вашей позицией ползунка.и т. д.

Однако термин «сдвиг основного тона в реальном времени» часто относится к другому другому и более сложному процессу DSP, такому как фазовый вокодер, используемый для комбинированной модификации основного тона.Что ты имеешь в виду?

...