This project has moved. For the latest updates, please go here.

gsm 6.10

Jan 31, 2011 at 6:55 PM

My ultimate goal is to create a multiuser voice chat, but for now i just want to send a simple compressed wave across a udp connection and have it played back on the other end perhaps through the buffered wave provider.the easy part is this-- (microphone > wave> udp> wave > speaker). The problem is the big wave size streamming! So, I want to use GSM 6.10 to compress the wave before i send over the network then on the receiving end i want the compressed wave decompressed via gsm. For example, (microphone> wave>gsm compression> udp> gsmdecompression>wave>speaker) . How can i format the wave structure to compress in gsm format? Could i get an example of the structure that must be implimented?   thanks in advance! i guess i'm trying to say something like a gsm vocoder. i have been pulling my hair out for months about this simple task!

Feb 1, 2011 at 9:03 AM

you can use WaveFormatConversionStream to use any ACM codecs installed on your PC to encode the audio. Have a look at the NAudioDemo project for example code.


Feb 1, 2011 at 5:57 PM

Used WaveFormatConversionStream and received the following: "AcmNotPossible calling acmStreamOpen". Is there a work around so that  i  can put the wave bytes on the fly into WaveFormat.CreateCustomFormat(WaveFormatEncoding.Gsm610, 1, 8000, 1625, 65, 0) ?  

Feb 3, 2011 at 3:33 PM

ACM not possible means that you don't have an ACM codec on your machine that can do the requested conversion. Use the NAudioDemo app to explore the codecs on your machine and look at their reported set of valid from and to compressions