Browse Source

cleanup: refactor and remove duplication from SetSpeed() implementations.

master
Juho Hiltunen 2 years ago
parent
commit
84f58824af
1 changed files with 8 additions and 25 deletions
  1. 8
    25
      src/libespeak-ng/setlengths.c

+ 8
- 25
src/libespeak-ng/setlengths.c View File

#include "synthesize.h" #include "synthesize.h"
#include "translate.h" #include "translate.h"


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


extern int saved_parameters[]; extern int saved_parameters[];
x = 6; x = 6;


if (control & 1) { if (control & 1) {
// set speed factors for different syllable positions within a word
// these are used in CalcLengths()
speed1 = (x * voice->speedf1)/256;
speed2 = (x * voice->speedf2)/256;
speed3 = (x * voice->speedf3)/256;

if (x <= 7) {
speed1 = x;
speed2 = speed3 = x - 1;
}
SetSpeedFactors(voice, x, &speed1, &speed2, &speed3);
} }


if (control & 2) { if (control & 2) {
x = 6; x = 6;


if (control & 1) { if (control & 1) {
// set speed factors for different syllable positions within a word
// these are used in CalcLengths()
speed1 = (x * voice->speedf1)/256;
speed2 = (x * voice->speedf2)/256;
speed3 = (x * voice->speedf3)/256;

if (x <= 7) {
speed1 = x;
speed2 = speed3 = x - 1;
}
SetSpeedFactors(voice, x, &speed1, &speed2, &speed3);
} }


if (control & 2) { if (control & 2) {
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()
speed1 = (x * voice->speedf1)/256;
speed2 = (x * voice->speedf2)/256;
speed3 = (x * voice->speedf3)/256;
*speed1 = (x * voice->speedf1)/256;
*speed2 = (x * voice->speedf2)/256;
*speed3 = (x * voice->speedf3)/256;


if (x <= 7) { if (x <= 7) {
speed1 = x;
speed2 = speed3 = x - 1;
*speed1 = x;
*speed2 = *speed3 = x - 1;
} }
} }



Loading…
Cancel
Save