Pregunta

¿Alguien sabe cómo convertir audio GSM en WAV PCM a través de C #? He tratado de encontrar una solución viable en Internet en vano.

¿Fue útil?

Solución

Aquí hay un enlace a una biblioteca de C que codifica y decodifica archivos GSM:

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

y un enlace a más información sobre el tema:

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

Debería ser posible para compilar el código C como un DLL y llamar desde una aplicación C # usando PInvoke, o bien incorporar los métodos directamente en su aplicación de C #.

Una vez que tenga los datos GSM decodificados en datos de muestra, escribirlo en un archivo WAV es muy simple.

Otros consejos

Otra alternativa es SoX (línea de comandos / biblioteca)

Esto es para Java, pero debe ser adaptable a C #:

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

Ver código de abajo de 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");
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top