Добавление звуковых эффектов (реверберации и т. Д.) В приложение потокового аудио, управляемое BackgroundAudioPlayer

У меня есть приложение для Windows Phone 8, которое воспроизводит аудиопотоки из удаленного местоположения или из локальных файлов, используя BackgroundAudioPlayer. Теперь я хочу добавить звуковые эффекты, например, реверберацию или эхо и т. Д.

Пожалуйста, не могли бы вы посоветовать мне, как это сделать? Мне не удалось найти способ подключить дополнительный код обработки звука к конвейеру обработки звука, даже после того, как я много читал о WASAPI, XAudio2 и просмотрел множество примеров кода.

Обратите внимание, что приложение написано на C#, но из моего предыдущего опыта написания кода для обработки аудио я знаю, что должен писать аудио-код на родном C++. Грубо говоря, мне нужно найти точку, в которой есть аудиобуфер, содержащий необработанные данные PCM, которые я могу использовать в качестве входных данных для моего кода обработки звука, который затем будет записывать либо обратно в тот же буфер, либо в другой буфер, который читается следующий этап обработки звука. Должны быть способы синхронизации того, что происходит в моем коде с остальными механизмами обработки звука телефона, и, конечно, процесс должен быть очень быстрым, чтобы не вызывать сбои звука. Или что-то типа того; Я привык к тому, как работает VST, а не к тому, как такие вещи могут работать в мире Windows Phone.

Будем рады видеть то, что вы предлагаете...

С уважением,

Мэтт Дейли

1 ответ

Решение

Мне нужно найти точку, в которой есть аудио-буфер, содержащий необработанные данные PCM

AFAIK нет такой точки. На этой странице MSDN указывается, что декодирование аудио / видео выполняется не ОС, а самим чипом Qualcomm.

Вы можете использовать что-то вроде Mp3Sharp для декодирования. Таким образом, mp3 будет декодироваться на CPU вашим управляемым кодом, вы можете вмешиваться / обрабатывать, как вам нравится, а затем подавать PCM в источник медиа потока. Главный недостаток - срок службы батареи: аппаратные кодеки должны быть намного более энергоэффективными.

Другие вопросы по тегам