home *** CD-ROM | disk | FTP | other *** search
- 10 REM - PROGRAM TO GENERATE SPEECH USING VOTRAX SC-01
- 20 REM - CHIP CONNECTED TO PARALLEL PORT #110
- 30 REM - CONTROL PORT = 108
- 40 REM - CHECK BIT = 5 (I.E. 32 DECIMAL)
- 50 REM - ELLIOT L. GOLDYN - 9/11/81
- 60 REM - 9530 CREEMORE DRIVE
- 70 REM - TUJUNGA, CALIFORNIA 91042
- 80 REM - (213) 353-8359
- 90 REM - VERSION 2.1
- 100 CLEAR(1000)
- 110 DIM P$(500):DIM E$(255):DIM P(500)
- 120 I=0
- 130 PRINT CHR$(5)
- 140 PRINT"1. TYPE PHONEME CHARACTERS WHEN PROMPTED.":PRINT
- 150 PRINT"2. INFLECTIONS ARE ADDED TO VOICE BY APPENDING A":PRINT
- 160 PRINT "`-1' ,`-2' OR `-3' TO BASIC PHONEME SYMBOL.":PRINT
- 170 PRINT"3. INCORRECT INPUTS MAY BE CORRECTED BY":PRINT
- 180 PRINT"TYPING AN `*' INSTEAD OF A NEW PHONEME.":PRINT
- 190 DATA 42,21,0,41,37,3,29,38,13,2,12,3,25,47,0,43,47,0,25,42
- 200 DATA 42,58,31,62,45,1,1,13,3,37,43,21,35,12,37,42,2,30,62,62
- 210 DATA 62,62,11,9,13,37,22,22,42,3,39,31,3,42,58,12,39,13,32,42
- 220 DATA 2,30,3,45,39,57,3,37,60,43,60,39,30,63
- 230 REM - SPEAKS SIGN ON INSTRUCTIONS
- 240 FOR L=1 TO 74:READ P(L):NEXT L
- 250 FOR L=1 TO 74:OUT 110,P(L)
- 260 IF (INP(108)AND32)<>32 GOTO 260
- 270 NEXT L
- 280 PRINT"4. INPUT IS TERMINATED BY A '.'":PRINT
- 290 PRINT "PHONEME # ";I;" = ";
- 300 INPUT A$
- 310 IF A$<>"*"GOTO 340
- 320 PRINT:INPUT"PHONEME # AND NEW PHONEME";A,N$
- 330 P$(A+1)=N$:PRINT:GOTO 290
- 340 IF A$ = "." THEN GOTO 380
- 350 I=I+1
- 360 P$(I)=A$
- 370 GOTO 290
- 380 FOR K=0 TO 255:READ E$(K):NEXT K
- 390 FOR J=1 TO I
- 400 REM - PRINT OUT PHONEMES AND DECIMAL CODES
- 410 FOR K=0 TO 255
- 420 IF E$(K)=P$(J) THEN GOTO 440 ELSE GOTO 450
- 430 REM - SPEAK INPUT ON SC-01
- 440 P(J)=K:GOTO 460
- 450 NEXT K
- 460 NEXT J
- 470 PRINT:PRINT:PRINT"PHONEMES AND CODES"
- 480 FOR J=1 TO I:PRINT P$(J),P(J):NEXT J
- 490 PRINT:PRINT
- 500 FOR J=1 TO I
- 510 OUT 110,P(J)
- 520 IF (INP(108) AND 32)<>32 GOTO 520
- 530 NEXT J
- 540 OUT 110,63
- 550 IF(INP(108)AND32)<>32 THEN 560
- 560 INPUT"REPEAT PHRASE (Y/N)";R$
- 570 IF R$="Y" GOTO 500
- 580 INPUT"DO YOU WISH TO MAKE MORE SPEECHES";R$
- 590 IF R$="Y" GOTO 100
- 600 END
- 610 REM - THERE ARE 256 PHONEMES IN DATA TABLE, THE POSITION
- 620 REM - OF THE PHONEME IN THE DATA TABLE REPRESENTS THE
- 630 REM - DECIMAL CODE FOR THE PHONEME.
- 640 DATA EH3,EH2,EH1,PA0,DT,A2,A1,ZH,AH2,I3,I2,I1,M,N,B,V
- 650 DATA CH,SH,Z,AW1,NG,AH1,OO1,OO,L,K,J,H,G,F,D,S,A,AY,Y1
- 660 DATA UH3,AH,P,O,I,U,Y,T,R,E,W,AE,AE1,AW2,UH2,UH1,UH,O2
- 670 DATA O1,IU,U1,THV,TH,ER,EH,E1,AW,PA1,STOP
- 680 DATA EH3-1,EH2-1,EH1-1,PA0-1,DT-1,A2-1,A1-1,ZH-1,AH2-1,I3-1
- 690 DATA I2-1,I1-1,M-1,N-1,B-1,V-1
- 700 DATA CH-1,SH-1,Z-1,AW1-1,NG-1,AH1-1,OO1-1,OO-1,L-1,K-1,J-1
- 710 DATA H-1,G-1,F-1,D-1,S-1,A-1,AY-1,Y1-1
- 720 DATA UH3-1,AH-1,P-1,O-1,I-1,U-1,Y-1,T-1,R-1,E-1,W-1,AE-1
- 730 DATA AE1-1,AW2-1,UH2-1,UH1-1,UH-1,O2-1
- 740 DATA O1-1,IU-1,U1-1,THV-1,TH-1,ER-1,EH-1,E1-1,AW-1,PA1,STOP
- 750 DATA EH3-2,EH2-2,EH1-2,PA0-2,DT-2,A2-2,A1-2,ZH-2,AH2-2,I3-2
- 760 DATA I2-2,I1-2,M-2,N-2,B-2,V-2
- 770 DATA CH-2,SH-2,Z-2,AW1-2,NG-2,AH1-2,OO1-2,OO-2,L-2,K-2,J-2
- 780 DATA H-2,G-2,F-2,D-2,S-2,A-2,AY-2,Y1-2
- 790 DATA UH3-2,AH-2,P-2,O-2,I-2,U-2,Y-2,T-2,R-2,E-2,W-2,AE-2
- 800 DATA AE1-2,AW2-2,UH2-2,UH1-2,UH-2,O2-2
- 810 DATA O1-2,IU-2,U1-2,THV-2,TH-2,ER-2,EH-2,E1-2,AW-2,PA1,STOP
- 820 DATA EH3-3,EH2-3,EH1-3,PA0-3,DT-3,A2-3,A1-3,ZH-3,AH2-3,I3-3
- 830 DATA I2-3,I1-3,M-3,N-3,B-3,V-3
- 840 DATA CH-3,SH-3,Z-3,AW1-3,NG-3,AH1-3,OO1-3,OO-3,L-3,K-3,J-3
- 850 DATA H-3,G-3,F-3,D-3,S-3,A-3,AY-3,Y1-3
- 860 DATA UH3-3,AH-3,P-3,O-3,I-3,U-3,Y-3,T-3,R-3,E-3,W-3,AE-3
- 870 DATA AE1-3,AW2-3,UH2-3,UH1-3,UH-3,O2-3
- 880 DATA O1-3,IU-3,U1-3,THV-3,TH-3,ER-3,EH-3,E1-3,AW-3,PA1,STOP
-