| wpm = embedded_value[EMBED_S2]; | wpm = embedded_value[EMBED_S2]; | ||||
| #if HAVE_SONIC_H | #if HAVE_SONIC_H | ||||
| int wpm2; | |||||
| int wpm_value; | int wpm_value; | ||||
| double sonic; | |||||
| speed.min_pause = 5; | speed.min_pause = 5; | ||||
| wpm_value = wpm; | wpm_value = wpm; | ||||
| if (control & 2) | if (control & 2) | ||||
| DoSonicSpeed(1 * 1024); | DoSonicSpeed(1 * 1024); | ||||
| if ((wpm_value >= espeakRATE_MAXIMUM) || ((wpm_value > speed.fast_settings) && (wpm > 350))) { | if ((wpm_value >= espeakRATE_MAXIMUM) || ((wpm_value > speed.fast_settings) && (wpm > 350))) { | ||||
| int wpm2; | |||||
| wpm2 = wpm; | wpm2 = wpm; | ||||
| wpm = espeakRATE_NORMAL; | wpm = espeakRATE_NORMAL; | ||||
| speed3 = (x * voice->speedf3)/256; | speed3 = (x * voice->speedf3)/256; | ||||
| } | } | ||||
| if (control & 2) { | if (control & 2) { | ||||
| double sonic; | |||||
| sonic = ((double)wpm2)/wpm; | sonic = ((double)wpm2)/wpm; | ||||
| DoSonicSpeed((int)(sonic * 1024)); | DoSonicSpeed((int)(sonic * 1024)); | ||||
| speed.pause_factor = 85; | speed.pause_factor = 85; | ||||
| // relative 0=absolute 1=relative | // relative 0=absolute 1=relative | ||||
| int new_value = value; | int new_value = value; | ||||
| int default_value; | |||||
| extern const int param_defaults[N_SPEECH_PARAM]; | extern const int param_defaults[N_SPEECH_PARAM]; | ||||
| if (relative) { | if (relative) { | ||||
| if (parameter < 5) { | if (parameter < 5) { | ||||
| int default_value; | |||||
| default_value = param_defaults[parameter]; | default_value = param_defaults[parameter]; | ||||
| new_value = default_value + (default_value * value)/100; | new_value = default_value + (default_value * value)/100; | ||||
| } | } | ||||
| PHONEME_LIST *p; | PHONEME_LIST *p; | ||||
| PHONEME_LIST *p2; | PHONEME_LIST *p2; | ||||
| int stress; | |||||
| int type; | |||||
| static int more_syllables = 0; | static int more_syllables = 0; | ||||
| bool pre_sonorant = false; | bool pre_sonorant = false; | ||||
| bool pre_voiced = false; | bool pre_voiced = false; | ||||
| int last_pitch = 0; | int last_pitch = 0; | ||||
| int pitch_start; | int pitch_start; | ||||
| int length_mod; | int length_mod; | ||||
| int next2type; | int next2type; | ||||
| int len; | int len; | ||||
| int env2; | int env2; | ||||
| int embedded_ix = 0; | int embedded_ix = 0; | ||||
| int min_drop; | int min_drop; | ||||
| int pitch1; | int pitch1; | ||||
| int emphasized; | |||||
| int tone_mod; | int tone_mod; | ||||
| unsigned char *pitch_env = NULL; | unsigned char *pitch_env = NULL; | ||||
| PHONEME_DATA phdata_tone; | PHONEME_DATA phdata_tone; | ||||
| for (ix = 1; ix < n_phoneme_list; ix++) { | for (ix = 1; ix < n_phoneme_list; ix++) { | ||||
| int stress; | |||||
| int emphasized; | |||||
| prev = &phoneme_list[ix-1]; | prev = &phoneme_list[ix-1]; | ||||
| p = &phoneme_list[ix]; | p = &phoneme_list[ix]; | ||||
| stress = p->stresslevel & 0x7; | stress = p->stresslevel & 0x7; | ||||
| if (p->synthflags & SFLAG_EMBEDDED) | if (p->synthflags & SFLAG_EMBEDDED) | ||||
| DoEmbedded2(&embedded_ix); | DoEmbedded2(&embedded_ix); | ||||
| int type; | |||||
| type = p->type; | type = p->type; | ||||
| if (p->synthflags & SFLAG_SYLLABLE) | if (p->synthflags & SFLAG_SYLLABLE) | ||||
| type = phVOWEL; | type = phVOWEL; |