[comp.sys.mac] A Macintalk Question

spohrer-james@yale.UUCP (10/08/87)

From: James Spohrer <spohrer-james>


Is it possible to get at the waveform (i.e., as an array of integers) that
the Macintalk driver generates?

I realize this may be a stupid question if some chips just takes phoneme codes
and converts them to an analog signal. However, if the phonemes to waveform
conversion is handled in software then it seems reasonable to suspect that
one could get ones hand on the digital waveform. Any one know how?

Thanks,
Jim Spohrer
SPOHRER@YALE
432-1227
-------

brian@hpfclm.HP.COM (Brian Rauchfuss) (10/10/87)

>Is it possible to get at the waveform (i.e., as an array of integers) that
>the Macintalk driver generates?

    The Macintalk driver uses the sound buffer in high memory to output its
words, the problem is that it refills the buffer continuously, so after
a sentance, all that would be in the buffer is the last part of it.
    If you want to be clever, all you have to do is write a program which
replaces the pointer to the sound routine in the jump table with a pointer
to a routine of your own.  When Macintalk wants to output the sound, it
calls you and you copy the sound buffer to a safe place, and then either
go ahead and call the original sound routine or return.  This is not a
dubious hack, it is the respected and correct way to modify a system
routine and is documented in Inside Mac.

    Brian (Smokefoot) Rauchfuss