[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