| static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3); | static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3); | ||||
| static void SetSpeedMods(SPEED_FACTORS *speed, int voiceSpeedF1, int wpm, int x); | static void SetSpeedMods(SPEED_FACTORS *speed, int voiceSpeedF1, int wpm, int x); | ||||
| static void SetSpeedMultiplier(int *x, int *wpm); | |||||
| extern int saved_parameters[]; | extern int saved_parameters[]; | ||||
| return; | return; | ||||
| } | } | ||||
| if (wpm > espeakRATE_MAXIMUM) | |||||
| wpm = espeakRATE_MAXIMUM; | |||||
| wpm2 = wpm; | |||||
| if (wpm > 359) wpm2 = 359; | |||||
| if (wpm < espeakRATE_MINIMUM) wpm2 = espeakRATE_MINIMUM; | |||||
| x = speed_lookup[wpm2-espeakRATE_MINIMUM]; | |||||
| if (wpm >= 380) | |||||
| x = 7; | |||||
| if (wpm >= 400) | |||||
| x = 6; | |||||
| SetSpeedMultiplier(&x, &wpm); | |||||
| if (control & 1) { | if (control & 1) { | ||||
| SetSpeedFactors(voice, x, &speed1, &speed2, &speed3); | SetSpeedFactors(voice, x, &speed1, &speed2, &speed3); | ||||
| if (voice->speed_percent > 0) | if (voice->speed_percent > 0) | ||||
| wpm = (wpm * voice->speed_percent)/100; | wpm = (wpm * voice->speed_percent)/100; | ||||
| if (wpm > espeakRATE_MAXIMUM) | |||||
| wpm = espeakRATE_MAXIMUM; | |||||
| wpm2 = wpm; | |||||
| if (wpm > 359) wpm2 = 359; | |||||
| if (wpm < espeakRATE_MINIMUM) wpm2 = espeakRATE_MINIMUM; | |||||
| x = speed_lookup[wpm2-espeakRATE_MINIMUM]; | |||||
| if (wpm >= 380) | |||||
| x = 7; | |||||
| if (wpm >= 400) | |||||
| x = 6; | |||||
| SetSpeedMultiplier(&x, &wpm); | |||||
| if (control & 1) { | if (control & 1) { | ||||
| SetSpeedFactors(voice, x, &speed1, &speed2, &speed3); | SetSpeedFactors(voice, x, &speed1, &speed2, &speed3); | ||||
| #endif | #endif | ||||
| static void SetSpeedMultiplier(int *x, int *wpm) { | |||||
| int wpm2; | |||||
| if (*wpm > espeakRATE_MAXIMUM) | |||||
| *wpm = espeakRATE_MAXIMUM; | |||||
| wpm2 = *wpm; | |||||
| if (*wpm > 359) wpm2 = 359; | |||||
| if (*wpm < espeakRATE_MINIMUM) { | |||||
| wpm2 = espeakRATE_MINIMUM; | |||||
| } | |||||
| *x = speed_lookup[wpm2-espeakRATE_MINIMUM]; | |||||
| if (*wpm >= 380) | |||||
| *x = 7; | |||||
| if (*wpm >= 400) | |||||
| *x = 6; | |||||
| } | |||||
| static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3) { | static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3) { | ||||
| // set speed factors for different syllable positions within a word | // set speed factors for different syllable positions within a word | ||||
| // these are used in CalcLengths() | // these are used in CalcLengths() |