Я хотел бы изменить входящий сигнал в режиме реального времени и отправить его на динамики устройств iOS. Я читал, что для таких задач можно использовать AVAudioEngine. Но не могу найти документацию или примеры того, чего я хотел бы достичь.
Для целей тестирования я сделал:
audioEngine = AVAudioEngine()
let unitEffect = AVAudioUnitReverb()
unitEffect.wetDryMix = 50
audioEngine.attach(unitEffect)
audioEngine.connect(audioEngine.inputNode, to: unitEffect, format: nil)
audioEngine.connect(unitEffect, to: audioEngine.outputNode, format: nil)
audioEngine.prepare()
и если нажать кнопку, я просто делаю:
do {
try audioEngine.start()
} catch {
print(error)
}
or audioEngine.stop()
.
Эффект реверберации применяется к сигналу, и я слышу, что он работает. Итак, теперь я хотел бы избавиться от реверберации и:
- модулировать входящий сигнал, например инвертировать сигнал, модулировать частоту и т. д. Есть ли какой-то набор эффектов, которые можно использовать, или возможность каким-то математическим образом модулировать частоту?
- При запуске на устройстве iOS я получаю здесь реверберацию, но вывод идет только на верхний динамик телефона, а не на громкий нижний. Как это изменить?