Reproduction of sound in real time from the microphone. WITH#

I am looking to create an application that will allow me to record from my microphone and play the recording through other PCs. At this point, however, I just wanted to play it on my own computer so that I could get it to work.

I have been looking at NAudio for the past few hours, and it looks like it can help me achieve this goal.

I'm just wondering if anyone else has experience with this, and if at all possible?

Thanks Stuart

+4
source share
4 answers

Here is an example codecroject project:
http://www.codeproject.com/KB/cs/Streaming_wave_audio.aspx
I do not know how low latency is.

As a codec, I would recommend Speex (at least for speech). It is free, open source and offers low latency and low bandwidth.

+2
source

Bass Audio Library is another reliable option worth seeing.

0
source

This can be done, but you are unlikely to get a slight delay with WaveIn / WaveOut (possibly with WASAPI better results). You can use the BufferedWaveProvider (in the latest source code) to store the sound recorded from the microphone and feed the output to the sound card.

0
source

NAudio is great as a starting point for capturing and playing sound, but since Mark pointed out that delay could be a problem.

If you take the next step and want to send audio over the network, you need a codec to compress the data, since PCM or WAV are uncompressed, and for voice you need a small part of the bandwidth required for WAV. Since you are working with C #, there is a C # port for Speex called NSpeex , which may be worth a look at ..

0
source

All Articles