MAGIC VOICE De-/Codierung

CBM Home Allgemeines
General
Einführung
Introduction
Anschluss
Connection
Anwenden des Moduls
Using the Module
Vokabular
Vocabulary
Tips & Tricks
Tips & Tricks
Ergänzendes
Additional stuff
Demos
Demos
Spiele
Games
Zeitschriften
Magazines
Sprach Downloads
Speech Downloads
Lexikon
Lexicon
Internes
Internal
Hardware
Hardware
Firmware
Firmware
Sprachdaten
Speechdata
Bit-Format
Bit allocation
De-/Codierung
De-/Coding
Nützliches und mehr
Utilities and more
Speech Playtool Magic Game Cart Magic Talkie Magic Voice NT Ersatzteile & Reparatur
Spares & Repair


x.
x.


De- / Codierung - De- / Coding

Parameter Look Up Tables (Coding Tables)

The speech synthesizer basically needs 10 binary bits for each coefficient. However, the requirement for storage can be reduced by encoding the set of coefficients. The synthesis parameter (Pitch, Energy, K1..K10) are stored in EPROM in the Magic Voice Module. Each parameter occupies between 3 and 10 bit. During synthesis, the coded values select a 10-Bit actual parameter from the parameter lookup ROM stored in the T6721A.

(e.g. Texas Instruments TMS 5220 uses the "654P74" coding table also known as "D6")

Tabellen:
- Energy
- Pitch Period
- Kn Parameter

- Excitation Function


Excitation ROM for voiced sounds:

8 byte ROM: rectangle or triangle wave

64 byte ROM: sin wt^2

Unvoiced sounds: random noise generator


Datenkomprimierung der Parameter - Data packing of the parameters

Example:

No. of Bits (Table Bit allocation)

Codes:

Binary:

In Hexa:

Bits inverted in Nibble

Nibbles are swapped

Result:


Inversion Table: (TMS 50C20)
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F



Beispiel Sprachdaten: ZERO

Compressed (Memory)
MVM:
4A D1 FE D7 C1 66 10 7D B2 13 31 72 B3 A2 CC C4 1E 99 55 AB D6 3D 27 7C D7 D4 E1 C0 1A 16 75 78 85 25 59 A6 D9 2E B5 4A 76 A9 59 B5 7E AE 75 CB 6C 59 D9 96 E5

C364:
4A D1 FE F7 0C 36 C5 F5 61 16 31 DC 9C 4D 66 EB 31 DB AC EA 9E 84 EF 4E EA 70 60 4D 8B A6 57 24 29 99 B3 59 AD 62 97 9A D5 D4 CF B5 6E E9 96 95 6D CD F2

