[linux-audio-dev] Retro speech synthesis

David Olofson david at olofson.net
Tue Nov 25 14:11:56 UTC 2003


On Tuesday 25 November 2003 10.39, Steve Harris wrote:
> On Mon, Nov 24, 2003 at 08:21:55 +0100, David Olofson wrote:
> > On Monday 24 November 2003 19.42, Frank Neumann wrote:
> > [...]
> >
> > > I was wondering for a while when some older geek will start
> > > porting/rewriting e.g. the old Amiga's narrator.device for
> > > Linux -
> >
> > Actually, I was surfing around, looking for that a moment ago.
> > Can't seem to find any source code, though. (Didn't really expect
> > to.) Is it available?
>
> IIRC if was partly hardware - possibly just the phonomes blown onto
> a chip - but you could look in one of the amiga emulator packages.

I looked pretty carefully at the docs and schematics back when I was 
hacking on the Amiga, and I never saw anything but the Paula chip (4 
simple hardware DAC voices) when it comes to audio. I'm quite sure 
narrator.device used only the standard audio output driver.


> > Yeah, that's another though... I guess one way would be to
> > replace the synthesis stage of some current TTS system with a
> > chip emulator style synth. Or how about hacking a LADSPA or JACK
> > wrapper that generates control output that you can use to drive a
> > modular synth?
>
> You can do fun things with formant filters (vowel peaks - theres a
> dial that goes from A to EE) and envelope sequencers.
>
> If there isn't a formant filter for LADSPA allready available
> someone should make one - the tables of co-efficients are available
> online.

I've seen some formant filter code somewhere... Can't remember if it 
was a LADSPA plugin, though.

Anyway, formant filters might actually be a bit too sophisticated for 
what I want to do. I'd prefer something more similar to speech 
synthesis on old hybrid sound chips, like the 6581; that is, PWM, S&H 
noise and possibly a simple resonant filter.

I've played some with *really* simple stuff, doing PWM on the PC 
speaker, and it's not too bad. "Colored" noise for the plosives is 
easy (PWM with random phase), and you can get a few vowels from just 
pure PWM. Adding an LPF, or alternative waveforms might do the trick. 
(A bit tricky to do with the PC speaker, of course, so I didn't try 
it back then. ;-)


//David Olofson - Programmer, Composer, Open Source Advocate

.- Audiality -----------------------------------------------.
|  Free/Open Source audio engine for games and multimedia.  |
| MIDI, modular synthesis, real time effects, scripting,... |
`-----------------------------------> http://audiality.org -'
   --- http://olofson.net --- http://www.reologica.se ---





More information about the Linux-audio-dev mailing list