4

I am a hobbyist. Doing some experiments with sound quality. I'll pin point my problem and requirements.

  1. Problem statement :I want to play audio files ( recorded in human voice, not music files, just some plain human speech files)

  2. I have tried : a project with an Arduino microcontroller and MicroSD card but audio quality was not at all good from the link below https://www.instructables.com/id/Audio-Player-Using-Arduino-With-Micro-SD-Card/ https://circuitdigest.com/microcontroller-projects/arduino-audio-music-player It just used an arduino UNO board, microSD using SPI, a speaker and an LM386 Audio Amplifier.

I read about the details and got to know that I need a DAC for better quality (as PWM cannot serve the purpose), and a speaker also. But there are a number of things available and I dont understand which one to buy and start a project.

Can you share the details of some micro-controller board with a DAC which suffice my purpose, memory to store audio files (or I can use a microSD card device), and a speaker project which I can follow and make one. I am looking for a board based solution, after getting some results, I can go for separate micro-controller and DAC.

Thanks in advance.

Michel Keijzers
  • 13,014
  • 7
  • 41
  • 58
muphy
  • 59
  • 2
  • 6

2 Answers2

3

One would think that single channel for voice would be enough. Remember the old Sprint commercials? "So quiet you can hear a pin drop", that was only single channel. 12 bits at 16 MHz for max 8 KHz bandwidth would be good. Per Wikipedia "In telephony, the usable voice frequency band ranges from approximately 300 Hz to 3400 Hz. It is for this reason that the ultra low frequency band of the electromagnetic spectrum between 300 and 3000 Hz is also referred to as voice frequency, being the electromagnetic energy that represents acoustic energy at baseband. The bandwidth allocated for a single voice-frequency transmission channel is usually 4 kHz, including guard bands, allowing a sampling rate of 8 kHz to be used as the basis of the pulse code modulation system used for the digital PSTN. "

I think several folks, such as Adafruit.com, DFRobot.com, and others make cards with DAC outputs. Or you could get a DAC only card from Gravitech.us

I started a project at Arduino.cc to sample 16 bits at 44.1KHz, store to SD card, then play it back later. I used external SPI ADC and DAC, and member fatlib16 there helped me to code it. You can find it by searching "sample, record, playback later" and it should pull it up.

CrossRoads
  • 2,449
  • 7
  • 9
2

Here is the schematic and breadboard layout I was using. Coding can be found in this Arduino.cc thread

https://forum.arduino.cc/index.php?topic=180769.60

Analog Reference, ADC, DAC wiring

Layed out on breadboard before going to PCB

CrossRoads
  • 2,449
  • 7
  • 9