EEPROM Voice System

 

24LC512 EEPROMS contain 64k bytes and cost about $3. That makes them ideal for adding some speech to small projects. Here is the set of (DOS) programs and files to do this. This is how the speech was added to the Talking Fish project.

Procedure

  1. Collect the speech sounds in a set of WAV or other files you can edit.
  2. Maximize the level in the file.
  3. Filter the file with a 3500hz low pass function.
  4. Resample the rate to 8khz.
  5. Cut out individual words.
  6. Store them to disk in the SND format, 8 bits, unsigned, 8000 samples/second.
  7. Construct a Sound Control File (filename.scf)
  8. Use FTALK to convert the several SND files into one BIN file.
  9. Use HEX (if necessary) to convert the BIN file to a HEX file.

The SCF file is made using a text editor. The first entry is the sample rate. All the rest of the entries (one per line) contain just the base filename of the SND files. With all the files in the same directory, type the following using the SCF filename.

C:>ftalk filename

This will produce a list on the screen of the filenames, sizes, and space remaining.

The BIN file that is produced contains all of the SND files packed together with a directory in the first locations as follows. Each [item] is 2 bytes.

[WS] Word Sound file
[sample rate]
[location][length] (for each sound)
.....
(all of the sound data up to 64k bytes)

Our programmer needs to have data sent to it in HEX file format. The program HEX.EXE can be used to produce one from the BIN file...

C:>hex filename

This produces filename.hex.