Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

pic audio voice record and play porject required urjent !!!!

Not open for further replies.


Advanced Member level 1
May 24, 2006
Reaction score
Trophy points
Activity points
hi every one

urjently need project in pic microcntroller which record and play back audio voice

I did not understand which IC you wish to use for this purpose but see this....

what is the duration of audio recording, and what is the source of recording and where will you store the audio for retrival, is it in an IC or MMC or SD card in any format....

you get APR9600 IC to store the speech and play back also...
**broken link removed**

as i mentioned in my subject i need PIC audio voice recorded,my input is mic which is connected to pic adc.
PIC microcntroller in menditory

have a look at the nuvoton ISD chipcoorder series
**broken link removed**

I have used an ISD4003 talking to a PIC24 via SPI to record and playback short messages

you may batter use apr9600 or apr60XX. First is controlled by pulses, later is controlled by spi communication.

guysss !!!
i want to record voice through PIC adc and i want to play it back through PIC PWM any help in PCW compiler plsss share

I don't want to burst your bubble but I think it can't be done using ADC, I may be wrong but think it's impossible, may be use a pic to start/stop recoding etc and use another chip to record

Dear friend

simply go here using pic 16f84 to generate audio signal, i have done this project using pic record and play back tomorrow i will upload Proteus file code and all stuff

**broken link removed**


Dear friend

simply go here using pic 16f84 to generate audio signal, i have done this project using pic record and play back tomorrow i will upload Proteus file code and all stuff

**broken link removed**


did you saved your voice ???? coz i want to..
can you pls share me your work??

It is possible and I've done it ! But I can not give you the software for contractual reasons.

Recording steps are:
1. amplify the microphone signal to be about 80% of VCC peak to peak. Center it at half VCC. Ideally, roll of the frequency response above 4KHz.
2. connect it to the ADC input and select a sampling rate as high as possible, 4K/s will give recognizable speech but faster is better.
3. Use interrupts to signal when the ADC conversion is completed. As soon as it is, save the ADC value to a register and start the ADC running again.
4. in the time while the next conversion is taking place, save the register to RAM. External is best if you want long recordings but internal is OK if there is enough. You need as much RAM per second of recording as the sample rate.
5. go back to step 3 until the end of the recoding.

To play back:
1. use a timer to generate the same duration as your sampling rate.
2. pick up one sample per timer period from the RAM.
3. convert the sample data back to analog.
4. go back to step 2 until the end of the recording.

For the digital to analog conversion you can use an external DAC, an R-2R resistor network on one of the ports or PWM. I use PWM because it uses fewer components, Just set the PWM rate to be at least twice the sampling rate and use each sample in turn to set the m/s period.

You will need a fast PIC, I use 18F46J11 devices clocked at 18.432MHz. They have sufficient internal RAM to hold about 5 seconds of speech.

few days ago i made similar voice recorder as BETWIX described. But instead of saving the data to RAM , i send each byte to MMC (SPI). I used PIC16F877A. Then the voice quality is really superb...
I had uploaded the video of my experiment...

YouTube - ‪PIC16F877A based MMC card voice recorder‬‏
Thank you Brian,
your work is very much near to my requirement, can you please guide me PWM part programming ?
i am using CSS compiler and using C.

Your help will be highly appreciated.

Assuming CSS is really CCS, take a look at this link:
Pulse Width Modulation (PWM) using the CCS Compiler | It's all about PICs

I do not have CCS so I can't give you guidance on the syntax but it looks like all you have to do is set the PWM rate to match the recording sample rate then use "set_pwm1_duty(xxxx);" where xxxx is the value of the sound sample you recorded.


dear friend

here is my upload generate sound and record using pwm method along with c code and Proteus simulation files



  • sound.rar
    3.7 MB · Views: 263
Not open for further replies.

Part and Inventory Search

Welcome to