speechPlayer_terminate was never called without calling speechPlayer_initialize right after, so there would always be a FrameManager laying behind.master
@@ -2631,6 +2631,8 @@ espeak_ng_CompilePhonemeDataPath(long rate, | |||
fclose(f_report); | |||
WavegenFini(); | |||
if (resample_count > 0) { | |||
fprintf(f_errors, "\n%d WAV files resampled to %d Hz\n", resample_count, samplerate_native); | |||
fprintf(log, "Compiled phonemes: %d errors, %d files resampled to %d Hz.\n", error_count, resample_count, samplerate_native); |
@@ -467,6 +467,13 @@ void KlattReset(int control) | |||
} | |||
} | |||
void KlattFini(void) | |||
{ | |||
#ifdef INCLUDE_SPEECHPLAYER | |||
KlattFiniSP(); | |||
#endif | |||
} | |||
/* | |||
function FRAME_INIT | |||
@@ -179,6 +179,7 @@ typedef struct { | |||
} klatt_peaks_t; | |||
void KlattInit(void); | |||
void KlattFini(void); | |||
void KlattReset(int control); | |||
int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata, voice_t *wvoice); | |||
@@ -97,9 +97,13 @@ void KlattInitSP() { | |||
speechPlayerHandle=speechPlayer_initialize(22050); | |||
} | |||
void KlattResetSP() { | |||
void KlattFiniSP() { | |||
speechPlayer_terminate(speechPlayerHandle); | |||
speechPlayerHandle=speechPlayer_initialize(22050); | |||
} | |||
void KlattResetSP() { | |||
KlattFiniSP(); | |||
KlattInitSP(); | |||
} | |||
int Wavegen_KlattSP(WGEN_DATA *wdata, voice_t *wvoice, int length, int resume, frame_t *fr1, frame_t *fr2){ |
@@ -11,6 +11,7 @@ extern "C" { | |||
void KlattInitSP(void); | |||
void KlattResetSP(void); | |||
void KlattFiniSP(void); | |||
int Wavegen_KlattSP(WGEN_DATA *wdata, voice_t *wvoice, int length, int resume, frame_t *fr1, frame_t *fr2); | |||
#ifdef __cplusplus |
@@ -364,6 +364,13 @@ void WavegenInit(int rate, int wavemult_fact) | |||
#endif | |||
} | |||
void WavegenFini(void) | |||
{ | |||
#ifdef INCLUDE_KLATT | |||
KlattFini(); | |||
#endif | |||
} | |||
int GetAmplitude(void) | |||
{ | |||
int amp; |
@@ -60,6 +60,8 @@ void SetPitch2(voice_t *voice, | |||
void WavegenInit(int rate, | |||
int wavemult_fact); | |||
void WavegenFini(void); | |||
int WavegenFill(void); | |||
void WavegenSetVoice(voice_t *v); |