Author Topic: Recording audio using the VS1053 encoder chip  (Read 5639 times)

0 Members and 1 Guest are viewing this topic.

Offline yamanoorsaiTopic starter

  • Contributor
  • Posts: 20
Recording audio using the VS1053 encoder chip
« on: March 31, 2015, 08:33:55 pm »
I am trying to record audio using the MAX4466 op-amp breakout from Adafruit (link) and VS1053 shield (link)that I bought from Adafruit. I am able to record audio by connecting OUT --> MICP, GND --> MICN, GND -> GND.

The recorded audio seems to have a very low gain i.e. I am barely able to hear what has been recorded in a room. I tried varying the gain using a potentiometer.  The recordings are generally noisy so I am not able to listen to what is actually being recorded.

The recordings are marred by some noise (Link for the sample). While I am not trying to achieve high quality audio using an arduino + a breakout on a breadboard, I would like to record any conversation within a few feet (of course with the consent of people being recorded).

My questions are:

a) How do I avoid the noise that is affecting the quality of the recording?
b) How do I improve the gain of the recording so that I am able to hear something when I play the recorded file?
c) If it is not possible using the MAX4466 breakout, is there an alternative to record the audio?
« Last Edit: March 31, 2015, 08:49:38 pm by yamanoorsai »
 

Offline flynwill

  • Regular Contributor
  • *
  • Posts: 143
Re: Recording audio using the VS1053 encoder chip
« Reply #1 on: April 01, 2015, 02:51:57 pm »
Getting a microphone pre-amplifier to work quietly near a microprocessor can be a very challenging task.  How far away are the people talking in your test recording?   The best your are going to get on that microphone capsule is a noise floor equivalent to about  35 dBA SPL.

Still in your recording the bulk of the noise is mains hum and digital whine that is probably coming from the Arduino's power supply.

According to the Ada-fruit spec sheet they've got the MAX4466 setup for a maximum gain of a bit over 40 dB (which is just as well, at that much gain the bandwidth will be down to about 6kHz).  However combined with the 20 dB of again on the mic input of the VS1053 you ought to have enough gain. 

Things I would try:

Run the little microphone board from it's own battery, maybe 3 AAA cells in a small holder.  That will isolate it from the power supply noise of the Arduino.  Run only two wires from the mic module to your VS1053 shield MicP and MicN, preferably this connection should be shielded cable, but if that's not available twist the wires tightly together and keep them as short as practical.

Turn the gain control on the microphone module all the way up.


 

Offline yamanoorsaiTopic starter

  • Contributor
  • Posts: 20
Re: Recording audio using the VS1053 encoder chip
« Reply #2 on: April 02, 2015, 05:52:20 pm »
Thanks. Let me try these solutions and I'll let you know how it goes.
 

Offline yamanoorsaiTopic starter

  • Contributor
  • Posts: 20
Re: Recording audio using the VS1053 encoder chip
« Reply #3 on: April 09, 2015, 03:46:17 am »
An update on this.. I powered the microphone to an external power supply. The noise is better than earlier. I recorded a sample (link) where I was playing a music box and recorded. I am still experimenting this and trying to make this better by getting rid of that buzzing sound in the latest sample.

If I get this working, I am wondering how to create a "clean" power source for the microphone board.

 

Offline JoeN

  • Frequent Contributor
  • **
  • Posts: 991
  • Country: us
  • We Buy Trannies By The Truckload
Re: Recording audio using the VS1053 encoder chip
« Reply #4 on: April 09, 2015, 07:36:43 am »
An update on this.. I powered the microphone to an external power supply. The noise is better than earlier. I recorded a sample (link) where I was playing a music box and recorded. I am still experimenting this and trying to make this better by getting rid of that buzzing sound in the latest sample.

If I get this working, I am wondering how to create a "clean" power source for the microphone board.

I would use a wall wart running to a linear regulator.  The fact that it isn't sharing the regulator with the microcontroller anymore should help.  Or you could use batteries if that is a possibility.
Have You Been Triggered Today?
 

Offline flynwill

  • Regular Contributor
  • *
  • Posts: 143
Re: Recording audio using the VS1053 encoder chip
« Reply #5 on: April 10, 2015, 12:03:48 am »
Yes that buzz sounds like it is power-line related, but it's a lot nastier (many more harmonics) that the typical coupling from nearby electrical gear.  Are you holding the little mic board while doing this recording?  It could be you touching one of the more sensitive parts of the circuit.

Otherwise I'd start with a battery (or battery into a linear regulator eg 78L05) as the power source for the mic and work my way up from there.
 

Offline yamanoorsaiTopic starter

  • Contributor
  • Posts: 20
Re: Recording audio using the VS1053 encoder chip
« Reply #6 on: April 17, 2015, 10:11:10 am »
The microphone was on a breadboard and I connected using wires. I had another opamp breakout board that made use of the MAX9814 opamp. The results were impressive with the MAX9814 opamp breakout. (This is a link to the sample that was recorded using the MAX9814 opamp and post processed to reduce noise).

I think I have a candidate opamp now. The next step is reducing noise while recording. I plan to make use of the suggestions presented in my question:

1. Keeping the cable length as short as possible and shielded.
2. using a clean power source. In the case of the MAX9814, I made use of a AAA battery pack. I am going to explore if something else is possible so that I don't have to constantly replace the batteries.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf