Last modified on 19 December 2010, at 17:49

SP0256 Allophones

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.

Downloads

  • 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)