Issue
110, September 1999
Talking
Back: Adding Speech to Embedded Applications
by
Rodger Richey
Training
embedded apps to process speech may be as easy as
finding the right 8-bit micro. Don't let what Rodger
has to say about using an ADPCM algorithm and PWM
output to generate speech to go in one ear and out
the other.
SPEECH
SUBSYSTEM
You
can also use a PICmicro as a complete speech-processing
subsystem. The PIC16C77x devices are an ideal
choice for this because of the 12-bit ADC and 10-bit
PWM peripherals. The new PIC18Cxxx, can implement
stereo record and playback at an 8-kHz sample rate because
of the optimized instruction set, architecture, and
40-MHz operation.
The
PIC can communicate to the host processor via any serial
interface or even a simple keypad that implements play,
record, next message, and previous message. Figure 5
shows a simplified block diagram of the speech subsystem
based on a PIC16C77x device.
Figure 5For those applications
requiring a complete speech-processing subsystem,
the PIC16C774 with integrated 12-bit ADC, SPI,
and 10-bit PWM provides the most integrated
solution.
|
The
microphone input must be both filtered and amplified
before entering the microcontroller. This input might
be designed in two stages.
First,
an amplifier stage with some limited automatic gain
control provides somewhere between 40 and 60 dB of gain.
The filter stage might be a fourth-order filter centered
at 4 kHz for an 8-kHz sample rate. The PIC samples the
incoming signal at 8 kHz and compresses the 12-bit sample
down to four bits.
The
memory size is determined by the amount of record time
desired. At 8 kHz, the system requires 4 kbps of storage
(8000 samples/s × 4 bits/sample). Therefore, 1 min.
of record time requires 240 KB.
An
ideal match for this type of system is the Toshiba TC58A040F
4M × 1 NAND flash-memory device. It stores approximately
131 s of speech at an 8-kHz sample rate and uses SPI
as the communications interface.
You
now have a choice to make on the speech output circuit.
Although a DAC makes sense in some applications, the
PICs onboard 10-bit PWM peripheral can also be
used to lower cost without giving up quality.
Admittedly,
the DAC has better quality than the PWM, but with the
right filtering, the PWM module can provide good results.
This filter can be a fourth-order filter centered at
4 kHz (and can be a copy of the input filter).
The
final circuitthe speaker amplifier is extremely
application dependent. You may want to drive a speaker
or a set of headphones. Many companies, including National
Semiconductor and TI, make amplifiers specifically for
driving speakers or headphones.