将 GSM 音频转换为 WAV PCM

发布于 2024-08-06 23:46:25 字数 63 浏览 5 评论 0原文

有谁知道如何通过 C# 将 GSM 音频转换为 PCM WAV?我试图在互联网上寻找可行的解决方案,但没有成功。

Does anyone know how to convert GSM audio into PCM WAV via C#? I have tried to find a viable solution on the Internet to no avail.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

马蹄踏│碎落叶 2024-08-13 23:46:25

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

Another alternative is SoX (Command line/library)

不乱于心 2024-08-13 23:46:25

以下是编码和解码 GSM 文件的 C 库的链接:

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

以及有关该主题的更多信息的链接:

http://user.cs.tu-berlin.de/~jutta/toast。应该

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

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

Here is a link to a C library that encodes and decodes GSM files:

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

and a link to more information on the subject:

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

It should be possible to either compile the C code as a DLL and call it from a C# application using PInvoke, or else incorporate the methods directly into your C# app.

Once you have the GSM data decoded into sample data, writing it out to a WAV file is very simple.

物价感观 2024-08-13 23:46:25

这是针对 java 的,但它应该适用于 C#:

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

This is for java, but it should be adaptable to C#:

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

萌化 2024-08-13 23:46:25

请参阅以下代码 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");
    }
}

See code below from 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");
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文