4 Синтаксис потока битов преобразования текста в речь MPEG-4 Audio*
________________
* В бумажном экземпляре слова "MPEG-4 Audio" в заголовке выделены курсивом. - Примечание изготовителя базы данных.
4.1 TTSSpecificConfig MPEG-A Audio
TTSSpecificConfig () { | |
TTS_Sequence () | |
} |
Таблица 1 - Синтаксис TTS_Sequence ()
Синтаксис | Количество битов | Мнемоника | |
TTS_Sequence () | |||
{ | |||
TTS_Sequence ID; | 5 | uimsbf | |
Language_Code; | 18 | uimsbf | |
Gender_Enable; | 1 | bslbf | |
Age_Enable; | 1 | bslbf | |
Speech_Rate_Enable; | 1 | bslbf | |
Prosody_Enable; | 1 | bslbf | |
Video_Enable; | 1 | bslbf | |
Lip_Shape_Enable; | 1 | bvslbf | |
Trick_Mode_Enable; | 1 | bslbf | |
} |
4.2 Полезная нагрузка преобразования текста в речь MPEG-4 Audio
AlPduPayload { | |
TTS_Sentence (); | |
} |
Таблица 2 - Синтаксис TTS_Sentence ()
Синтаксис | Количество битов | Мнемоника | |||||
TTS_Sentence () | |||||||
{ | |||||||
TTS_Sentence_ID; | 10 | uimsbf | |||||
Silence; | 1 | bslbf | |||||
if (Silence) { | |||||||
SilenceDuration; | 12 | uimsbf | |||||
} | |||||||
else { | |||||||
if (Gender_Enable) { | |||||||
Gender; | 1 | bslbf | |||||
} | |||||||
if (Age_Enable) { | 3 | uimsbf | |||||
Age; | |||||||
} | |||||||
if (!Video_Enable && Speech_Rate_Enable) { | |||||||
Speech_Rate; | 4 | uimsbf | |||||
} | |||||||
Length_of_Text; | 12 | uimsbf | |||||
for (j = 0;j < Length_of_Text; j++) { | |||||||
TTS_Text; | 8 | bslbf | |||||
} | |||||||
if (Prosody_Enable) { | |||||||
Dur_Enable; | 1 | bslbf | |||||
F0_Contour_Enable; | 1 | bslbf | |||||
Energy_Contour_Enable; | 1 | bslbf | |||||
Number_of_Phonemes; | 10 | uimsbf | |||||
Phoneme_Symbols_Length; | 13 | uimsbf | |||||
for (j = 0; j <Phoneme_Symbols_Length; j ++) { | |||||||
Phoneme_Symbols; | 8 | bslbf | |||||
} | |||||||
for (j = 0; j <Number_of_Phonemes; j ++) { | |||||||
if (Dur_Enable) { | |||||||
Dur_each_Phoneme; | 12 | uimsbf | |||||
} | |||||||
if (F0_Contour_Enable) { | |||||||
Num_F0; | 5 | uimsbf | |||||
for (k = 0; k <Num_F0; k ++) { | |||||||
F0_Contour_each_Phoneme; | 8 | uimsbf | |||||
F0_Contour_each_Phoneme_Time; | 12 | uimsbf | |||||
} | |||||||
} | |||||||
if (Energy_Contour_Enable) { | |||||||
Energy_Contour_each_Phoneme; | 8х3=24 | uimsbf | |||||
} | |||||||
} | |||||||
} | |||||||
if (Video_Enable) { | |||||||
Sentence_Duration; | 16 | uimsbf | |||||
Position_in_Sentence; | 16 | uimsbf | |||||
Offset; | 10 | uimsbf | |||||
} | |||||||
if (Lip_Shape_Enable) { | |||||||
Number_of_Lip_Shape; | 10 | uimsbf | |||||
for (j= 0; j <Number_of_Lip_Shape; j ++) { | |||||||
Lip_Shape_in_Sentence; | 16 | uimsbf | |||||
Lip_Shape; | 8 | uimsbf | |||||
} | |||||||
} | |||||||
} | |||||||
} |