将GSM音频转换为WAV PCM

时间:2009-10-12 12:04:52

标签: c# pcm gsm

有谁知道如何通过C#将GSM音频转换为PCM WAV?我试图在互联网上找到一个可行的解决方案无济于事。

4 个答案:

答案 0 :(得分:2)

另一种选择是SoX(命令行/库)

答案 1 :(得分:1)

这是指向编码和解码GSM文件的C库的链接:

http://user.cs.tu-berlin.de/~jutta/gsm/gsm-1.0.13.tar.gz

以及指向该主题的更多信息的链接:

http://user.cs.tu-berlin.de/~jutta/toast.html

应该可以将C代码编译为DLL并使用PInvoke从C#应用程序调用它,或者将这些方法直接合并到C#app中。

将GSM数据解码为样本数据后,将其写入WAV文件非常简单。

答案 2 :(得分:0)

这适用于java,但它应该适用于C#:

http://www.jsresources.org/faq_audio.html

答案 3 :(得分:0)

请参阅以下http://alvas.net/alvas.audio,articles.aspx#mp3-to-wav-without-desktop-experience

中的代码
void AnyToWav(string fileName)
{
    DsReader dr1 = new DsReader(fileName);
    if (dr1.HasAudio)
    {
        WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), 
           AudioCompressionManager.FormatBytes(dr1.ReadFormat()));
        ww.WriteData(dr1.ReadData());
        ww.Close();
        Console.WriteLine("Done!");
    }
    else
    {
        Console.WriteLine("Has no audio");
    }
}