Analog input of voice and show the digital bytes

Recently I am working with a voice recorder where I have used TMRpcm library to record and play wave file. That worked successfully. But now I want to do a wireless transmission of voice via wifi. In my previous project I've taken input in analog pin by a condenser mic and after analog to digital conversion the data was saved in SD card as wave file like "Test.wav". But now I don't want to convert those data in wav format or to save that in SD card. I just want to get the digital bytes and send it through any wireless medium to another system where those data will be converted into wav file so that the input voice can be played.
Please help me with

  • taking voice input in analog pin ( I am using MAX9814 condenser mic)
  • ADC of the input data and
  • show the digital values which can be processed further.

When you want to stream data, you need to investigate the different protocols that are available. They all have their pros and cons. For instance, you can use TCP or UDP for the transport layer. Both run on top of IP.

UDP is simpler and therefore might be better for real-time systems. If a packet gets lost it will not be resent. After all, if you already have new audio data you do not need the last samples that were lost.

TCP on the other side will resend the packet when it gets lost, but you will have a delay. But if you want a complete audio file you need all the bits.

Which of these two are better for your use case is up to you.

Wi-Fi is not a real time system, so you can’t simply bang out the data from the audio signal as they come along. You have to do some sort of voice over IP protocol which involves building up a buffer’s worth of data and sending that buffer while still reading the data competing in at the audio rate. You have to do the inverse at the other end.

The Arduino is not a suitable processor to do this on because of the lack of buffer memory and low processing power.

You should be able to record it in an SD card and then when the recording is done read the SD card and send that over Wi-Fi, but it will not be in real time.

Thank you for your suggestions :smiley: