Browse Source

code cleanup: refactor and remove duplication by unifying SetSpeed()

implemantations.

It is unclear why the two implementations differ.
master
Juho Hiltunen 2 years ago
parent
commit
8170775113
1 changed files with 9 additions and 37 deletions
  1. 9
    37
      src/libespeak-ng/setlengths.c

+ 9
- 37
src/libespeak-ng/setlengths.c View File

static int speed2 = 121; static int speed2 = 121;
static int speed3 = 118; static int speed3 = 118;


#if HAVE_SONIC_H

void SetSpeed(int control) void SetSpeed(int control)
{ {
int x; int x;
int wpm; int wpm;
int wpm2;
int wpm_value;
double sonic;


speed.min_sample_len = espeakRATE_MAXIMUM; speed.min_sample_len = espeakRATE_MAXIMUM;
speed.lenmod_factor = 110; // controls the effect of FRFLAG_LEN_MOD reduce length change speed.lenmod_factor = 110; // controls the effect of FRFLAG_LEN_MOD reduce length change
speed.lenmod2_factor = 100; speed.lenmod2_factor = 100;
speed.min_pause = 5;


wpm = embedded_value[EMBED_S]; wpm = embedded_value[EMBED_S];
if (control == 2) if (control == 2)
wpm = embedded_value[EMBED_S2]; wpm = embedded_value[EMBED_S2];


#if HAVE_SONIC_H
int wpm2;
int wpm_value;
double sonic;

speed.min_pause = 5;

wpm_value = wpm; wpm_value = wpm;


if (voice->speed_percent > 0) if (voice->speed_percent > 0)
return; return;
} }


SetSpeedMultiplier(&x, &wpm);

if (control & 1) {
SetSpeedFactors(voice, x, &speed1, &speed2, &speed3);
}

if (control & 2) {
SetSpeedMods(&speed, voice->speedf1, wpm, x);
}
}

#else

void SetSpeed(int control)
{
// This is the earlier version of SetSpeed() before sonic speed-up was added
int x;
int wpm;
int wpm2;

speed.min_sample_len = espeakRATE_MAXIMUM;
speed.lenmod_factor = 110; // controls the effect of FRFLAG_LEN_MOD reduce length change
speed.lenmod2_factor = 100;

wpm = embedded_value[EMBED_S];
if (control == 2)
wpm = embedded_value[EMBED_S2];

#else
if (voice->speed_percent > 0) if (voice->speed_percent > 0)
wpm = (wpm * voice->speed_percent)/100; wpm = (wpm * voice->speed_percent)/100;
#endif


SetSpeedMultiplier(&x, &wpm); SetSpeedMultiplier(&x, &wpm);




if (control & 2) { if (control & 2) {
SetSpeedMods(&speed, voice->speedf1, wpm, x); SetSpeedMods(&speed, voice->speedf1, wpm, x);

} }
} }


#endif

static void SetSpeedMultiplier(int *x, int *wpm) { static void SetSpeedMultiplier(int *x, int *wpm) {
int wpm2; int wpm2;



Loading…
Cancel
Save