- SP0256 Voice Generator
- SP0256 Instruction Set
- SP0256 Allophones
- SP0256 Pin-Outs
- SP0256 on Printer Port (DIY)
SP0256-AL2 Allophone List
Num Name Example Funny Actual Num Name Example Funny Actual 00h PA1 PAUSE 10ms 6.4ms 20h /AW/ Out 370ms 254.8ms 01h PA2 PAUSE 30ms 25.6ms 21h /DD2/ Do 160ms 72.1ms 02h PA3 PAUSE 50ms 44.8ms 22h /GG3/ Wig 140ms 110.5ms 03h PA4 PAUSE 100ms 96.0ms 23h /VV/ Vest 190ms 127.4ms 04h PA5 PAUSE 200ms 198.4ms 24h /GG1/ Got 80ms 72.1ms 05h /OY/ Boy 420ms 291.2ms 25h /SH/ Ship 160ms 198.4ms 06h /AY/ Sky 260ms 172.9ms 26h /ZH/ Azure 190ms 134.1ms 07h /EH/ End 70ms 54.6ms 27h /RR2/ Brain 120ms 81.9ms 08h /KK3/ Comb 120ms 76.8ms 28h /FF/ Food 150ms 108.8ms 09h /PP/ Pow 210ms 147.2ms 29h /KK2/ Sky 190ms 134.4ms 0Ah /JH/ Dodge 140ms 98.4ms 2Ah /KK1/ Can't 160ms 115.2ms 0Bh /NN1/ Thin 140ms 172.9ms 2Bh /ZZ/ Zoo 210ms 148.6ms 0Ch /IH/ Sit 70ms 45.5ms 2Ch /NG/ Anchor 220ms 200.2ms 0Dh /TT2/ To 140ms 96.0ms 2Dh /LL/ Lake 110ms 81.9ms 0Eh /RR1/ Rural 170ms 127.4ms 2Eh /WW/ Wool 180ms 145.6ms 0Fh /AX/ Succeed 70ms 54.6ms 2Fh /XR/ Repair 360ms 245.7ms 10h /MM/ Milk 180ms 182.0ms 30h /WH/ Whig 200ms 145.2ms 11h /TT1/ Part 100ms 76.8ms 31h /YY1/ Yes 130ms 91.0ms 12h /DH1/ They 290ms 136.5ms 32h /CH/ Church 190ms 147.2ms 13h /IY/ See 250ms 172.9ms 33h /ER1/ Letter 160ms 109.2ms 14h /EY/ Beige 280ms 200.2ms 34h /ER2/ Fir 300ms 209.3ms 15h /DD1/ Could 70ms 45.5ms 35h /OW/ Beau 240ms 172.9ms 16h /UW1/ To 100ms 63.7ms 36h /DH2/ Bath 240ms 182.0ms 17h /AO/ Aught 100ms 72.8ms 37h /SS/ Vest 90ms 64.0ms 18h /AA/ Hot 100ms 63.7ms 38h /NN2/ No 190ms 136.5ms 19h /YY2/ Yes 180ms 127.4ms 39h /HH2/ Hoe 180ms 126.0ms 1Ah /AE/ Hat 120ms 81.9ms 3Ah /OR/ Store 330ms 236.6ms 1Bh /HH1/ He 130ms 89.6ms 3Bh /AR/ Alarm 290ms 200.2ms 1Ch /BB1/ Business 80ms 36.4ms 3Ch /YR/ Clear 350ms 245.7ms 1Dh /TH/ Thin 180ms 128.0ms 3Dh /GG2/ Guest 40ms 69.4ms 1Eh /UH/ Book 100ms 72.8ms 3Eh /EL/ Saddle 190ms 136.5ms 1Fh /UW2/ Food 260ms 172.9ms 3Fh /BB2/ Business 50ms 50.2ms
- Mind that completion of an allophone doesn't mute the voice generator (it'll keep repeating the end of the allophone until receiving a new allophone). To mute the voice generator, output a short pause (eg. PA1) after your last allophone.
- The "Funny" timings are from the SP0256-AL2 data sheet (these values are totally wrong).
- The "Actual" timings are calculated from the pitch/repeat values in the AL2 ROM (these values should be 100% correct).
Other Allophone/Word Sets
For curiosity, below are some other SP0256-xx variants (none of the known CPC devices are using that variants though).
SP0256-012 Word List
This chip is used in the "Intellivoice" expansion module for Mattel's Intellivision.
00h (SPB640 08h One 14h Thirteen 20h Seventy Speech 09h Two 15h Fourteen 21h Eighty FIFO) 0Ah Three 16h Fifteen 22h Ninety 01h pause4 0Bh Four 17h Sixteen 23h Hundred 02h pause3 0Ch Five 18h Seventeen 24h Thousand 03h pause2 0Dh Six 19h Eighteen 25h -teen 04h pause1 0Eh Seven 1Ah Nineteen 26h -ty 05h pause0 0Fh Eight 1Bh Twenty 27h Press 06h "Mattel 10h Nine 1Ch Thirty 28h Enter Electronics 11h Ten 1Dh Fourty 29h Or Presents" 12h Eleven 1Eh Fifty 2Ah And 07h Zero 13h Twelve 1Fh Sixty
There isn't much known about the SPB640 FIFO, as far as I understand, it does have three functions: It can hold up to 64 word/allophone numbers (to be injected to A1..A8 pins of the SP0256), it can hold opcodes/parameters (to be injected to SER IN pin of the SP0256), and it includes a general purpose I/O port.
SP0256-017 Word List
00h Oh 09h Nine 12h Eighteen 1Bh Hour 01h One 0Ah Ten 13h Nineteen 1Ch Minute 02h Two 0Bh Eleven 14h Twenty 1Dh Hundred Hour 03h Three 0Ch Twelve 15h Thirty 1Eh Good Morning 04h Four 0Dh Thirteen 16h Forty 1Fh Attention Please 05h Five 0Eh Fourteen 17h Fifty 20h Please Hurry 06h Six 0Fh Fifteen 18h It is 21h Melody A 07h Seven 10h Sixteen 19h A.M. 22h Melody B 08h Eight 11h Seventeen 1Ah P.M. 23h Melody C
SP0256-019 (or rather SP0256B-019) Allophone/Word/Phrase List
This chip is used in "The Voice", an expansion module for the Odyssey 2. The chip contains the following allophones and words:
80h..BFh Allophones (same as 00h..3Fh on SP0256-AL2) C0h "Enemy" C1h "All clear" C2h "Please" C3h "Get off" C4h "Open fire" C5h "Watch out" C6h "Mercy" C7h "Hit it" C8h "You blew it" C9h "Do it again" CAh "Incredible" FAh "U.F.O." FBh "Monster!"
Not sure why bit7 is set in the codes (it should be written like so to the O2 I/O ports, but maybe the bit isn't actually passed to the SP0256 chip)? Additionally, the expansion module contains 3 built-in speech ROMs with sound effects and various words/phrases like "Amazing", "Come on", "Outch", etc. Moreover, Odyssey 2 game cartridges can contain up to 5 external speech ROMs. For details see "Odyssey 2 Technical Specs" from Daniel Boris.
- Distorted SP0256-AL2 allophones as 8bit WAV files - Caution this file contains corrupted AL2 allophones (apparently recorded without issuing a PAUSE after each allophone, so the allophones have wrong length. For example, /A0/ should repeat 8 times, but in the WAV file it accidently repeats 10.5 times) (note: instead of using the physical durations, the length of the recordings seems to be based on the lengths specified in the datasheet, which are totally wrong)