Skip to main content
? Photon Storm (Ilkke & Rich)

SPEECH ON THE ATARI ST by Richard Karsmakers

I  faintly  seem to remember the 'good' old Commodore  64  times, 
when  an  acquaintance  of mine  proudly  demonstrated  a  speech 
recognition module called "Voice Master". It was actually a sound 
digitizer  that allowed speech recognition as well.  The  quality 
was like crying out loud,  but it gave ideas for later. This guy, 
Onno  Verschuuren,  later  built a sound-digitizer  himself  with 
which  he won the Micro Masters Holland last year.  He  even  had 
Rowan  from Centerfold speak eight seconds into his '64  -  "One, 
two, three, lllllooooovvvveee".
But I'm afraid I'm straying a bit.  I was gonnan write an article 
about speech on the ST, not speech on the Commodore 64.

There are two ways in which you can produce speech on the ST: The 
hardware way and the software way.  The hardware way is the  most 
difficult and the most expensive.  In order to use it,  you  must 
purchase  a sound module (like that from  Schlegel  Datentechnik, 
Schwarzachstr.  3,  7940  Riedlingen,  West Germany,  that  costs 
DM 298,-) that plugs in e.g. the printer port. You simply 'print' 
a  document containing phonemes to the module that then  converts 
it to sounds that sound like human speech.
The most interesting way,  however,  is the software way. In this 
case,  people don't need to have more or less expensive  hardware 
expansions  to  use  it.  An example of software  speech  is  the 
programs "SPMOD.PRG" in our Public Domain, as well as the PD demo 
from "Smoothtalker".  The latter sounds really impressive, but in 
this article I'd like to have a look at speech programming in GfA 
Basic using the SPMOD program.

Lucky enough,  I received a program demonstrating the ST's speech 
capabilities  some  time  ago from my friend  Rüdiger  Eichin  in 
Germany.  The  program  is  added on the ST  NEWS  disk,  and  is 
explained here as well:

     ' Program to use speech in GfA Basic
     ' Research by Rüdiger Eichin, West Germany
     '
     Cls
     A$="\spmod.prg"
     Reserve Fre(0)-30000
     A=Exec(3,A$,"","")         !Load in SPMOD program

     If A<0 Then                !Load error?
       Print "Load error!"
       Stop
     Endif
     A=A+256                    !Leap over Basepage
     Dpoke A+&HE,&H4E75         !Dpoke code for RTS in MCode
     Dpoke A+&H6C,&H4E75        !Idem
     Buffer=A+&H6EEE            !The speech buffer is located at
     '                           &H6EEE after module start
     Adr1=A+&H32                !Address text->phonemes routine
     Adr2=A+&H88                !Actual speech routine
     Speech=1
     '
     @Print("Hello! Have you ever heard software speech on")
     @Print("the Atari before? Well, this is it!")
     End
     '
     Procedure Print(Txt$)      !Get text into Txt$
       If Speech=1 Then         !Flag set?
         Poke Buffer,Len(Txt$)+3
         Poke Buffer+1,Len(Txt$)

         For I=1 To Len(Txt$)
           Poke Buffer+1+I,Asc(Mid$(Txt$,I,1))
           Print Mid$(Txt$,I,1);
         Next I
         Print
         Void C:Adr1()          !Make phonemes
         Void C:Adr2()          !Speak
       Else
         Print Txt$
       Endif
     Return

This program has one disadvantage:  SAVEing from GfA Basic  won't 
work  correctly anymore after executing:  The file selector  does 
not appear and the program is SAVEd as 8 spaces.  I hope that  we 
have  hereby  supplied you with some tips that will prove  to  be 
useful in your software developments!

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.