Code archives/Audio/SAM - C64 voice (CMD Driven)

This code has been declared by its author to be Public Domain code.

Download source code

SAM - C64 voice (CMD Driven) by DanApril
Few day ago i have found this : SAM Software Automatic Mouth

For the jokes, i have written and converted few of the demos contained in the zip file from there.

(You will need to download it from the above's address (windows binary.) and to put sam.exe and sdl.dll in this programs folder.
(or in the path, where windows can access it normally)

Needed userlib: user32.decls
.lib "user32.dll"
api_SetForegroundWindow% (hwnd%) : "SetForegroundWindow"


If you have an user32.decls, the function may be called SetForegroundWindow - then just remove the api_ from the SamSpeak Function.
;  SAM - C64 speech syntesizer demo
;requires the Windows executable, which should be in the same path as this program. named: sam.exe and sdl.dll
;download it from: simulationcorner.net/index.php?page=sam
;
;Needed userlib: user32.decls
;
;.lib "user32.dll"
;
;api_SetForegroundWindow% (hwnd%) : "SetForegroundWindow"
;
;If you have user32.decls the function may be called SetForegroundWindow - then just remove the api_ from the SamSpeak Function.
;
Graphics 640,240,32,2
Graphics 640,240,32,3

AppTitle "Sam - C64 Talk on PC"
SetBuffer BackBuffer()

Global SamPrint=%001    ; bit 1= Print Text, Bit 2=Print Delay value, Bit 3=Print Commandline. (for debugging purposes)
Global M=1,MD

Dim Menu$(12)
Restore menuitem
For x=1 To 12
	Read Menu$(x)
Next

.menuitem
Data "2 be or not to be","Sam introduces himself","Usage examples","Phonetic/Normal mix","National Anthem of USA"
Data "C64 Sings Jazzy","Grand Ma's jokes","Sam - Software Speech Synthesizer","Hamlet - To be Or ...","Original C64 file extract"
Data "USA: Pledge of Allegiance","Make Sam Talk - Normal voice"

.back

FlushKeys
MD=MilliSecs()

Repeat
	Cls
	C(1,2)
	Text 0,0,"Sam - Commodore 64 Software mouth Demonstration:"
	Text 0,20,"Please choose a demo with arrow keys, and press enter"
	
	dy=KeyDown(208)-KeyDown(200)
	If dy<>0 And MilliSecs()-MD>150 
		M=M+dy : Delay 50
		MD=MilliSecs()
    End If
	
	If M=13 Then M=1
	If M=0 Then M=12
	
	For x=1 To 12
		C(x,M)
		Text 10,40+(x*10),"Demo nr ("+String("0",2-Len(Str$(x)))+x+") :"+Menu$(x)
	Next
	C(1,2)
	Text 0,190,"PS.Click on the maximize window button, for a fullscreen experience"
	Flip
	If KeyHit(28) Or KeyHit(156)
	Locate 0,0
		If M=1 Then Cls : Gosub demo1
		If M=2 Then Cls : Gosub demo2
		If M=3 Then Cls : Gosub demo3
		If M=4 Then Cls : Gosub demo5
		If M=5 Then Cls : Gosub demo6
		If M=6 Then Cls : Gosub demo7
		If M=7 Then Cls : Gosub demo9
		If M=8 Then Cls : Gosub demoa
		If M=9 Then Cls : Gosub demob
		If M=10 Then Cls : Gosub democ
		If M=11 Then Cls : Gosub demod
		If M=12
		  Color $fa,$50,$70
		  Cls 
		  FlushKeys()
		  txt$=Input$("Enter text>") 
		  If txt$="" Then txt$="Very Funny, Ha Ha Ha"
		  C(1,2)
		  SamSpeak(txt$)
		  Delay 1500
		End If
		Delay 100
		FlushKeys()
		FlushKeys
	EndIf
	
Until KeyDown(1)


End 

Function C(x,y)
	If x=y 
		Color $10,$55,$55
	Else
		Color $ff,$ff,$ff
	End If
End Function

Function SamSpeak(txt$,sing=0,speed=0,pitch=0,mouth=0,throat=0,phonetic=0,save=0,filename$="")
    
	Local sam$=""
	If sing>0 Then sam$=sam$+"-sing "
	If speed>0 Then sam$=sam$+"-speed "+Str$(speed)+" "
	If pitch>0 Then sam$=sam$+"-pitch "+Str$(pitch)+" "
	If mouth>0 Then sam$=sam$+"-mouth "+Str$(mouth)+" "
	If throat>0 Then sam$=sam$+"-throat "+Str$(throat)+" "
	If save=1 And filename$<>"" Then sam$=sam$+"-wav "+Str$(M)+" "+Chr$(34)+filename$+Chr$(34)+" "
	If phonetic>0 Then sam$=sam$+"-phonetic "
	
	sam$=sam$+Chr$(34)+txt$+Chr$(34)
	If BitState(SamPrint,1) Then Print txt$
	If BitState(SamPrint,3) Then Print sam$
	ExecFile "c:\bat\sam "+sam$
	If speed>0 
		If phonetic<=0
		    dd=(speed*(Len(txt$)*0.7))*2
		    If BitState(SamPrint,2) Then Print "case 1:"+dd
			Delay dd
		Else
			dd=(speed*(Len(txt$)*0.55))*2
			If BitState(SamPrint,2) Then Print "case 2:"+dd
			Delay dd
		End If
	Else 
		dd=(45*(Len(txt$)*0.9))*2
		If BitState(SamPrint,2) Then Print "case 3:"+dd
		Delay dd
	End If
	api_SetForegroundWindow(SystemProperty("AppHWND"))
End Function

Function BitState(a,b)
;a = variable
;b = bit number to Check
	a=Mid(Bin$(a),Len(Bin$(a))-(b-1),1)
	Select a
		Case "0"
			Return False
		Case "1"
			Return True
	End Select
End Function


.demo1
SamSpeak ("to bee or not to bee, that is the question")
SamSpeak ("MAY4 NEYM IHZ SAE4M.",0,0,0,0,0,1)
Return

.demo2
SamSpeak("/HEH4LOW DHEHR. YUW4 NOW MIY4Y, AY4 AEM SAE5M,",0,72,64,0,0,1)
SamSpeak("DHAH SAO4FTWEHR MAW5TH",0,72,64,0,0,1)                                      
SamSpeak("FOHR YOHR KAA4MIXDOH6R SIH4KSTIYFOH6R KUMPYUW4TER.",0,72,64,0,0,1)
SamSpeak("AY4 KUHD AO4LWEYZ DUW LAA3TS AHV AHMEY4ZIHNX THIHNXGZ.",0,72,64,0,0,1)
SamSpeak("AY5 KUHD TAO5K VEH4RIY KWIH4KLIY WHEHN AY WAA4NTIHD.",0,35,64,0,0,1)
SamSpeak("AE4ND AY KUHD TAO4K VEH3RIY SLOW4LIY TUW.",0,140,64,0,0,1)
SamSpeak("AY5 KUHD SPIY5K IHNAH VEH3RIY /HAY5 VOYS.",0,72,30,0,0,1)
SamSpeak("AE4ND AY KUHD SPIY5K RIY3L LOW.",0,72,169,0,0,1)
SamSpeak("BAHT NAW4 AY KAEN DUW5 SAH4MPTHIHNX IY5VUN MOH4R AHMEY3ZIHNX.",0,72,64,0,0,1)
SamSpeak("AY4 KAEN CHEY4NJ MAY VOY5S KUMPLIY3TLIY.Q.",0,72,64,110,160,1)
SamSpeak("AY4 KAEN BIY5 AH LIH4TUL EH5LF /HUW TAO5KS LAYK DHIH5S. OH3R.",0,72,64,110,160,1)
SamSpeak("AY5 KAEN BIHKAH5M AH STREY4NJ EY4LIYUN.",0,42,60,190,190,1)
SamSpeak("YUW5 KAEN YUW4Z DHIHS VOY5S IHN AH SPEY4S GEY5M.",0,42,60,190,190,1)
SamSpeak("OHR /HAW5 AHBAW5T DHIH3S STAH4FIY LIH5TUL KEH4RIXKTER.",0,82,72,110,105,1)
SamSpeak("EY SIH4LIY VOY5S FOHR AH KUMPYUW4TER.",0,82,72,110,105,1)
SamSpeak("AY5 KAEN TAO5K LAYK AH LIH5TUL OH5LD LEY5DIY.",0,72,32,145,145,1)
SamSpeak("NAAT MEH5NIY KUMPYUW5TERZ KAEN DUW DHIH4S - SWIY5TIY.",0,72,32,145,145,1)
SamSpeak("AE4ND AEZ AH MAE5TER AHV FAE4KT,",0,72,64,128,128,1)
SamSpeak("AY4 KAEN BIYKAH5M DHAX LEY4TIXST MUW4VIY /HIY4ROW - AEND SEH8EY4,",0,72,64,128,128,1)
SamSpeak("IY4IY6 TTIY6 -FOW5N /HOW5MM. IY4IY6 TTIY6 - FOW5N /HOW5MM.",0,120,58,150,200,1)
SamSpeak("DHEH4RZ NOW4 TEH5LIHNX WHAH5T SAE5M WIHL DUW NEH5KST.",0,72,64,128,128,1)
Return

.demo3
SamSpeak("/HEHLOW3 EH5VRIXWAHN. IHT SHUH4R IHZ NAY3S - TAX BIY /HIY4R TUH7DEY.",0,74,64,0,0,1)
SamSpeak("AY3 AEM SAE4M -",0,74,64,0,0,1)
SamSpeak("DHAX BRAE4ND NUW5 VOY4S FOHR DHAX KAA4MIXDOH6R",0,74,64,0,0,1)
SamSpeak("SIH4KSTIYFOH6R KUMPYUW4TER.",0,74,64,0,0,1)
SamSpeak("AY4 AEM DHAX MOW5ST VER4SIXTUL -",0,74,64,0,0,1)
SamSpeak("AH5NDERSTAE4NDIXBUL SPIY5CH SIH3NTHAXSAY7ZER",0,74,64,0,0,1)
SamSpeak("AAN DHAX MAA3RKIXT.",0,74,64,0,0,1)
SamSpeak("AE4AE7ND- AY4 AEM DHAX LOHOW4EHST PRAY4ST- AHV DHEHM AO4UL.",0,74,64,0,0,1)
SamSpeak("BAH6T WHAH4T KAEN YUW DUW3 WHIHTH MIYIY.",0,74,64,0,0,1)
SamSpeak("WAY7 YUW3 KAEN PUH5T MIY-IH5NTUX YOHR OW7N PROH3GRAEMZ.",0,74,64,0,0,1)
SamSpeak("/HAW4 WUHD YUW4 LAYK YOHR BIH3ZNIXS SAO5FTWEHR TUX SEY-",0,74,64,0,0,1)
SamSpeak("PLIY4Z EH5NTER DHIH4S WIY6KS PER3CHAHSIXZ.",0,74,64,0,0,1)
SamSpeak("OH3ER- IHMAE3JIXN AEN EHDVEH4NCHER GEY6M DHAET DAH6Z DHIH4S.",0,74,64,0,0,1)
SamSpeak("DHIY EH3LF WAHZ KAE3PCHERD-BAY DHAX JAY3IXNT.",0,74,64,0,0,1)
SamSpeak("/HIY BIHGAE5N TUX KRAA3IY-AEND /HIY SEH4D.",0,74,64,0,0,1)
SamSpeak("OH5OW7 NAX5OW. PLIY5Z DOWNT /HER5T MIY-MIH6STER JAYIXNT?",0,74,32,0,0,1)
SamSpeak("BAH6T DHAX JAY4IXNT WAHZ VEH3RIY MIY6N-",0,76,64,0,0,1)
SamSpeak("AEND /HIY4 OW3NLIY SEHD-",0,76,64,0,0,1)
SamSpeak("/HOW2- /HOW4- /HOW.",0,80,120,0,0,1)
SamSpeak("DHEH5R IHZ NOW LIH3MIXT-TUX DHAX PAA4SAXBUL AE5PLIXKEY3SHUNZ-",0,72,64,0,0,1)
SamSpeak("AHV SPIY4CH IHN YOH7R PROH3GRAEMZ.",0,72,64,0,0,1)
SamSpeak("AO3LSOW7W3- AY4 AEM VEH3RIY IY4ZIY TUX YUW4Z.",0,72,64,0,0,1)
SamSpeak("EH2NIYWAH6N KAEN AE5DSPIY5CH-TUX6 AH BEY4SIHKQPROH4GRAEM.",0,72,64,0,0,1)
SamSpeak("AY4 KAEN IY3VIXN TAOK VEH4RIY KWIH4KLIY.",0,72,64,0,0,1)
SamSpeak("LIH4SUN TUX6 DHIH3S WAHN.",0,72,64,0,0,1)
SamSpeak("PIY4TER PAY3PER- PIH4KT AH PEH4K AHV PIH4KULD PEH4PERZ.",0,30,0,0,0,1)
SamSpeak("/HAW3 MEHNIY PEH4KS AHV PIH4KULD PEH4PERZ-DIHD PIY4TER PAY3PER PIH6K.",0,28,0,0,0,1)
SamSpeak("QQQQ WWAW7IY1IY3IY. DHAE3T WHAHZ AH TAH4FIY.",0,100,0,0,0,1)
SamSpeak("EH2NIYWEY6- YUW4 GEHT DHIY AYDIY5AH.",0,72,0,0,0,1)
SamSpeak("SAE3M IHZ DHIY MOW3STEHKSAY4TIHNX NUW4 PRAA4DAHKT - AHV DHIHS YIY4R.",0,72,0,0,0,1)
SamSpeak("SOH3OW7-/HAW4AHBAW3T IHT. WOH3NT YUW PLIY2Z TEY6KMIY /HOW6M?",0,72,0,0,0,1)
SamSpeak("Q SAE4M IHZ /HIY3R TUX STEY4IY.",0,72,0,0,0,1)
SamSpeak("THAE2NXKS FOHR LIH4SUNIHNX EHVRIXBAH5DIY.",0,72,0,0,0,1)
SamSpeak("AY /HOW3P YUW EHNJOY4D-MAYLIH4TUL TAOK.",0,72,0,0,0,1)
Return

.demo5
SamSpeak("AY4 KAEN CHEY4NJ MAY VOY5S KUMPLIY3TLIY.Q.",0,72,64,110,160,1)
SamSpeak("Eee Tea! Phone home.",0,120,58,150,200)
SamSpeak("Eee Tea? Phone home?",0,120,58,150,200)
SamSpeak("Ha ha ha ha ha ha ha!",0,140,58,150,200)
SamSpeak("Ha ha ha ha ha ha ha?",0,140,58,150,200)
SamSpeak("Ho ha ha ha!",0,140,64,160,110)
SamSpeak("Ha ha ha ha ha ha ha?",0,140,60,190,190)
SamSpeak("He he ha ha he he ha!",0,140,72,105,110)
SamSpeak("Ha ha ho he he ha?",0,140,32,145,145)
SamSpeak("Ha ha ho ho ha ho?",0,140,64,200,150)
SamSpeak("Ha ha ha ha ha ha ha? Ha ha ha ha ha ha ha!",0,35,92,128,128)
SamSpeak ("That's not funny.")
Return

.demo6
SamSpeak ("Hello my name is SAM.")
SamSpeak ("I will sing the national anthem of the united states of America.")
SamSpeak ("The star spangled banner!")

Restore demo6

For x=1 To 101
Read pt,txt$
SamSpeak (txt$,1,40,pt,0,0,1)
Next

Data  64,"ohohoh",76,"ohohoh",96,"sehehehehehehehehehey",76,"kaeaeaeaeaeaeaeaeaen",64,"yuxuxuxuxuxuxw",48,"siyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy"
Data  38,"baaaaay",42,"dhaaaxaxaxax",48,"daoaoaoaoaoaoaonz",76,"ererererererer",68,"liyiyiyiyiyiyiyiyiy",64,"laaaaaaaaaaaaaaaaaaaaaaaaayt"
Data  64,"whahahaht",64,"sohohuw",38,"praaaaaaaaaaaaaaaauwd",42,"liyiyiy",48,"wiyiyiyiyiyiyiyiyiy",51,"/heheheheheheheheheheheheheheheheheheyld"
Data  56,"aeaeaeaet",51,"dhaaaxaxaxax",48,"twaaaaaaaaaaaaaaiy",48,"laaaaaaaaaaaaiyts",64,"laeaeaeaeaeaeaeaeaest",76,"gliyiyiyiyiyiyiyiyiym"
Data  96,"mihihihihihihihihihihnx",64,"/huxuxuxuxuxuxuxuxuxuxwz",76,"braoaoaod",96,"straaaaaaaaaaaaiyps",76,"aeaeaeaeaeaeaeaeaeaend"
Data  64,"braaaaaaaaaaaaaaiyt",48,"staaaaaaaaaaaaaaaaaaaaaaaaaarz",38,"thruxuxw",42,"dhaaaxaxaxax",48,"pehehehehehehehehehehr",76,"rixixixixixixixixixixixixl"
Data  68,"lahahahahahahahahahs",64,"faaaaaaaaaaaaaaaaaaaaaaaaaaiyt",64,"ohohohr",64,"dhaaaxaxaxax",38,"raeaeaeaeaeaeaeaeaeaeaeaem",42,"paaaarts"
Data  48,"wiyiyiyiyiyiyiyiyiy",51,"waaaaaaaaaaaaaaaaaaaaaaaaaachd",56,"werer",51,"sohohw",48,"gaeaeaeaeaeaeaeaeaeael",48,"lixixixixixixixixixixixixixnt"
Data  64,"liyiyiyiyiyiyiyiyiy",76,"striyiyiyiyiyiyiyiyiym",96,"mihihihihihihihihihnx",38,"aeaeaeaeaend",38,"dhaaaxaxaxax",38,"raaaaaaaaaaaak"
Data  36,"kixixixixixixixixixixixts",32,"rehehehehehehehehehd",32,"gleheheheheheheheheheheheheheheherer",36,"dhaaaxaxaxax",38,"baaaamz",42,"bererererererst"
Data  38,"tihihihihihihihihihnx",36,"ihihihihihihihihihihn",36,"eheheheheheheheheheheheheheheheheheyr",36,"geheheheyv",38,"pruxuxuxuxuxuxuxuxuxuxuxuxwf"
Data  42,"thruxuxw",48,"dhaaaxaxax",51,"naaaaaaaaaaaaaaaaaaaaaaayiyt",56,"dhaeaeaeaet",51,"aaaaaauwr",48,"flaeaeaeaeaeaeaeaeaeg",76,"wahahahahahahahahahz"
Data  68,"stihihihihihihihihihl",64,"dhehehehehehehehehehehehehehehehehehehehr",64,"ohohohohohohow",48,"sehehehehehehehehehey",48,"dahahahahahahahahahz"
Data  48,"dhaeaeae",51,"aeaeaet",56,"staaaaaaaaaaaar",56,"spehehehehehehehehehiynx",56,"gaxaxaxaxaxaxaxaxaxaxaxaxld",42,"baeaeaeaeaeaeaeaeaen"
Data  36,"nerer",38,"ererer",42,"yeheheh",48,"eheheheht",48,"weheheheheheheheheheheh",51,"ehehehehehehehiyiyiyv",64,"ohohohr",64,"dhaaaxaxaxax"
Data  48,"laeaeaeaeaeaeaeaeaeaeaeae",42,"aeaeaend",38,"ahahahv",36,"dhaaaxaxaxax",32,"friyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy",48,"aeaeaend"
Data  42,"dhaaaxaxaxax",38,"/hohohohohohohohohowm",36,"ahahahahv",42,"dhaaaxaxaxaxaxaxaxaxaxaxaxaxax",48,"brehehehehehehehehehehiyiyiyv"

Return 

.demo7
SamSpeak("It's Jazzy Jazzy Jazzy",1,50,96) 
SamSpeak("Jazzy Jazzy Jazzy",1,50,68)
SamSpeak("Jazzy Jazzy Jazzy",1,50,48)
SamSpeak("Jazzy Jazzy Jazzy",1,50,32)
SamSpeak("Jazzy",1,50,96)

Return

.demo9
SamSpeak ("AY5 KAEN TAO5K LAYK AH LIH5TUL OH5LD LEY5DIY.- SWIY5TIY.",0,72,40,145,135,1)
SamSpeak ("You can do anything, but not everything.",0,72,40,145,125)
SamSpeak ("The richest man is not he who has the most. But he who wants the least.",0,72,35,135,135)
SamSpeak ("To the man who only has a hammer, everything he encounters looks like a nail.",0,72,40,145,135)
SamSpeak ("Before I got married I had six ideas about bringing up kids; now I have six kids. And no idea?",0,72,35,145,125)
SamSpeak ("Always forgive your enemies. Nothing annoys them more.",0,72,40,135,135)
SamSpeak ("All people are frauds. The only difference between them is that some admit it. I myself totally dee-nigh. it.",0,72,35,145,125)
SamSpeak ("I do not mind what Con-gress does. As long as they do not do it. in the streets. And frighten the kids!",0,72,40,135,135)
SamSpeak ("Ha ha ha ha ha ha ha? Ha ha ha ha ha ha ha!",0,55,92,128,128)
SamSpeak ("That's not funny grandma.")
SamSpeak ("O.K. Let grandma take it from here.",0,72,40,145,125)
SamSpeak ("SWIY5TIY.",0,72,40,145,135,1)
Return

.demoa
SamSpeak("/HEHLOH3OW. MAY4 NEY4M IHZ SAE4M.",0,72,64,128,128,1)
SamSpeak("AY4 EHM DHAX SAO4FTWEH4R SPIY4CH SIH3NTHAXSAY4ZER FOH4R DHAX KAA3MAXDOH4R KUMPYUWTER.",0,72,64,128,128,1)
SamSpeak("AY4 PROWDUW3S /HAY4 KWAALAXTIY SPIY4CH FRAXM SIHMPAXL FAXNEHTIHK IH3NPUHT.",0,72,64,128,128,1)
SamSpeak("OH3R, AY4 KAEN TRAE3NZLEYT IYNGLIHSH DAXREHKTLIY TUH SPIYCH.",0,72,64,128,128,1)
Return

.demob
Restore demob
Read si,sp,pt,mo,th,pho
For x=1 To 7
	Read txt$
	SamSpeak(txt$,si,sp,pt,mo,th,pho)
Next 


Data -1,72,64,128,128,1
Data "DHAX SOHLIHLAXKWIY FRAXM /HAE3MLEHT. BAY WIHLYAXM SHEY4KSPIHR."
Data "TUH BIYIYIY2--OHR NAAT-TUH BIYIYIY."
Data "DHAET IHZ THAX KWEHSCHAXN."
Data "WEHDHER TIHZ NOHBLER IHN DHAX MAY4ND, TUH SAH4FER THAX SLIY3NGZ AEN3D"
Data "EH4ROWZ AXV AWT REY3JAXS FOH4RCHAXN."
Data "OHR TUH TEYK AARMZ AXGEHNST AX4 SIY AXV TRAH4BAXLZ."
Data "AEND BAY AHPOWZIHNG, EHND DHEHM."
Return

.democ
Restore democ
Read si,sp,pt,mo,th,pho
Read txt$
SamSpeak(txt$,si,sp,pt,mo,th,pho)
Read txt$
SamSpeak(txt$,si,sp,pt,mo,th,pho)
Read th,pho
Read txt$
SamSpeak(txt$,si,sp,pt,mo,th,pho)
Read pt,mo,th,pho
For x=1 To 8
	Read txt$
	SamSpeak(txt$,si,sp,pt,mo,th,pho)
Next
;sing=-1,speed=-1,pitch=-1,mouth=-1,throat=-1,phonetic=-1,
Data -1,72,40,145,125,0,"This is the original file extracted from the Commodore 64.","O.K. Sam. You can take it from here."
Data 135,1,"SWIY5TIY."
Data 64,128,128,1
Data "AY4 WIHL NAW4 KWOWT-DHAX GEHTIYZBERG AXDREH3S.","FOH4R SKOH4R AEND SEHVIXN YIH3RZ AXGOW- AAR FAA3DHERZ BRAAT FOHRTH","AXPAAN DHIHS KAANTIHNEHNT- EY NUH NEY4SHAXN."
Data "KAHNSIYVD IHN LIH4BERTIY, AEND DEH4DIHKEYTIHD TUH DHAX PRAAPAXSIHSHAXN","DHAET AAL MEHN AAR KRIYEY4TAXD IYKWUL.","NAW4 WIY AAR EHNGEYJD IHN DHAX GREYT SIHVAXL WOHR. TEHSTIHNG WEHDHER"
Data "DHAE4T NEY4SHAXN, OHR EH4NIY NEYSHAXN SOH KAXNSIYVD AEND SOH","DEH4DAHKEYTIHD, KAEN LAONX EHNDUH6UHR."
Return

.demod
Restore demod
Read si,sp,pt,mo,th,pho
For x=1 To 4
	Read txt$
	SamSpeak(txt$,si,sp,pt,mo,th,pho)
Next

;sing,speed,pitch,mouth,throat,phonetic 
Data 0,72,64,128,128,1
Data "AY4 PLEHJ AXLIYJAXNS TUH DHAX FLAEG, AXV DHIY YUWNAYTEHD STEYTS","AXV AXMEHRIYKAX. AEND TUH DHAX RIYPAHBLIHK FOHR WIHCH IHT STAENDZ.","WAHN NEYSHAXN AHNDER GAA5AA8D","IHNDIHVIH4ZAXBAXL, WIHTH LIHBERTTIY, AEND JAH4STIHS- FOHR AAL."
Return

Comments

None.

Code Archives Forum