如何在.NET中将AMR声音流转换为PCM未压缩流

时间:2010-10-07 20:18:56

标签: c# audio speech-recognition pcm amr

我需要将手机中记录的AMR(自适应多速率)音频文件(作为Stream对象)转换为PCM未压缩的wav音频流,以便之后可以对其进行处理以进行语音识别。语音识别不喜欢AMR格式。这将是使用 Microsoft Speech Platform 的服务器应用程序。我不确定在。

中使用ffdshow或类似的库

现在我正在研究NAudio和DirectShowNet,看看他们是否可以帮助我实现这个目标,但希望有人能指出正确的方向。

1 个答案:

答案 0 :(得分:0)

经过大量搜索解决方案之后,我将使用 ffmpeg 。它提供AMR-NB(NB =窄带)解码器。 ffmpeg 周围有很多c#包装器;他们中的大多数人放弃了努力,一个是最新的但不是免费的。只需使用基本参数运行 ffmpeg 即可提供我所需要的功能,而且速度非常快。

我不喜欢调用外部进程进行转换的想法,而且我需要将AMR流保存为文件,以便将其转换为wav文件,但我相信我可以使其高效工作。