From 516144d63aa66d989395633c5302c72e3ef753d8 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Mon, 20 Jul 2020 11:30:48 +0300 Subject: [PATCH 01/11] code cleanup: combine Wavegen_Klatt() and Wavegen_Klatt2(). Wavegen_Klatt2() only had one if-statement and then called Wavegen_Klatt(). Wavegen_Klatt() was never called directly. --- src/libespeak-ng/klatt.c | 14 +++++--------- src/libespeak-ng/klatt.h | 3 +-- src/libespeak-ng/wavegen.c | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/libespeak-ng/klatt.c b/src/libespeak-ng/klatt.c index 15341912..66f86762 100644 --- a/src/libespeak-ng/klatt.c +++ b/src/libespeak-ng/klatt.c @@ -63,6 +63,7 @@ static double gen_noise(double); static double DBtoLIN(long); static void frame_init(klatt_frame_ptr); static void setabc(long, long, resonator_ptr); +static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *v, int control); static void setzeroabc(long, long, resonator_ptr); static klatt_frame_t kt_frame; @@ -845,8 +846,11 @@ static int klattp[N_KLATTP]; static double klattp1[N_KLATTP]; static double klattp_inc[N_KLATTP]; -static int Wavegen_Klatt(int resume) +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) { + if (resume == 0) + SetSynth_Klatt(length, fr1, fr2, wvoice, 1); + int pk; int x; int ix; @@ -1050,14 +1054,6 @@ static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *v, i } } -int Wavegen_Klatt2(int length, int resume, frame_t *fr1, frame_t *fr2) -{ - if (resume == 0) - SetSynth_Klatt(length, fr1, fr2, wvoice, 1); - - return Wavegen_Klatt(resume); -} - void KlattInit() { diff --git a/src/libespeak-ng/klatt.h b/src/libespeak-ng/klatt.h index f8acdb84..42fcc8d9 100644 --- a/src/libespeak-ng/klatt.h +++ b/src/libespeak-ng/klatt.h @@ -179,8 +179,7 @@ typedef struct { void KlattInit(void); void KlattReset(int control); -int Wavegen_Klatt2(int length, int resume, frame_t *fr1, frame_t *fr2); - +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2); #ifdef __cplusplus } diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index e48868cb..38987b70 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -1346,7 +1346,7 @@ static int WavegenFill2() wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case case WCMD_KLATT: echo_complete = echo_length; - result = Wavegen_Klatt2(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3]); + result = Wavegen_Klatt(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3]); break; #endif case WCMD_MARKER: From 1b7c3303ef4f367c5df7c4dc316b30582377774c Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Mon, 20 Jul 2020 16:28:00 +0300 Subject: [PATCH 02/11] code cleanup: pass WGEN_DATA wdata as a parameter instead of using a global Contributes to #68. --- src/libespeak-ng/klatt.c | 37 ++++++++++++++++++------------------- src/libespeak-ng/klatt.h | 2 +- src/libespeak-ng/wavegen.c | 2 +- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/libespeak-ng/klatt.c b/src/libespeak-ng/klatt.c index 66f86762..4be4874f 100644 --- a/src/libespeak-ng/klatt.c +++ b/src/libespeak-ng/klatt.c @@ -42,7 +42,6 @@ extern unsigned char *out_ptr; extern unsigned char *out_start; extern unsigned char *out_end; -extern WGEN_DATA wdata; static int nsamples; static int sample_count; @@ -243,7 +242,7 @@ static double sampled_source(int source_num) Converts synthesis parameters to a waveform. */ -static int parwave(klatt_frame_ptr frame) +static int parwave(klatt_frame_ptr frame, WGEN_DATA *wdata) { double temp; int value; @@ -377,24 +376,24 @@ static int parwave(klatt_frame_ptr frame) out = outbypas - out; out = resonator(&(kt_globals.rsn[Rout]), out); - temp = (int)(out * wdata.amplitude * kt_globals.amp_gain0); // Convert back to integer + temp = (int)(out * wdata->amplitude * kt_globals.amp_gain0); // Convert back to integer // mix with a recorded WAV if required for this phoneme signed char c; int sample; - if (wdata.mix_wavefile_ix < wdata.n_mix_wavefile) { - if (wdata.mix_wave_scale == 0) { + if (wdata->mix_wavefile_ix < wdata->n_mix_wavefile) { + if (wdata->mix_wave_scale == 0) { // a 16 bit sample - c = wdata.mix_wavefile[wdata.mix_wavefile_ix+1]; - sample = wdata.mix_wavefile[wdata.mix_wavefile_ix] + (c * 256); - wdata.mix_wavefile_ix += 2; + c = wdata->mix_wavefile[wdata->mix_wavefile_ix+1]; + sample = wdata->mix_wavefile[wdata->mix_wavefile_ix] + (c * 256); + wdata->mix_wavefile_ix += 2; } else { // a 8 bit sample, scaled - sample = (signed char)wdata.mix_wavefile[wdata.mix_wavefile_ix++] * wdata.mix_wave_scale; + sample = (signed char)wdata->mix_wavefile[wdata->mix_wavefile_ix++] * wdata->mix_wave_scale; } - int z2 = sample * wdata.amplitude_v / 1024; - z2 = (z2 * wdata.mix_wave_amp)/40; + int z2 = sample * wdata->amplitude_v / 1024; + z2 = (z2 * wdata->mix_wave_amp)/40; temp += z2; } @@ -846,7 +845,7 @@ static int klattp[N_KLATTP]; static double klattp1[N_KLATTP]; static double klattp_inc[N_KLATTP]; -int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata) { if (resume == 0) SetSynth_Klatt(length, fr1, fr2, wvoice, 1); @@ -860,7 +859,7 @@ int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) sample_count = 0; while (sample_count < nsamples) { - kt_frame.F0hz10 = (wdata.pitch * 10) / 4096; + kt_frame.F0hz10 = (wdata->pitch * 10) / 4096; // formants F6,F7,F8 are fixed values for cascade resonators, set in KlattInit() // but F6 is used for parallel resonator @@ -908,10 +907,10 @@ int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) } // advance the pitch - wdata.pitch_ix += wdata.pitch_inc; - if ((ix = wdata.pitch_ix>>8) > 127) ix = 127; - x = wdata.pitch_env[ix] * wdata.pitch_range; - wdata.pitch = (x>>8) + wdata.pitch_base; + wdata->pitch_ix += wdata->pitch_inc; + if ((ix = wdata->pitch_ix>>8) > 127) ix = 127; + x = wdata->pitch_env[ix] * wdata->pitch_range; + wdata->pitch = (x>>8) + wdata->pitch_base; kt_globals.nspfr = (nsamples - sample_count); if (kt_globals.nspfr > STEPSIZE) @@ -919,7 +918,7 @@ int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) frame_init(&kt_frame); // get parameters for next frame of speech - if (parwave(&kt_frame) == 1) + if (parwave(&kt_frame, wdata) == 1) return 1; // output buffer is full } @@ -931,7 +930,7 @@ int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2) end_wave = 0; sample_count -= fade; kt_globals.nspfr = fade; - if (parwave(&kt_frame) == 1) + if (parwave(&kt_frame, wdata) == 1) return 1; // output buffer is full } diff --git a/src/libespeak-ng/klatt.h b/src/libespeak-ng/klatt.h index 42fcc8d9..242d4bdb 100644 --- a/src/libespeak-ng/klatt.h +++ b/src/libespeak-ng/klatt.h @@ -179,7 +179,7 @@ typedef struct { void KlattInit(void); void KlattReset(int control); -int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2); +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata); #ifdef __cplusplus } diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 38987b70..c800ba87 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -1346,7 +1346,7 @@ static int WavegenFill2() wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case case WCMD_KLATT: echo_complete = echo_length; - result = Wavegen_Klatt(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3]); + result = Wavegen_Klatt(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3], &wdata); break; #endif case WCMD_MARKER: From 388be80da77ebfe9ac95d9652af2e87a09e22cc9 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Mon, 20 Jul 2020 16:49:42 +0300 Subject: [PATCH 03/11] code cleanup: pass voice_t wvoice as a parameter instead of using a global SetSynth_Klatt() was using wvoice in two ways: 1) global wvoice was used directly 2) global wvoice was also passed in Wavegen_Klatt() as an argument "v" Now the code only uses the function argument wvoice Contributes to #68. --- src/libespeak-ng/klatt.c | 9 ++++----- src/libespeak-ng/klatt.h | 2 +- src/libespeak-ng/wavegen.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libespeak-ng/klatt.c b/src/libespeak-ng/klatt.c index 4be4874f..ec191d22 100644 --- a/src/libespeak-ng/klatt.c +++ b/src/libespeak-ng/klatt.c @@ -838,14 +838,13 @@ static double DBtoLIN(long dB) return (double)(amptable[dB]) * 0.001; } -extern voice_t *wvoice; static klatt_peaks_t peaks[N_PEAKS]; static int end_wave; static int klattp[N_KLATTP]; static double klattp1[N_KLATTP]; static double klattp_inc[N_KLATTP]; -int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata) +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata, voice_t *wvoice) { if (resume == 0) SetSynth_Klatt(length, fr1, fr2, wvoice, 1); @@ -937,7 +936,7 @@ int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA return 0; } -static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *v, int control) +static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *wvoice, int control) { int ix; double next; @@ -1007,9 +1006,9 @@ static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *v, i nsamples = length; for (ix = 1; ix < 6; ix++) { - peaks[ix].freq1 = (fr1->ffreq[ix] * v->freq[ix] / 256.0) + v->freqadd[ix]; + peaks[ix].freq1 = (fr1->ffreq[ix] * wvoice->freq[ix] / 256.0) + wvoice->freqadd[ix]; peaks[ix].freq = (int)peaks[ix].freq1; - next = (fr2->ffreq[ix] * v->freq[ix] / 256.0) + v->freqadd[ix]; + next = (fr2->ffreq[ix] * wvoice->freq[ix] / 256.0) + wvoice->freqadd[ix]; peaks[ix].freq_inc = ((next - peaks[ix].freq1) * STEPSIZE) / length; if (ix < 4) { diff --git a/src/libespeak-ng/klatt.h b/src/libespeak-ng/klatt.h index 242d4bdb..4c7a4406 100644 --- a/src/libespeak-ng/klatt.h +++ b/src/libespeak-ng/klatt.h @@ -179,7 +179,7 @@ typedef struct { void KlattInit(void); void KlattReset(int control); -int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata); +int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2, WGEN_DATA *wdata, voice_t *wvoice); #ifdef __cplusplus } diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index c800ba87..142f5fdd 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -1346,7 +1346,7 @@ static int WavegenFill2() wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case case WCMD_KLATT: echo_complete = echo_length; - result = Wavegen_Klatt(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3], &wdata); + result = Wavegen_Klatt(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3], &wdata, wvoice); break; #endif case WCMD_MARKER: From 9232f1911e80f25735c8660e5a6fc2522ea261ad Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Mon, 20 Jul 2020 17:23:09 +0300 Subject: [PATCH 04/11] code cleanup: remove unnecessary references to out_start. Unsigned char *out_start is a global only used in speech.c. --- src/libespeak-ng/klatt.c | 1 - src/libespeak-ng/speech.c | 1 + src/libespeak-ng/synthesize.h | 1 - src/libespeak-ng/wavegen.c | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libespeak-ng/klatt.c b/src/libespeak-ng/klatt.c index ec191d22..8ce8fc0b 100644 --- a/src/libespeak-ng/klatt.c +++ b/src/libespeak-ng/klatt.c @@ -40,7 +40,6 @@ #include "klatt.h" extern unsigned char *out_ptr; -extern unsigned char *out_start; extern unsigned char *out_end; static int nsamples; static int sample_count; diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index a9e0f336..331948ca 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -65,6 +65,7 @@ unsigned char *outbuf = NULL; int outbuf_size = 0; +unsigned char *out_start; espeak_EVENT *event_list = NULL; int event_list_ix = 0; diff --git a/src/libespeak-ng/synthesize.h b/src/libespeak-ng/synthesize.h index 90cd7533..b8cdd950 100644 --- a/src/libespeak-ng/synthesize.h +++ b/src/libespeak-ng/synthesize.h @@ -482,7 +482,6 @@ extern int formant_rate[]; // max rate of change of each formant extern SPEED_FACTORS speed; extern unsigned char *out_ptr; -extern unsigned char *out_start; extern unsigned char *out_end; extern espeak_EVENT *event_list; extern t_espeak_callback *synth_callback; diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 142f5fdd..4d6c3748 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -113,7 +113,6 @@ static double minus_pi_t; static double two_pi_t; unsigned char *out_ptr; -unsigned char *out_start; unsigned char *out_end; espeak_ng_OUTPUT_HOOKS* output_hooks = NULL; From 3b4cca4832246638b327ab2fd512bacba5be1e8b Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 07:34:56 +0300 Subject: [PATCH 05/11] code cleanup: combine Wavegen() and Wavegen2(). Wavegen2() only had one if-statement and then called Wavegen(). Wavegen() was never called directly. --- src/libespeak-ng/wavegen.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 4d6c3748..126e6f71 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -51,6 +51,8 @@ #define N_WAV_BUF 10 +static void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v); + voice_t *wvoice = NULL; FILE *f_log = NULL; @@ -679,8 +681,11 @@ static int ApplyBreath(void) return value; } -static int Wavegen() +static int Wavegen(int length, int modulation, bool resume, frame_t *fr1, frame_t *fr2) { + if (resume == false) + SetSynth(length, modulation, fr1, fr2, wvoice); + if (wvoice == NULL) return 0; @@ -1244,14 +1249,6 @@ static void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t * } } -static int Wavegen2(int length, int modulation, bool resume, frame_t *fr1, frame_t *fr2) -{ - if (resume == false) - SetSynth(length, modulation, fr1, fr2, wvoice); - - return Wavegen(); -} - void Write4Bytes(FILE *f, int value) { // Write 4 bytes to a file, least significant first @@ -1338,7 +1335,7 @@ static int WavegenFill2() wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case case WCMD_SPECT: echo_complete = echo_length; - result = Wavegen2(length & 0xffff, q[1] >> 16, resume, (frame_t *)q[2], (frame_t *)q[3]); + result = Wavegen(length & 0xffff, q[1] >> 16, resume, (frame_t *)q[2], (frame_t *)q[3]); break; #ifdef INCLUDE_KLATT case WCMD_KLATT2: // as WCMD_SPECT but stop any concurrent wave file From 992745508e0cf6249ca0a1fb5038a0d13b000253 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 07:54:33 +0300 Subject: [PATCH 06/11] code cleanup: pass voice_t wvoice as a parameter to Wavegen() instead of using a global --- src/libespeak-ng/wavegen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 126e6f71..1e057147 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -681,7 +681,7 @@ static int ApplyBreath(void) return value; } -static int Wavegen(int length, int modulation, bool resume, frame_t *fr1, frame_t *fr2) +static int Wavegen(int length, int modulation, bool resume, frame_t *fr1, frame_t *fr2, voice_t *wvoice) { if (resume == false) SetSynth(length, modulation, fr1, fr2, wvoice); @@ -1335,7 +1335,7 @@ static int WavegenFill2() wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case case WCMD_SPECT: echo_complete = echo_length; - result = Wavegen(length & 0xffff, q[1] >> 16, resume, (frame_t *)q[2], (frame_t *)q[3]); + result = Wavegen(length & 0xffff, q[1] >> 16, resume, (frame_t *)q[2], (frame_t *)q[3], wvoice); break; #ifdef INCLUDE_KLATT case WCMD_KLATT2: // as WCMD_SPECT but stop any concurrent wave file From c0ff3696b950a0fce6fd7e08f9b707969f046e4b Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 11:01:17 +0300 Subject: [PATCH 07/11] code cleanup: change global int current_phoneme table to static It's only used in SpeakNextClause() and related to SelectPhonemeTable(). Another solution void be to keep SelectPhonemeTable() as a void function and do a current_phoneme_table = voice->phoneme_tab_ix after the call to SelectPhonemeTable(). --- src/libespeak-ng/phoneme.h | 1 - src/libespeak-ng/synthdata.c | 5 ++--- src/libespeak-ng/synthdata.h | 2 +- src/libespeak-ng/synthesize.c | 3 ++- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/libespeak-ng/phoneme.h b/src/libespeak-ng/phoneme.h index e6ed1fc6..9e38cf94 100644 --- a/src/libespeak-ng/phoneme.h +++ b/src/libespeak-ng/phoneme.h @@ -249,7 +249,6 @@ phoneme_add_feature(PHONEME_TAB *phoneme, // Several phoneme tables may be loaded into memory. phoneme_tab points to // one for the current voice extern int n_phoneme_tab; -extern int current_phoneme_table; extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited diff --git a/src/libespeak-ng/synthdata.c b/src/libespeak-ng/synthdata.c index 7cee6996..e1f7bdd7 100644 --- a/src/libespeak-ng/synthdata.c +++ b/src/libespeak-ng/synthdata.c @@ -45,7 +45,6 @@ const int version_phdata = 0x014801; // copy the current phoneme table into here int n_phoneme_tab; -int current_phoneme_table; PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited @@ -359,12 +358,12 @@ static void SetUpPhonemeTable(int number, bool recursing) } } -void SelectPhonemeTable(int number) +int SelectPhonemeTable(int number) { n_phoneme_tab = 0; SetUpPhonemeTable(number, false); // recursively for included phoneme tables n_phoneme_tab++; - current_phoneme_table = number; + return number; } int LookupPhonemeTable(const char *name) diff --git a/src/libespeak-ng/synthdata.h b/src/libespeak-ng/synthdata.h index a199c96f..aac12e51 100644 --- a/src/libespeak-ng/synthdata.h +++ b/src/libespeak-ng/synthdata.h @@ -52,7 +52,7 @@ frameref_t *LookupSpect(PHONEME_TAB *this_ph, int NumInstnWords(unsigned short *prog); int PhonemeCode(unsigned int mnem); -void SelectPhonemeTable(int number); +int SelectPhonemeTable(int number); int SelectPhonemeTableName(const char *name); #ifdef __cplusplus diff --git a/src/libespeak-ng/synthesize.c b/src/libespeak-ng/synthesize.c index 70cd8243..fc6dd7db 100644 --- a/src/libespeak-ng/synthesize.c +++ b/src/libespeak-ng/synthesize.c @@ -1549,6 +1549,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) return 0; // finished the phoneme list } +static int current_phoneme_table; int SpeakNextClause(int control) { // Speak text from memory (text_in) @@ -1577,7 +1578,7 @@ int SpeakNextClause(int control) } if (current_phoneme_table != voice->phoneme_tab_ix) - SelectPhonemeTable(voice->phoneme_tab_ix); + current_phoneme_table = SelectPhonemeTable(voice->phoneme_tab_ix); // read the next clause from the input text file, translate it, and generate // entries in the wavegen command queue From 65847bd251004f0a1d5d11cdde469dfed9980fbf Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 11:25:58 +0300 Subject: [PATCH 08/11] code cleanup: remove phoneme_tab_flags It is memset and set once, but never checked or used for anything. --- src/libespeak-ng/phoneme.h | 1 - src/libespeak-ng/synthdata.c | 7 ------- 2 files changed, 8 deletions(-) diff --git a/src/libespeak-ng/phoneme.h b/src/libespeak-ng/phoneme.h index 9e38cf94..e46a3927 100644 --- a/src/libespeak-ng/phoneme.h +++ b/src/libespeak-ng/phoneme.h @@ -250,7 +250,6 @@ phoneme_add_feature(PHONEME_TAB *phoneme, // one for the current voice extern int n_phoneme_tab; extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; -extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited typedef struct { char name[N_PHONEME_TAB_NAME]; diff --git a/src/libespeak-ng/synthdata.c b/src/libespeak-ng/synthdata.c index e1f7bdd7..58cbd56d 100644 --- a/src/libespeak-ng/synthdata.c +++ b/src/libespeak-ng/synthdata.c @@ -46,7 +46,6 @@ const int version_phdata = 0x014801; // copy the current phoneme table into here int n_phoneme_tab; PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; -unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited unsigned short *phoneme_index = NULL; char *phondata_ptr = NULL; @@ -337,9 +336,6 @@ static void SetUpPhonemeTable(int number, bool recursing) int ph_code; PHONEME_TAB *phtab; - if (recursing == false) - memset(phoneme_tab_flags, 0, sizeof(phoneme_tab_flags)); - if ((includes = phoneme_tab_list[number].includes) > 0) { // recursively include base phoneme tables SetUpPhonemeTable(includes-1, true); @@ -352,9 +348,6 @@ static void SetUpPhonemeTable(int number, bool recursing) phoneme_tab[ph_code] = &phtab[ix]; if (ph_code > n_phoneme_tab) n_phoneme_tab = ph_code; - - if (recursing == 0) - phoneme_tab_flags[ph_code] |= 1; // not inherited } } From 713e8a9e2c938288921deeae3066ee7d9b1cd4f9 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 15:48:01 +0300 Subject: [PATCH 09/11] code cleanup: remove unused parameter from SetUpPhonemeTable. See commit 65847bd251004f0a1d5d1. Bool recursing is not used for anything anymore. Fixes a (compiler warning. --- src/libespeak-ng/synthdata.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libespeak-ng/synthdata.c b/src/libespeak-ng/synthdata.c index 58cbd56d..bcc40541 100644 --- a/src/libespeak-ng/synthdata.c +++ b/src/libespeak-ng/synthdata.c @@ -329,7 +329,7 @@ unsigned char *GetEnvelope(int index) return (unsigned char *)&phondata_ptr[index]; } -static void SetUpPhonemeTable(int number, bool recursing) +static void SetUpPhonemeTable(int number) { int ix; int includes; @@ -338,7 +338,7 @@ static void SetUpPhonemeTable(int number, bool recursing) if ((includes = phoneme_tab_list[number].includes) > 0) { // recursively include base phoneme tables - SetUpPhonemeTable(includes-1, true); + SetUpPhonemeTable(includes - 1); } // now add the phonemes from this table @@ -354,7 +354,7 @@ static void SetUpPhonemeTable(int number, bool recursing) int SelectPhonemeTable(int number) { n_phoneme_tab = 0; - SetUpPhonemeTable(number, false); // recursively for included phoneme tables + SetUpPhonemeTable(number); // recursively for included phoneme tables n_phoneme_tab++; return number; } From a4041952c522aa53910e74d70aee9f68bdc28ad5 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 15:25:10 +0300 Subject: [PATCH 10/11] code cleanup: remove unused references to f_log f_log is only used in compiledict.c. --- src/libespeak-ng/synthesize.c | 1 - src/libespeak-ng/wavegen.c | 1 - 2 files changed, 2 deletions(-) diff --git a/src/libespeak-ng/synthesize.c b/src/libespeak-ng/synthesize.c index fc6dd7db..8135a6b0 100644 --- a/src/libespeak-ng/synthesize.c +++ b/src/libespeak-ng/synthesize.c @@ -44,7 +44,6 @@ #include "synthesize.h" #include "translate.h" -extern FILE *f_log; static void SmoothSpect(void); // list of phonemes in a clause diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 1e057147..b161b46f 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -55,7 +55,6 @@ static void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t * voice_t *wvoice = NULL; -FILE *f_log = NULL; static int option_harmonic1 = 10; static int flutter_amp = 64; From 5d03047c195500b2a85153189096ea2f65e9df78 Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Tue, 21 Jul 2020 16:14:25 +0300 Subject: [PATCH 11/11] code cleanup: remove unused int vowel_transition[4] There's two variables with the same name: 1) in struct PHONEME_DATA, used by *phdata, *phdata_next and *phdata_prev 2) an unnecessary one that's only being memset() twice but never used for anything --- src/libespeak-ng/synthdata.c | 1 - src/libespeak-ng/synthesize.c | 2 -- src/libespeak-ng/synthesize.h | 1 - 3 files changed, 4 deletions(-) diff --git a/src/libespeak-ng/synthdata.c b/src/libespeak-ng/synthdata.c index bcc40541..8756847d 100644 --- a/src/libespeak-ng/synthdata.c +++ b/src/libespeak-ng/synthdata.c @@ -60,7 +60,6 @@ int wavefile_ix; // a wavefile to play along with the synthesis int wavefile_amp; int seq_len_adjust; -int vowel_transition[4]; static espeak_ng_STATUS ReadPhFile(void **ptr, const char *fname, int *size, espeak_ng_ERROR_CONTEXT *context) { diff --git a/src/libespeak-ng/synthesize.c b/src/libespeak-ng/synthesize.c index 8135a6b0..ddf78757 100644 --- a/src/libespeak-ng/synthesize.c +++ b/src/libespeak-ng/synthesize.c @@ -126,7 +126,6 @@ static void EndPitch(int voice_break) syllable_end = wcmdq_tail; SmoothSpect(); syllable_centre = -1; - memset(vowel_transition, 0, sizeof(vowel_transition)); } } @@ -1189,7 +1188,6 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) syllable_end = wcmdq_tail; syllable_centre = -1; last_pitch_cmd = -1; - memset(vowel_transition, 0, sizeof(vowel_transition)); memset(&worddata, 0, sizeof(worddata)); DoPause(0, 0); // isolate from the previous clause } diff --git a/src/libespeak-ng/synthesize.h b/src/libespeak-ng/synthesize.h index b8cdd950..ba4e76d3 100644 --- a/src/libespeak-ng/synthesize.h +++ b/src/libespeak-ng/synthesize.h @@ -450,7 +450,6 @@ extern int samplerate_native; extern int wavefile_ix; extern int wavefile_amp; -extern int vowel_transition[4]; #define N_ECHO_BUF 5500 // max of 250mS at 22050 Hz extern int echo_head;