Some newer code to go with photo. I have managed to get a few odd speechy sounds but, that's all.
With the code I currently have it says the words "one ten elev" when the button is pressed. It doesn't get much more exciting than that!
#picaxe 20X2
#Terminal 9600
#No_Data
;Trying to control the SPO256-017 (very old speech chip)
Symbol PA1 = 0x00
Symbol PA2 = 0x01
Symbol PA3 = 0x02
Symbol PA4 = 0x03
Symbol PA5 = 0x04
Symbol OY = 0x05
Symbol AY = 0x06
Symbol EH = 0x07
Symbol KK3 = 0x08
Symbol PP = 0x09
Symbol JH = 0x0A
Symbol NN1 = 0x0B
Symbol IH = 0x0C
Symbol TT2 = 0x0D
Symbol RR1 = 0x0E
Symbol AX = 0x0F
Symbol MM = 0x10
Symbol TT1 = 0x11
Symbol DH1 = 0x12
Symbol IY = 0x13
Symbol EY = 0x14
Symbol DD1 = 0x15
Symbol UW1 = 0x16
Symbol AO = 0x17
Symbol AA = 0x18
Symbol YY2 = 0x19
Symbol AE = 0x1A
Symbol HH1 = 0x1B
Symbol BB1 = 0x1C
Symbol TH = 0x1D
Symbol UH = 0x1E
Symbol UW2 = 0x1F
Symbol AW = 0x20
Symbol DD2 = 0x21
Symbol GG3 = 0x22
Symbol VV = 0x23
Symbol GG1 = 0x24
Symbol SH = 0x25
Symbol ZH = 0x26
Symbol RR2 = 0x27
Symbol FF = 0x28
Symbol KK2 = 0x29
Symbol KK1 = 0x2A
Symbol ZZ = 0x2B
Symbol NG = 0x2C
Symbol LL = 0x2D
Symbol WW = 0x2E
Symbol XR = 0x2F
Symbol WH = 0x30
Symbol YY1 = 0x31
Symbol CH = 0x32
Symbol ER1 = 0x33
Symbol ER2 = 0x34
Symbol OW = 0x35
Symbol DH2 = 0x36
Symbol SSS = 0x37
Symbol NN2 = 0x38
Symbol HH2 = 0x39
Symbol ORR = 0x3A
Symbol AR = 0x3B
Symbol YR = 0x3C
Symbol GG2 = 0x3D
Symbol EL = 0x3E
Symbol BB2 = 0x3F
Symbol ALD = C.4 'output (Address Load)
Symbol LRQ = pinC.6 'input (Load Request)
Symbol allophone = b0
Symbol bin = b1
dirsB = %00111111
table 0,(PA2, JH, AE, AE, NN1, PA5)
'table 0,(PA2, SSS, SSS, EH, PA3, PP, PA3, TT2, EH, EH, PA1, BB2, ER1, PA2)
'table 0,(0x01,0x10,0x0F,0x0B,0x2A,0x13,0x01) 'allophones to say the word "monkey"
'table 7,(0x04,0x24,0x3B,0x02,0x21,0x0C,0x0B) 'allophones to say the word "monkey"
high ALD
pause 50
pressButton:
high c.0
button c.3,1,200,100,b2,1,PlaySound ; jump to cont when C.0 = 1
goto pressButton
PlaySound:
low c.0
for allophone = 0 to 5
readtable allophone, bin
Do : Loop While LRQ = 1 'if LRQ is high then wait for it to go low before loading address
let pinsb = bin
pulsout ALD,10
next allophone
goto pressButton