Как преобразовать звуковой поток AMR в несжатый поток PCM в .NET - PullRequest
1 голос
/ 08 октября 2010

Мне нужно преобразовать аудиофайл AMR ( Adaptive Multi-Rate ), записанный в телефоне (в виде объекта Stream), в несжатый wav-аудиопоток PCM, чтобы впоследствии его можно было обработать для распознавания речи.Распознавание речи не любит формат AMR.Это будет серверное приложение, использующее Microsoft Speech Platform .Я не уверен в использовании ffdshow или аналогичных библиотек в.

Сейчас я исследую NAudio и DirectShowNet, чтобы выяснить, могут ли они помочь мне в этом, но надеялся, что кто-то может указать в правильном направлении.*

1 Ответ

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

После долгих поисков решения для этого я собираюсь использовать ffmpeg . Он обеспечивает декодер AMR-NB (NB = Narrow Band). Существует множество обёрток c # для ffmpeg ; большинство из них отказались от усилий, и одна из них актуальна, но не бесплатна. Просто запуск ffmpeg с основными параметрами обеспечивает то, что мне нужно, плюс это действительно быстро.

Мне не нравится идея вызова внешнего процесса для выполнения преобразования, плюс мне нужно сохранить поток AMR в виде файла, чтобы его можно было преобразовать в файл wav, но я считаю, что могу заставить его работать эффективно.

...