Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Speech Synthesizer Chip

Status
Not open for further replies.

VolkerR

Electrical
Jun 24, 2003
17
Hello,

I just came across this chip:

It is being sold as "single chip voice and complex sound synthesizer". Actually, it looks to me as if it is a PIC18F1220 or 18F1320 with it's markings removed, running on the internal oscillator. Power supply pins are identical, CCP1 output is identical to voice PWM output.

I have seen a number of solutions where sinewaves and DTMF are created by PWM used as an 1 bit D/A with oversampling (output filter necessary, in this case the speaker itself is the filter), but this is the first time I see speech synthesis done like that.

I think it's totally ok that the inventor of a novel idea is trying to make some money off of it, but it suffers from the same problem similar secrect-microcontroller-specialty-chips suffer:
If a circuit already has a microcontroller, why buy another one for a specific purpose, when your main micro has enough resources available to do it alone?

Has anybody seen an application note or public domain sample code for something like this, preferably for a mainstream microcontroller ?

Thanks,
Volker
 
Replies continue below

Recommended for you

I have done similar things using 1 bit oversampling and some sort of filter. The trick is not the output but the recording of the voice. The technique I have used is to translate .WAV files to the necessary bit stream. This allows for easier recording and editing of a recorded vocabulary. To translate to 1 bit, I simply use a math model of the output circuit sampled at whatever rate the system uses. For each sample, I use a starting voltage and test both cases of a one or zero to find which one produces the voltage closest to the recorded level of the .WAV file for that time. .WAV file formats vary as do sample rates but all that information is in the header of the file. To improve the sound, I use a second order interpolation of the .WAV file samples to determine the desired voltage for time sample of the high sample rate 1 bit data stream. The technique works for virtually any 1 bit playback scheme. The hardest part seems to be finding a good voice and getting a good recording of it. Such 1 bit schemes can use a lot of memory.
 
I don't think the chip uses actual voice-samples. My first thought was 'recorded voice', too, but the chip has not very much memory. The examples on their webpage don't sound natural enough, it sounds more like something on my C64 20 years ago.
They claim it has a 5 channel synthesizer, so I would assume they are adding 5 separate sinewaves from a lookup table (or 4 sinewaves and a noise-channel ?), and program different attack/sustain/decay curves for each, in order to get the voice-like soundbites.
The processor should _just_ be able to do it, at 8MHz internal clock (=0.5us instruction rate), and 8kHz PWM (125us).

The 8kHz PWM is mentioned in their handbook. With an 8kHz PWM output they must be getting a horrible signal/harmonic ratio.

When I used the PWM-as-D/A-converter method for DTMF output I needed 22kHz to get about 35dB to the next harmonic (with an 8bit sinewave table, 2nd order filter, cutoff at around 2kHz).

I was just wondering how they did it ... if 4-8k are enough to add simple speech capability, it would make for an interesting project add-on for a PIC18F2xx project.
I don't think there is a software patent on this stuff, I have heard similar sounding voice generation years ago.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor