diff --git a/src/libespeak-ng/CMakeLists.txt b/src/libespeak-ng/CMakeLists.txt index 63f0d48c..ffffbd5e 100644 --- a/src/libespeak-ng/CMakeLists.txt +++ b/src/libespeak-ng/CMakeLists.txt @@ -54,6 +54,7 @@ if (NOT MSVC) "-Wmissing-prototypes" "-Wint-conversion" "-Wimplicit" + "-Wmisleading-indentation" ) endif() target_compile_definitions(espeak-ng PRIVATE "LIBESPEAK_NG_EXPORT=1") diff --git a/src/libespeak-ng/compiledata.c b/src/libespeak-ng/compiledata.c index 58924808..aa473a96 100644 --- a/src/libespeak-ng/compiledata.c +++ b/src/libespeak-ng/compiledata.c @@ -2789,4 +2789,4 @@ static int CalculateSample(unsigned char c3, int c1) { c2 = c2 >> 16; // sign extend return (c1 & 0xff) + c2; -} \ No newline at end of file +} diff --git a/src/libespeak-ng/compiledict.c b/src/libespeak-ng/compiledict.c index 0fffdde2..9304f4e1 100644 --- a/src/libespeak-ng/compiledict.c +++ b/src/libespeak-ng/compiledict.c @@ -320,7 +320,7 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont } c = ' '; } else if (rb == RULE_ENDING) { - static const char *flag_chars = "eipvdfq tba "; + static const char flag_chars[] = "eipvdfq tba "; flags = ((rule[0] & 0x7f)<< 8) + (rule[1] & 0x7f); suffix_char = 'S'; if (flags & (SUFX_P >> 8)) diff --git a/src/libespeak-ng/dictionary.c b/src/libespeak-ng/dictionary.c index 8f69ba5d..32ce7de4 100644 --- a/src/libespeak-ng/dictionary.c +++ b/src/libespeak-ng/dictionary.c @@ -43,8 +43,8 @@ #include "synthesize.h" // for STRESS_IS_PRIMARY, phoneme... #include "translate.h" // for Translator, utf8_in, LANGU... -static int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out); -static void DollarRule(char *word[], char *word_start, int consumed, int group_length, char *word_buf, Translator *tr, unsigned int *flags, int command, int *failed, int *add_points); +static int LookupFlags(Translator *tr, const char *word, unsigned int flags_out[2]); +static void DollarRule(char *word[], char *word_start, int consumed, int group_length, char *word_buf, Translator *tr, int command, int *failed, int *add_points); typedef struct { int points; @@ -63,7 +63,7 @@ static const unsigned short diereses_list[7] = { 0xe4, 0xeb, 0xef, 0xf6, 0xfc, 0 // convert characters to an approximate 7 bit ascii equivalent // used for checking for vowels (up to 0x259=schwa) #define N_REMOVE_ACCENT 0x25e -static unsigned char remove_accent[N_REMOVE_ACCENT] = { +static const unsigned char remove_accent[N_REMOVE_ACCENT] = { 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', // 0c0 'd', 'n', 'o', 'o', 'o', 'o', 'o', 0, 'o', 'u', 'u', 'u', 'u', 'y', 't', 's', // 0d0 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', // 0e0 @@ -396,7 +396,7 @@ void DecodePhonemes(const char *inptr, char *outptr) unsigned char c; unsigned int mnem; PHONEME_TAB *ph; - static const char *stress_chars = "==,,'* "; + static const char stress_chars[] = "==,,'* "; sprintf(outptr, "* "); while ((phcode = *inptr++) > 0) { @@ -551,7 +551,7 @@ const char *GetTranslatedPhonemeString(int phoneme_mode) char phon_buf2[30]; PHONEME_LIST *plist; - static const char *stress_chars = "==,,''"; + static const char stress_chars[] = "==,,''"; if (phon_out_buf == NULL) { phon_out_size = N_PHON_OUT; @@ -1480,10 +1480,9 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ int n_bytes; int add_points; int command; - unsigned int *flags = NULL; MatchRecord match; - static MatchRecord best; + MatchRecord best; int total_consumed; // letters consumed for best match @@ -1699,7 +1698,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ else failed = 1; } else if (((command & 0xf0) == 0x20) || (command == DOLLAR_LIST)) { - DollarRule(word, word_start, consumed, group_length, word_buf, tr, flags, command, &failed, &add_points); + DollarRule(word, word_start, consumed, group_length, word_buf, tr, command, &failed, &add_points); } break; @@ -1888,7 +1887,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ pre_ptr++; command = *rule++; if ((command == DOLLAR_LIST) || ((command & 0xf0) == 0x20)) { - DollarRule(word, word_start, consumed, group_length, word_buf, tr, flags, command, &failed, &add_points); + DollarRule(word, word_start, consumed, group_length, word_buf, tr, command, &failed, &add_points); } break; case RULE_SYLLABLE: @@ -2842,7 +2841,7 @@ int Lookup(Translator *tr, const char *word, char *ph_out) return flags0; } -static int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out) +static int LookupFlags(Translator *tr, const char *word, unsigned int flags_out[2]) { char buf[100]; static unsigned int flags[2]; @@ -2850,7 +2849,8 @@ static int LookupFlags(Translator *tr, const char *word, unsigned int **flags_ou flags[0] = flags[1] = 0; LookupDictList(tr, &word1, buf, flags, 0, NULL); - *flags_out = flags; + flags_out[0] = flags[0]; + flags_out[1] = flags[1]; return flags[0]; } @@ -2979,14 +2979,15 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy) return end_flags; } -static void DollarRule(char *word[], char *word_start, int consumed, int group_length, char *word_buf, Translator *tr, unsigned int *flags, int command, int *failed, int *add_points) { +static void DollarRule(char *word[], char *word_start, int consumed, int group_length, char *word_buf, Translator *tr, int command, int *failed, int *add_points) { // $list or $p_alt // make a copy of the word up to the post-match characters int ix = *word - word_start + consumed + group_length + 1; memcpy(word_buf, word_start-1, ix); word_buf[ix] = ' '; word_buf[ix+1] = 0; - LookupFlags(tr, &word_buf[1], &flags); + unsigned int flags[2]; + LookupFlags(tr, &word_buf[1], flags); if ((command == DOLLAR_LIST) && (flags[0] & FLAG_FOUND) && !(flags[1] & FLAG_ONLY)) *add_points = 23; @@ -2994,4 +2995,4 @@ static void DollarRule(char *word[], char *word_start, int consumed, int group_l *add_points = 23; else *failed = 1; -} \ No newline at end of file +} diff --git a/src/libespeak-ng/event.c b/src/libespeak-ng/event.c index 7f04edc2..8e301eec 100644 --- a/src/libespeak-ng/event.c +++ b/src/libespeak-ng/event.c @@ -83,9 +83,15 @@ void event_init(void) pthread_mutex_init(&my_mutex, (const pthread_mutexattr_t *)NULL); init(); - assert(-1 != pthread_cond_init(&my_cond_start_is_required, NULL)); - assert(-1 != pthread_cond_init(&my_cond_stop_is_required, NULL)); - assert(-1 != pthread_cond_init(&my_cond_stop_is_acknowledged, NULL)); + int a_status; + + a_status = pthread_cond_init(&my_cond_start_is_required, NULL); + assert(-1 != a_status); + a_status = pthread_cond_init(&my_cond_stop_is_required, NULL); + assert(-1 != a_status); + a_status = pthread_cond_init(&my_cond_stop_is_acknowledged, NULL); + assert(-1 != a_status); + (void)a_status; pthread_attr_t a_attrib; @@ -222,7 +228,7 @@ espeak_ng_STATUS event_declare(espeak_EVENT *event) return status; } -espeak_ng_STATUS event_clear_all() +espeak_ng_STATUS event_clear_all(void) { espeak_ng_STATUS status; if ((status = pthread_mutex_lock(&my_mutex)) != ENS_OK) @@ -352,7 +358,7 @@ static espeak_ng_STATUS push(void *the_data) return ENS_OK; } -static void *pop() +static void *pop(void) { void *the_data = NULL; @@ -373,7 +379,7 @@ static void *pop() } -static void init() +static void init(void) { while (event_delete((espeak_EVENT *)pop())) ; @@ -381,7 +387,7 @@ static void init() node_counter = 0; } -void event_terminate() +void event_terminate(void) { if (thread_inited) { my_terminate_is_required = true; @@ -408,7 +414,9 @@ void clock_gettime2(struct timespec *ts) if (!ts) return; - assert(gettimeofday(&tv, NULL) != -1); + int a_status = gettimeofday(&tv, NULL); + assert(a_status != -1); + (void)a_status; ts->tv_sec = tv.tv_sec; ts->tv_nsec = tv.tv_usec*1000; } diff --git a/src/libespeak-ng/fifo.c b/src/libespeak-ng/fifo.c index 0befcbb6..bc5ddf8e 100644 --- a/src/libespeak-ng/fifo.c +++ b/src/libespeak-ng/fifo.c @@ -71,15 +71,19 @@ enum { MAX_INACTIVITY_CHECK = 2 }; -void fifo_init() +void fifo_init(void) { // security pthread_mutex_init(&my_mutex, (const pthread_mutexattr_t *)NULL); init(0); - assert(-1 != pthread_cond_init(&my_cond_command_is_running, NULL)); - assert(-1 != pthread_cond_init(&my_cond_start_is_required, NULL)); - assert(-1 != pthread_cond_init(&my_cond_stop_is_acknowledged, NULL)); + int a_status; + a_status = pthread_cond_init(&my_cond_command_is_running, NULL); + assert(-1 != a_status); + a_status = pthread_cond_init(&my_cond_start_is_required, NULL); + assert(-1 != a_status); + a_status = pthread_cond_init(&my_cond_stop_is_acknowledged, NULL); + assert(-1 != a_status); pthread_attr_t a_attrib; if (pthread_attr_init(&a_attrib) @@ -95,7 +99,9 @@ void fifo_init() pthread_attr_destroy(&a_attrib); // leave once the thread is actually started - assert(-1 != pthread_mutex_lock(&my_mutex)); + a_status = pthread_mutex_lock(&my_mutex); + assert(-1 != a_status); + (void)a_status; while (my_stop_is_acknowledged == false) { while ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) ; @@ -169,7 +175,7 @@ espeak_ng_STATUS fifo_add_commands(t_espeak_command *command1, t_espeak_command return ENS_OK; } -espeak_ng_STATUS fifo_stop() +espeak_ng_STATUS fifo_stop(void) { if (!thread_inited) return ENS_OK; espeak_ng_STATUS status; @@ -197,7 +203,7 @@ espeak_ng_STATUS fifo_stop() return ENS_OK; } -int fifo_is_busy() +int fifo_is_busy(void) { if (!thread_inited) return false; pthread_mutex_lock(&my_mutex); @@ -206,7 +212,7 @@ int fifo_is_busy() return running; } -static int sleep_until_start_request_or_inactivity() +static int sleep_until_start_request_or_inactivity(void) { int a_start_is_required = false; @@ -223,7 +229,6 @@ static int sleep_until_start_request_or_inactivity() i++; struct timespec ts; - struct timeval tv; clock_gettime2(&ts); @@ -233,8 +238,6 @@ static int sleep_until_start_request_or_inactivity() && errno == EINTR) continue; - assert(gettimeofday(&tv, NULL) != -1); - if (err == 0) a_start_is_required = true; } @@ -242,7 +245,7 @@ static int sleep_until_start_request_or_inactivity() return a_start_is_required; } -static espeak_ng_STATUS close_stream() +static espeak_ng_STATUS close_stream(void) { espeak_ng_STATUS status = pthread_mutex_lock(&my_mutex); if (status != ENS_OK) @@ -293,11 +296,16 @@ static void *say_thread(void *p) { (void)p; // unused + int a_status; + // announce that thread is started - assert(-1 != pthread_mutex_lock(&my_mutex)); + a_status = pthread_mutex_lock(&my_mutex); + assert(-1 != a_status); my_stop_is_acknowledged = true; - assert(-1 != pthread_cond_signal(&my_cond_stop_is_acknowledged)); - assert(-1 != pthread_mutex_unlock(&my_mutex)); + a_status = pthread_cond_signal(&my_cond_stop_is_acknowledged); + assert(-1 != a_status); + a_status = pthread_mutex_unlock(&my_mutex); + assert(-1 != a_status); bool look_for_inactivity = false; @@ -310,7 +318,7 @@ static void *say_thread(void *p) } look_for_inactivity = true; - int a_status = pthread_mutex_lock(&my_mutex); + a_status = pthread_mutex_lock(&my_mutex); assert(!a_status); if (!a_start_is_required) { @@ -323,11 +331,13 @@ static void *say_thread(void *p) my_command_is_running = true; - assert(-1 != pthread_cond_broadcast(&my_cond_command_is_running)); - assert(-1 != pthread_mutex_unlock(&my_mutex)); + a_status = pthread_cond_broadcast(&my_cond_command_is_running); + assert(-1 != a_status); + a_status = pthread_mutex_unlock(&my_mutex); + assert(-1 != a_status); while (my_command_is_running && !my_terminate_is_required) { - int a_status = pthread_mutex_lock(&my_mutex); + a_status = pthread_mutex_lock(&my_mutex); assert(!a_status); t_espeak_command *a_command = (t_espeak_command *)pop(); @@ -352,23 +362,25 @@ static void *say_thread(void *p) // and waiting for my_cond_stop_is_acknowledged init(1); - assert(-1 != pthread_mutex_lock(&my_mutex)); + a_status = pthread_mutex_lock(&my_mutex); + assert(-1 != a_status); my_start_is_required = false; // acknowledge the stop request my_stop_is_acknowledged = true; - int a_status = pthread_cond_signal(&my_cond_stop_is_acknowledged); + a_status = pthread_cond_signal(&my_cond_stop_is_acknowledged); assert(a_status != -1); pthread_mutex_unlock(&my_mutex); } // and wait for the next start } + (void)a_status; return NULL; } -int fifo_is_command_enabled() +int fifo_is_command_enabled(void) { return 0 == my_stop_is_required; } @@ -413,7 +425,7 @@ static espeak_ng_STATUS push(t_espeak_command *the_command) return ENS_OK; } -static t_espeak_command *pop() +static t_espeak_command *pop(void) { t_espeak_command *the_command = NULL; @@ -446,7 +458,7 @@ static void init(int process_parameters) node_counter = 0; } -void fifo_terminate() +void fifo_terminate(void) { if (!thread_inited) return; diff --git a/src/libespeak-ng/intonation.c b/src/libespeak-ng/intonation.c index 60f032d2..8e405677 100644 --- a/src/libespeak-ng/intonation.c +++ b/src/libespeak-ng/intonation.c @@ -770,7 +770,6 @@ static void CalcPitches_Tone(Translator *tr) { PHONEME_LIST *p; int ix; - int count_stressed = 0; int final_stressed = 0; int tone_ph; @@ -791,7 +790,6 @@ static void CalcPitches_Tone(Translator *tr) for (ix = 0; ix < n_phoneme_list; ix++, p++) { if ((p->type == phVOWEL) && (p->stresslevel >= 4)) { final_stressed = ix; - count_stressed++; } } diff --git a/src/libespeak-ng/klatt.c b/src/libespeak-ng/klatt.c index 174b1b7d..dfadcfd9 100644 --- a/src/libespeak-ng/klatt.c +++ b/src/libespeak-ng/klatt.c @@ -68,7 +68,7 @@ static klatt_global_t kt_globals; #define NUMBER_OF_SAMPLES 100 -static int scale_wav_tab[] = { 45, 38, 45, 45, 55, 45 }; // scale output from different voicing sources +static const int scale_wav_tab[] = { 45, 38, 45, 45, 55, 45 }; // scale output from different voicing sources // For testing, this can be overwritten in KlattInit() static const short natural_samples2[256] = { @@ -547,7 +547,7 @@ static void frame_init(klatt_frame_ptr frame) to Kopen. */ -static double impulsive_source() +static double impulsive_source(void) { static const double doublet[] = { 0.0, 13000000.0, -13000000.0 }; static double vwave; @@ -567,7 +567,7 @@ static double impulsive_source() spectral zero around 800 Hz, magic constants a,b reset pitch synchronously. */ -static double natural_source() +static double natural_source(void) { double lgtemp; static double vwave; @@ -1068,7 +1068,7 @@ static void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *wvoi } } -void KlattInit() +void KlattInit(void) { static const short formant_hz[10] = { 280, 688, 1064, 2806, 3260, 3700, 6500, 7000, 8000, 280 }; diff --git a/src/libespeak-ng/langopts.c b/src/libespeak-ng/langopts.c index 247c93ef..31760a08 100644 --- a/src/libespeak-ng/langopts.c +++ b/src/libespeak-ng/langopts.c @@ -42,8 +42,6 @@ static int CheckTranslator(Translator *tr, const MNEM_TAB *keyword_tab, int key); static int LookupTune(const char *name); -extern const MNEM_TAB langopts_tab[]; - void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) { if (CheckTranslator(translator, langopts_tab, key) != 0) { return; @@ -232,4 +230,4 @@ int CheckTranslator(Translator *tr, const MNEM_TAB *keyword_tab, int key) fprintf(stderr, "Cannot set %s: language not set, or is invalid.\n", LookupMnemName(keyword_tab, key)); return 1; -} \ No newline at end of file +} diff --git a/src/libespeak-ng/numbers.c b/src/libespeak-ng/numbers.c index b2885f59..a71e155f 100644 --- a/src/libespeak-ng/numbers.c +++ b/src/libespeak-ng/numbers.c @@ -553,7 +553,7 @@ void LookupLetter(Translator *tr, unsigned int letter, int next_byte, char *ph_b // this list must be in ascending order -static unsigned short derived_letters[] = { +static const unsigned short derived_letters[] = { 0x00aa, 'a'+L_SUP, 0x00b2, '2'+L_SUP, 0x00b3, '3'+L_SUP, @@ -763,14 +763,13 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) int value; int subtract; int repeat = 0; - int n_digits = 0; char *word_start; int num_control = 0; unsigned int flags[2]; char ph_roman[30]; char number_chars[N_WORD_BYTES]; - static const char *roman_numbers = "ixcmvld"; + static const char roman_numbers[] = "ixcmvld"; static const int roman_values[] = { 1, 10, 100, 1000, 5, 50, 500 }; acc = 0; @@ -817,7 +816,6 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) else acc += prev; prev = value; - n_digits++; } if (IsDigit09(word[0])) diff --git a/src/libespeak-ng/phonemelist.c b/src/libespeak-ng/phonemelist.c index 16346e4f..77361227 100644 --- a/src/libespeak-ng/phonemelist.c +++ b/src/libespeak-ng/phonemelist.c @@ -590,4 +590,4 @@ if (ph->type == phVOWEL) { // re-interpret the changed phoneme // But it doesn't obey a second ChangePhoneme() InterpretPhoneme(tr, 0x100, plist3, phdata, worddata); -} \ No newline at end of file +} diff --git a/src/libespeak-ng/sPlayer.c b/src/libespeak-ng/sPlayer.c index 075c7ac2..92b28a95 100644 --- a/src/libespeak-ng/sPlayer.c +++ b/src/libespeak-ng/sPlayer.c @@ -42,7 +42,7 @@ static void mixWaveFile(WGEN_DATA *wdata, unsigned int maxNumSamples, sample* sa } } -static bool isKlattFrameFollowing() { +static bool isKlattFrameFollowing(void) { // eSpeak implements its command queue with a circular buffer. // Thus to walk it, we start from the head, walking to the tail, which may wrap around to the beginning of the buffer as it is circular. for(int i=(wcmdq_head+1)%N_WCMDQ;i!=wcmdq_tail;i=(i+1)%N_WCMDQ) { @@ -93,17 +93,17 @@ static void fillSpeechPlayerFrame(WGEN_DATA *wdata, voice_t *wvoice, frame_t * e spFrame->endVoicePitch=spFrame->voicePitch; } -void KlattInitSP() { +void KlattInitSP(void) { speechPlayerHandle=speechPlayer_initialize(22050); } -void KlattFiniSP() { +void KlattFiniSP(void) { if (speechPlayerHandle) speechPlayer_terminate(speechPlayerHandle); speechPlayerHandle = NULL; } -void KlattResetSP() { +void KlattResetSP(void) { KlattFiniSP(); KlattInitSP(); } diff --git a/src/libespeak-ng/setlengths.c b/src/libespeak-ng/setlengths.c index 7c1e9381..ffea7384 100644 --- a/src/libespeak-ng/setlengths.c +++ b/src/libespeak-ng/setlengths.c @@ -38,7 +38,7 @@ #include "synthesize.h" #include "translate.h" -static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3); +static void SetSpeedFactors(voice_t *voice, int x, int speeds[3]); static void SetSpeedMods(SPEED_FACTORS *speed, int voiceSpeedF1, int wpm, int x); static void SetSpeedMultiplier(int *x, int *wpm); @@ -46,7 +46,7 @@ extern int saved_parameters[]; // convert from words-per-minute to internal speed factor // Use this to calibrate speed for wpm 80-450 (espeakRATE_MINIMUM - espeakRATE_MAXIMUM) -static unsigned char speed_lookup[] = { +static const unsigned char speed_lookup[] = { 255, 255, 255, 255, 255, // 80 253, 249, 245, 242, 238, // 85 235, 232, 228, 225, 222, // 90 @@ -106,7 +106,7 @@ static unsigned char speed_lookup[] = { }; // speed_factor1 adjustments for speeds 350 to 374: pauses -static unsigned char pause_factor_350[] = { +static const unsigned char pause_factor_350[] = { 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, // 350 21, 20, 20, 19, 19, 18, 17, 16, 15, 15, // 360 15, 15, 15, 15, 15 // 370 @@ -114,7 +114,7 @@ static unsigned char pause_factor_350[] = { // wav_factor adjustments for speeds 350 to 450 // Use this to calibrate speed for wpm 350-450 -static unsigned char wav_factor_350[] = { +static const unsigned char wav_factor_350[] = { 120, 121, 120, 119, 119, // 350 118, 118, 117, 116, 116, // 355 115, 114, 113, 112, 112, // 360 @@ -138,9 +138,7 @@ static unsigned char wav_factor_350[] = { 45 // 450 }; -static int speed1 = 130; -static int speed2 = 121; -static int speed3 = 118; +static int len_speeds[3] = { 130, 121, 118 }; void SetSpeed(int control) { @@ -174,9 +172,9 @@ void SetSpeed(int control) // The eSpeak output will be speeded up by at least x2 x = 73; if (control & 1) { - speed1 = (x * voice->speedf1)/256; - speed2 = (x * voice->speedf2)/256; - speed3 = (x * voice->speedf3)/256; + len_speeds[0] = (x * voice->speedf1)/256; + len_speeds[1] = (x * voice->speedf2)/256; + len_speeds[2] = (x * voice->speedf3)/256; } if (control & 2) { double sonic; @@ -201,7 +199,7 @@ void SetSpeed(int control) SetSpeedMultiplier(&x, &wpm); if (control & 1) { - SetSpeedFactors(voice, x, &speed1, &speed2, &speed3); + SetSpeedFactors(voice, x, len_speeds); } if (control & 2) { @@ -229,16 +227,16 @@ static void SetSpeedMultiplier(int *x, int *wpm) { *x = 6; } -static void SetSpeedFactors(voice_t *voice, int x, int *speed1, int *speed2, int *speed3) { +static void SetSpeedFactors(voice_t *voice, int x, int speeds[3]) { // 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; + speeds[0] = (x * voice->speedf1)/256; + speeds[1] = (x * voice->speedf2)/256; + speeds[2] = (x * voice->speedf3)/256; if (x <= 7) { - *speed1 = x; - *speed2 = *speed3 = x - 1; + speeds[0] = x; + speeds[1] = speeds[2] = x - 1; } } @@ -523,7 +521,7 @@ void CalcLengths(Translator *tr) p->length = prev->length; if (p->type == phLIQUID) - p->length = speed1; + p->length = len_speeds[0]; if (next->type == phVSTOP) p->length = (p->length * 160)/100; @@ -615,11 +613,11 @@ void CalcLengths(Translator *tr) } if (more_syllables == 0) - length_mod *= speed1; + length_mod *= len_speeds[0]; else if (more_syllables == 1) - length_mod *= speed2; + length_mod *= len_speeds[1]; else - length_mod *= speed3; + length_mod *= len_speeds[2]; length_mod = length_mod / 128; @@ -654,9 +652,9 @@ void CalcLengths(Translator *tr) length_mod = length_mod * (256 + (280 - len)/3)/256; } - if (length_mod > tr->langopts.max_lengthmod*speed1) { + if (length_mod > tr->langopts.max_lengthmod*len_speeds[0]) { // limit the vowel length adjustment for some languages - length_mod = (tr->langopts.max_lengthmod*speed1); + length_mod = (tr->langopts.max_lengthmod*len_speeds[0]); } length_mod = length_mod / 128; diff --git a/src/libespeak-ng/spect.c b/src/libespeak-ng/spect.c index df1eaf28..02c97216 100644 --- a/src/libespeak-ng/spect.c +++ b/src/libespeak-ng/spect.c @@ -36,13 +36,11 @@ #include "synthesize.h" // for KLATT_AV, KLATT_Kopen, N_KLATTP2 #include "voice.h" // for N_PEAKS -static int frame_width; - -static int default_freq[N_PEAKS] = +static const int default_freq[N_PEAKS] = { 200, 500, 1200, 3000, 3500, 4000, 6900, 7800, 9000 }; -static int default_width[N_PEAKS] = +static const int default_width[N_PEAKS] = { 750, 500, 550, 550, 600, 700, 700, 700, 700 }; -static int default_klt_bw[N_PEAKS] = +static const int default_klt_bw[N_PEAKS] = { 89, 90, 140, 260, 260, 260, 500, 500, 500 }; static double read_double(FILE *stream) @@ -87,7 +85,7 @@ float polint(float xa[], float ya[], int n, float x) return y; } -static SpectFrame *SpectFrameCreate() +static SpectFrame *SpectFrameCreate(void) { int ix; SpectFrame *frame; @@ -230,7 +228,7 @@ double GetFrameRms(SpectFrame *frame, int seq_amplitude) } #pragma GCC visibility push(default) -SpectSeq *SpectSeqCreate() +SpectSeq *SpectSeqCreate(void) { SpectSeq *spect = malloc(sizeof(SpectSeq)); if (!spect) @@ -377,9 +375,6 @@ espeak_ng_STATUS LoadSpectSeq(SpectSeq *spect, const char *filename) } spect->max_x = 9000; // disable auto-xscaling - frame_width = (int)((FRAME_WIDTH*spect->max_x)/MAX_DISPLAY_FREQ); - if (frame_width > FRAME_WIDTH) frame_width = FRAME_WIDTH; - // start times from zero time_offset = spect->frames[0]->time; for (ix = 0; ix < spect->numframes; ix++) diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index 4babf780..c0bbd2ac 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -80,7 +80,7 @@ static void *my_user_data = NULL; static espeak_ng_OUTPUT_MODE my_mode = ENOUTPUT_MODE_SYNCHRONOUS; static int out_samplerate = 0; static int voice_samplerate = 22050; -static int min_buffer_length = 60; // minimum buffer length in ms +static const int min_buffer_length = 60; // minimum buffer length in ms static espeak_ng_STATUS err = ENS_OK; static t_espeak_callback *synth_callback = NULL; @@ -428,7 +428,6 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t // Fill the buffer with output sound int length; int finished = 0; - int count_buffers = 0; if ((outbuf == NULL) || (event_list == NULL)) return ENS_NOT_INITIALIZED; @@ -467,7 +466,6 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t event_list[event_list_ix].unique_identifier = unique_identifier; event_list[event_list_ix].user_data = my_user_data; - count_buffers++; if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) { finished = create_events((short *)outbuf, length, event_list); if (finished < 0) @@ -661,7 +659,7 @@ espeak_ng_Synthesize(const void *text, size_t size, { (void)size; // unused in non-async modes - static unsigned int temp_identifier; + unsigned int temp_identifier; if (unique_identifier == NULL) unique_identifier = &temp_identifier; @@ -710,7 +708,7 @@ espeak_ng_SynthesizeMark(const void *text, { (void)size; // unused in non-async modes - static unsigned int temp_identifier; + unsigned int temp_identifier; if (unique_identifier == NULL) unique_identifier = &temp_identifier; diff --git a/src/libespeak-ng/synthesize.c b/src/libespeak-ng/synthesize.c index eb50ba9e..7360eaac 100644 --- a/src/libespeak-ng/synthesize.c +++ b/src/libespeak-ng/synthesize.c @@ -85,7 +85,7 @@ const char *WordToString(char buf[5], unsigned int word) return buf; } -void SynthesizeInit() +void SynthesizeInit(void) { last_pitch_cmd = 0; last_amp_cmd = 0; @@ -376,7 +376,7 @@ int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp) return len; } -static frame_t *AllocFrame() +static frame_t *AllocFrame(void) { // Allocate a temporary spectrum frame for the wavegen queue. Use a pool which is big // enough to use a round-robin without checks. @@ -1190,9 +1190,9 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) if (WcmdqFree() <= free_min) return 1; // wait - PHONEME_LIST *prev; - PHONEME_LIST *next; - PHONEME_LIST *next2; + PHONEME_LIST *prev; + PHONEME_LIST *next; + PHONEME_LIST *next2; prev = &phoneme_list[ix-1]; next = &phoneme_list[ix+1]; diff --git a/src/libespeak-ng/tr_languages.c b/src/libespeak-ng/tr_languages.c index c221291d..5ca95055 100644 --- a/src/libespeak-ng/tr_languages.c +++ b/src/libespeak-ng/tr_languages.c @@ -1342,7 +1342,7 @@ Translator *SelectTranslator(const char *name) case L('s', 'k'): // Slovak case L('c', 's'): // Czech { - static const char *sk_voiced = "bdgjlmnrvwzaeiouy"; + static const char sk_voiced[] = "bdgjlmnrvwzaeiouy"; SetupTranslator(tr, stress_lengths_sk, stress_amps_sk); tr->encoding = ESPEAKNG_ENCODING_ISO_8859_2; diff --git a/src/libespeak-ng/translate.c b/src/libespeak-ng/translate.c index fe55b83d..6e1860e0 100644 --- a/src/libespeak-ng/translate.c +++ b/src/libespeak-ng/translate.c @@ -231,7 +231,7 @@ static int CountSyllables(unsigned char *phonemes) return count; } -static void Word_EmbeddedCmd() +static void Word_EmbeddedCmd(void) { // Process embedded commands for emphasis, sayas, and break int embedded_cmd; diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 98f0cb82..b507902e 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -64,7 +64,7 @@ static const MNEM_TAB genders[] = { int tone_points[12] = { 600, 170, 1200, 135, 2000, 110, 3000, 110, -1, 0 }; // limit the rate of change for each formant number -static int formant_rate_22050[9] = { 240, 170, 170, 170, 170, 170, 170, 170, 170 }; // values for 22kHz sample rate +static const int formant_rate_22050[9] = { 240, 170, 170, 170, 170, 170, 170, 170, 170 }; // values for 22kHz sample rate int formant_rate[9]; // values adjusted for actual sample rate #define DEFAULT_LANGUAGE_PRIORITY 5 @@ -1338,7 +1338,7 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetVoiceByProperties(espeak_VOICE *voic #pragma GCC visibility pop -void FreeVoiceList() +void FreeVoiceList(void) { int ix; for (ix = 0; ix < n_voices_list; ix++) { @@ -1423,7 +1423,6 @@ static int AddToVoicesList(const char *fname, int len_path_voices, int is_langua if (voice_data != NULL) voices_list[n_voices_list++] = voice_data; - return 0; } return 0; } diff --git a/src/libespeak-ng/wavegen.c b/src/libespeak-ng/wavegen.c index 5813b3ad..ba14d707 100644 --- a/src/libespeak-ng/wavegen.c +++ b/src/libespeak-ng/wavegen.c @@ -119,7 +119,7 @@ int wcmdq_tail = 0; // pitch,speed, const int embedded_default[N_EMBEDDED_VALUES] = { 0, 50, espeakRATE_NORMAL, 100, 50, 0, 0, 0, espeakRATE_NORMAL, 0, 0, 0, 0, 0, 0 }; -static int embedded_max[N_EMBEDDED_VALUES] = { 0, 0x7fff, 750, 300, 99, 99, 99, 0, 750, 0, 0, 0, 0, 4, 0 }; +static const int embedded_max[N_EMBEDDED_VALUES] = { 0, 0x7fff, 750, 300, 99, 99, 99, 0, 750, 0, 0, 0, 0, 4, 0 }; #if USE_LIBSONIC static sonicStream sonicSpeedupStream = NULL; @@ -130,7 +130,7 @@ static double sonicSpeed = 1.0; // 2nd index=modulation_type // value: bits 0-3 amplitude (16ths), bits 4-7 every n cycles #define N_ROUGHNESS 8 -static unsigned char modulation_tab[N_ROUGHNESS][8] = { +static const unsigned char modulation_tab[N_ROUGHNESS][8] = { { 0, 0x00, 0x00, 0x00, 0, 0x46, 0xf2, 0x29 }, { 0, 0x2f, 0x00, 0x2f, 0, 0x45, 0xf2, 0x29 }, { 0, 0x2f, 0x00, 0x2e, 0, 0x45, 0xf2, 0x28 }, @@ -234,7 +234,7 @@ static const unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { 242, 246, 249, 252, 254, 255 }; -void WcmdqStop() +void WcmdqStop(void) { wcmdq_head = 0; wcmdq_tail = 0; @@ -252,7 +252,7 @@ void WcmdqStop() #endif } -int WcmdqFree() +int WcmdqFree(void) { int i; i = wcmdq_head - wcmdq_tail; @@ -260,18 +260,18 @@ int WcmdqFree() return i; } -int WcmdqUsed() +int WcmdqUsed(void) { return N_WCMDQ - WcmdqFree(); } -void WcmdqInc() +void WcmdqInc(void) { wcmdq_tail++; if (wcmdq_tail >= N_WCMDQ) wcmdq_tail = 0; } -static void WcmdqIncHead() +static void WcmdqIncHead(void) { MAKE_MEM_UNDEFINED(&wcmdq[wcmdq_head], sizeof(wcmdq[wcmdq_head])); wcmdq_head++; @@ -534,7 +534,7 @@ int PeaksToHarmspect(wavegen_peaks_t *peaks, int pitch, int *htab, int control) return hmax; // highest harmonic number } -static void AdvanceParameters() +static void AdvanceParameters(void) { // Called every 64 samples to increment the formant freq, height, and widths if (wvoice == NULL) @@ -643,7 +643,7 @@ void InitBreath(void) setresonator(&rbreath[ix], 2000, 200, 1); } -static void SetBreath() +static void SetBreath(void) { int pk; @@ -1001,7 +1001,7 @@ static int SetWithRange0(int value, int max) return value; } -static void SetPitchFormants() +static void SetPitchFormants(void) { if (wvoice == NULL) return; @@ -1253,7 +1253,7 @@ void Write4Bytes(FILE *f, int value) } } -static int WavegenFill2() +static int WavegenFill2(void) { // Pick up next wavegen commands from the queue // return: 0 output buffer has been filled