Uncompressed (Send to T6721A)
MVM, SAY 0
0x000,
0x003, 0x02B, 0x227, 0x3DE, 0x02B, 0x035, 0x032, 0x027, 0x07D, 0x005, 0x006, 0x006,
0x008, 0x02C, 0x2B4, 0x326, 0x35A, 0x0F8, 0x004, 0x02D, 0x016, 0x00B, 0x00D, 0x004,
0x008, 0x02C, 0x2B4, 0x326, 0x35A, 0x0F8, 0x004, 0x02D, 0x016, 0x00B, 0x00D, 0x004,
0x008, 0x02C, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x00A, 0x02C, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x008, 0x02B, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x00C, 0x02A, 0x353, 0x396, 0x329, 0x0F2, 0x001, 0x02B, 0x002, 0x001, 0x003, 0x003,
0x023, 0x029, 0x353, 0x396, 0x329, 0x0F2, 0x001, 0x02B, 0x002, 0x001, 0x003, 0x003,
0x053, 0x028, 0x34D, 0x004, 0x316, 0x013, 0x01E, 0x04B, 0x07C, 0x002, 0x07A, 0x07D,
0x07E, 0x027, 0x3C9, 0x3BB, 0x2AE, 0x007, 0x030, 0x03E, 0x010, 0x072, 0x002, 0x07B,
0x07E, 0x026, 0x3C9, 0x3BB, 0x2AE, 0x007, 0x030, 0x03E, 0x010, 0x072, 0x002, 0x07B,
0x043, 0x025, 0x27E, 0x3B3, 0x3BF, 0x0F6, 0x015, 0x02A, 0x01A, 0x079, 0x001, 0x000,
0x012, 0x024, 0x254, 0x0EA, 0x013, 0x017, 0x000, 0x0E1, 0x015, 0x003, 0x004, 0x003,
0x00A, 0x025, 0x230, 0x1A2, 0x308, 0x0FD, 0x022, 0x01F, 0x016, 0x001, 0x000, 0x07C,
0x012, 0x025, 0x230, 0x1A2, 0x308, 0x0FD, 0x022, 0x01F, 0x016, 0x001, 0x000, 0x07C,
0x036, 0x026, 0x2D3, 0x123, 0x28F, 0x044, 0x019, 0x0FE, 0x018, 0x071, 0x000, 0x002,
0x066, 0x027, 0x317, 0x0F9, 0x306, 0x003, 0x03A, 0x0FB, 0x01C, 0x074, 0x079, 0x006,
0x07E, 0x028, 0x297, 0x13C, 0x3FB, 0x008, 0x00E, 0x0F7, 0x029, 0x079, 0x07F, 0x00B,
0x066, 0x028, 0x2EB, 0x0A6, 0x3D5, 0x016, 0x010, 0x01C, 0x012, 0x071, 0x004, 0x004,
0x053, 0x028, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x053, 0x027, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x036, 0x026, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x023, 0x025, 0x294, 0x09C, 0x131, 0x004, 0x0DF, 0x013, 0x026, 0x07C, 0x000, 0x004,
0x017, 0x024, 0x294, 0x09C, 0x131, 0x004, 0x0DF, 0x013, 0x026, 0x07C, 0x000, 0x004,
0x00C, 0x022, 0x229, 0x10E, 0x092, 0x0F1, 0x0F9, 0x023, 0x01F, 0x073, 0x000, 0x000,
0x006, 0x020, 0x24B, 0x1C5, 0x025, 0x0CC, 0x002, 0x031, 0x01F, 0x06C, 0x000, 0x005,
0x002, 0x01F, 0x21B, 0x194, 0x018, 0x0DF, 0x000, 0x030, 0x016, 0x079, 0x005, 0x07C,
0x002, 0x01D, 0x229, 0x10E, 0x092, 0x0F1, 0x0F9, 0x023, 0x01F, 0x073, 0x000, 0x000,
0x001, 0x01D, 0x21B, 0x194, 0x018, 0x0DF, 0x000, 0x030, 0x016, 0x079, 0x005, 0x07C,
0x000,


