PDA

View Full Version : Using a PIC to record voice



weirdjim
- 30th September 2007, 17:22
Can somebody please point me in the right direction for a discussion of how to use the analog inputs on a pic and an external memory device to record voice -- say up to one minute of audio?

I searched the PIC site and came up empty; perhaps I used the wrong search terms.

Jim

Ioannis
- 30th September 2007, 20:52
You did not find any infos just because PIC isn't enough powerful to do such task.

I think a simple project of the kind was on Roman's Black site at http://www.romanblack.com/index.htm.

Ioannis

Luciano
- 30th September 2007, 21:12
Hi,

See this link:

Digital Sound Recorder with AVR
http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf

Best regards,

Luciano

RussMartin
- 1st October 2007, 04:24
Have you considered using WinBond's ISD17xx family?

http://www.winbond-usa.com/en/content/view/160/290/

The audio quality is quite good at the 12kHz sample rate. It can be controlled in serial mode or in "push-button" mode. I have a PIC controlling two of these (ISD17180) at the same time in PB mode.

Unamplified volume is very good with a speaker driven directly from the complementary PWM output.

Rob
- 1st October 2007, 08:14
Have you considered using WinBond's ISD17xx family?

http://www.winbond-usa.com/en/content/view/160/290/

The audio quality is quite good at the 12kHz sample rate. It can be controlled in serial mode or in "push-button" mode. I have a PIC controlling two of these (ISD17180) at the same time in PB mode.

Unamplified volume is very good with a speaker driven directly from the complementary PWM output.

I would second RussMartin as I have looked into doing this in the past and then went down the Winbond route. Don't waste your time trying to get the PIC to do it; get yourself a dedicated speech chip and then use the PIC to address the speech chip. I use the Winbond ISD4002 which only gives 8kHz sample rate max. but allows 2 minutes worth of recording at this rate. This sample rate is absolutely fine for normal speech.

Regards

Rob

weirdjim
- 1st October 2007, 21:43
Rob and Russ, I've been using the IDC devices for about 15 years, but I'm trying to minimize silicon and real estate to the maximum extent possible. Luciano hit the nail pretty square on the head with his Atmel applications note...

Since the PIC I'm planning on using is doing about ten tasks at human speed ranges, my thought is to proceed through the ten tasks in order and when the "record" button is pressed enable an interrupt every 50 microseconds (20 kHz.) to do a sample, then return to the proceedings of the ten tasks. WHen the "playback" switch is hit, simply dump the contents of memory into the d/a converter (i.e. low pass filter) and sum the playback audio with the other audio sources in an opamp.

Speaker/phones audio is not necessary. I reduce all audio inputs to line level (1 volt/600 ohms) before I condition them, then provide them their own compsymm phones and speaker amplifiers.

However, any "don't go there" comments would be well received. I've reinvented too many wheels in my career.

Russ, I had forgotten that back in the '50s, I too was a "WN6BHI" who became a WB6BHI then went vanity call with WX6RST about ten years ago.

Thanks fer yer help...

Jim

weirdjim
- 1st October 2007, 21:46
Rob and Russ, I've been using the IDC

Ummm...that would be ISD, sorry...old fart brain fart...

Jim

mister_e
- 1st October 2007, 21:55
You could still use any MP3 Codec ICs and store those MP3 on a flash card.

Sure the roman Black stuff have it's own advantages. I already looked at Luciano's link. Seems nice to me.

Anyways, minimum requirement for better results, fast ADC and fast Memory. Since it's voice, i figure any regular PIC16Xxxx and most SPI memory would do the job. But yeah... you may need to use the MSSP module instead of SHIFTOUT.

There's still the Parrallel memory type... too much a waste of I/O to me.

ISDs chip are not as this bad, but i think they're a bit too much overpriced for mass production. I think they have released a 44.1KHz chip now. At least they talked about that a while back.

As there's so much new stuff each and every day... it's hard to follow everything. ISD are popular and easy to play with... sure there's something else.

If i find time before i die, i want to test few ideas i have in my small head since awhile...

Rob
- 2nd October 2007, 08:34
I'm trying to minimize silicon and real estate to the maximum extent possible


Fair enough!

I feel I have to warn you about the PIC route to achieve this though as I spent many weeks trying to achieve this and failed (sob - not something I admit to lightly!). I wish you the best of luck with this.

Regards

Rob

RussMartin
- 2nd October 2007, 14:16
Russ, I had forgotten that back in the '50s, I too was a "WN6BHI" who became a WB6BHI then went vanity call with WX6RST about ten years ago.

I found you in a 1971 Callbook as a Technician Class licensee living in San Diego. By then, I was finishing up at the University of Wyoming. We lived in El Cajon until 1960, then moved to Sacramento where I graduated high school in 1967.

Ah, the good old "WN" days--a non-renewable year being rockbound. 75 watts plate input, CW only on HF! (And fighting the foreign broadcast carrier heterodynes on 40 meters!)

Normnet
- 3rd October 2007, 00:25
Take a look at M25P32 PIC Audio (http://www.picbasic.org/forum/showthread.php?t=6870) Warning: other compiler.

Would mic record up to 44K mono but haven't found solution for a slight popping when memory saves a sector.
Long (32 bit) vars required.

Norm

weirdjim
- 3rd October 2007, 00:36
I found you in a 1971 Callbook as a Technician Class licensee living in San Diego. By then, I was finishing up at the University of Wyoming. We lived in El Cajon until 1960, then moved to Sacramento where I graduated high school in 1967.

Ah, the good old "WN" days--a non-renewable year being rockbound. 75 watts plate input, CW only on HF! (And fighting the foreign broadcast carrier heterodynes on 40 meters!)

Born Naval Hospital, Balboa Park in '43, graduated University San Diego High in '61, San Diego State in '67, and stuck around San Diego until '75. Moved to Grass Valley (60 noth of Sacramento) in '75 and been here ever since. Picture of Grass Valley here: www.rstengineering.com taken out of the company airplane.

Jim

dleroi
- 24th December 2007, 20:21
Jim,

How did you make out with your PIC voice recorder? I went the ISD17xxx route, but it would still interesting to know if it can be done with a PIC.

Regards,
Don