Add KlattFiniSP

speechPlayer_terminate was never called without calling
speechPlayer_initialize right after, so there would always be a FrameManager
laying behind.
This commit is contained in:
Samuel Thibault
2022-03-15 21:27:44 +01:00
parent 43d07abec4
commit 51af5a4155
7 changed files with 26 additions and 2 deletions
+2
View File
@@ -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);
+7
View File
@@ -467,6 +467,13 @@ void KlattReset(int control)
}
}
void KlattFini(void)
{
#ifdef INCLUDE_SPEECHPLAYER
KlattFiniSP();
#endif
}
/*
function FRAME_INIT
+1
View File
@@ -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);
+6 -2
View File
@@ -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){
+1
View File
@@ -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
+7
View File
@@ -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;
+2
View File
@@ -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);