Domanda
Qualcuno sa come convertire audio GSM in WAV PCM tramite C #? Ho cercato di trovare una soluzione praticabile su Internet senza alcun risultato.
Soluzione
Ecco un link ad una libreria C che codifica e decodifica i file di GSM:
http: // utente. cs.tu-berlin.de/~jutta/gsm/gsm-1.0.13.tar.gz
e un link per maggiori informazioni sul tema:
http://user.cs.tu-berlin.de/ ~ Jutta / toast.html
Dovrebbe essere possibile o compilare il codice C come DLL e chiamarlo da un'applicazione C # utilizzando PInvoke, oppure incorporare i metodi direttamente nel vostro C # app.
Una volta che hai i dati GSM decodificati in dati di esempio, la scrittura in un file WAV è molto semplice.
Altri suggerimenti
Un'altra alternativa è SoX (riga di comando / biblioteca)
Questo è per Java, ma dovrebbe essere adattabile a C #:
Vedere codice qui sotto 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");
}
}