V364, SAY 0
0x000,
0x00A, 0x02B, 0x227, 0x3DE, 0x02B, 0x035, 0x032, 0x027, 0x07D, 0x005, 0x006, 0x006,
0x012, 0x02C, 0x2B4, 0x326, 0x35A, 0x0F8, 0x004, 0x02D, 0x016, 0x00B, 0x00D, 0x004,
0x012, 0x02C, 0x2B4, 0x326, 0x35A, 0x0F8, 0x004, 0x02D, 0x016, 0x00B, 0x00D, 0x004,
0x01D, 0x02C, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x01D, 0x02C, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x01D, 0x02B, 0x3B7, 0x321, 0x37D, 0x0DC, 0x0F4, 0x003, 0x007, 0x008, 0x013, 0x009,
0x023, 0x02A, 0x353, 0x396, 0x329, 0x0F2, 0x001, 0x02B, 0x002, 0x001, 0x003, 0x003,
0x07E, 0x029, 0x353, 0x396, 0x329, 0x0F2, 0x001, 0x02B, 0x002, 0x001, 0x003, 0x003,
0x07E, 0x028, 0x34D, 0x004, 0x316, 0x013, 0x01E, 0x04B, 0x07C, 0x002, 0x07A, 0x07D,
0x07E, 0x027, 0x3C9, 0x3BB, 0x2AE, 0x007, 0x030, 0x03E, 0x010, 0x072, 0x002, 0x07B,
0x07E, 0x026, 0x3C9, 0x3BB, 0x2AE, 0x007, 0x030, 0x03E, 0x010, 0x072, 0x002, 0x07B,
0x07E, 0x025, 0x27E, 0x3B3, 0x3BF, 0x0F6, 0x015, 0x02A, 0x01A, 0x079, 0x001, 0x000,
0x053, 0x024, 0x254, 0x0EA, 0x013, 0x017, 0x000, 0x0E1, 0x015, 0x003, 0x004, 0x003,
0x017, 0x025, 0x230, 0x1A2, 0x308, 0x0FD, 0x022, 0x01F, 0x016, 0x001, 0x000, 0x07C,
0x02B, 0x025, 0x230, 0x1A2, 0x308, 0x0FD, 0x022, 0x01F, 0x016, 0x001, 0x000, 0x07C,
0x07E, 0x026, 0x2D3, 0x123, 0x28F, 0x044, 0x019, 0x0FE, 0x018, 0x071, 0x000, 0x002,
0x07E, 0x027, 0x317, 0x0F9, 0x306, 0x003, 0x03A, 0x0FB, 0x01C, 0x074, 0x079, 0x006,
0x07E, 0x028, 0x297, 0x13C, 0x3FB, 0x008, 0x00E, 0x0F7, 0x029, 0x079, 0x07F, 0x00B,
0x07E, 0x028, 0x2EB, 0x0A6, 0x3D5, 0x016, 0x010, 0x01C, 0x012, 0x071, 0x004, 0x004,
0x07E, 0x028, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x07E, 0x027, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x07E, 0x026, 0x279, 0x14F, 0x05F, 0x00E, 0x0EF, 0x02B, 0x01A, 0x073, 0x008, 0x000,
0x066, 0x025, 0x294, 0x09C, 0x131, 0x004, 0x0DF, 0x013, 0x026, 0x07C, 0x000, 0x004,
0x043, 0x024, 0x294, 0x09C, 0x131, 0x004, 0x0DF, 0x013, 0x026, 0x07C, 0x000, 0x004,
0x01D, 0x022, 0x229, 0x10E, 0x092, 0x0F1, 0x0F9, 0x023, 0x01F, 0x073, 0x000, 0x000,
0x00F, 0x020, 0x24B, 0x1C5, 0x025, 0x0CC, 0x002, 0x031, 0x01F, 0x06C, 0x000, 0x005,
0x008, 0x01F, 0x21B, 0x194, 0x018, 0x0DF, 0x000, 0x030, 0x016, 0x079, 0x005, 0x07C,
0x008, 0x01D, 0x229, 0x10E, 0x092, 0x0F1, 0x0F9, 0x023, 0x01F, 0x073, 0x000, 0x000,
0x003, 0x01D, 0x21B, 0x194, 0x018, 0x0DF, 0x000, 0x030, 0x016, 0x079, 0x005, 0x07C,
0x000,


More into detail
0x000,
0x003, 0x02B, 0x227, 0x3DE, 0x02B, 0x035, 0x032, 0x027, 0x07D, 0x005, 0x006, 0x006,

Eng: 7 Bit, Value = 0x003 =       000 0011
Pit: 7 Bit, Value = 0x02B =       010 1011
K01:10 Bit, Value = 0x227 =   10 0010 0111
K02:10 Bit, Value = 0x3DE =   11 1101 1110
K03:10 Bit, Value = 0x02B =   00 0010 1011
K04: 8 Bit, Value = 0x035 =      0011 0101
K05: 8 Bit, Value = 0x032 =      0011 0010
K06: 8 Bit, Value = 0x027 =      0010 0111
K07: 7 Bit, Value = 0x07D =       111 1101
K08: 7 Bit, Value = 0x005 =       000 0101
K09: 7 Bit, Value = 0x006 =       000 0110
K10: 7 Bit, Value = 0x006 =       000 0110


000 0011 / 010 1011 / 10 0010 0111 / 11 1101 1110 / 00 0010 1011 / 0011 0101 / 0011 0010 / 0010 0111 / 111 1101 / 000 0101 / 000 0110 / 000 0110
D1 = 1101 0001
FE = 1111 1110
D7 = 1101 0111
C1 = 1100 0001

E5 = 1110 0101 / 96 = 1001 0110 == 3 2B
F2 = 1111 0010 / CD = 1100 1101 == A 2B


Nach oben zum Menü - Go top to menu
Copyright © 2006-2011 Stefan Uhlmann - Aktualisiert: 10. September 2011 - Valid HTML 4.01!