Конвертировать GSM аудио в WAV PCM

Кто-нибудь знает, как конвертировать GSM-аудио в PCM WAV через С#? Я пытался найти жизнеспособное решение в Интернете безрезультатно.


person williamtroup    schedule 12.10.2009    source источник
comment
Можете ли вы использовать сторонний exe для этого?   -  person Shay Erlichmen    schedule 12.10.2009
comment
@кто бы ни проголосовал за закрытие этого вопроса: с какой стати вам закрывать этот вопрос?   -  person MusiGenesis    schedule 12.10.2009


Ответы (4)


Вот ссылка на библиотеку C, которая кодирует и декодирует файлы GSM:

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 и вызвать его из приложения C# с помощью PInvoke, либо включить методы непосредственно в ваше приложение C#.

Как только вы декодируете данные GSM в образцы данных, записать их в файл WAV очень просто.

person MusiGenesis    schedule 12.10.2009

Другой альтернативой является SoX (командная строка/библиотека)

person Alex K.    schedule 19.03.2010

Это для java, но его следует адаптировать к С#:

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

person Garg Unzola    schedule 09.03.2012

См. приведенный ниже код с 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");
    }
}
person Basil    schedule 09.04.2014