This makes the codebase more consistent. Including speech.h is not necessary anymore in some files. Includes have been removed.master
| char proc_names[N_ITEM_STRING+1][N_PROCS]; | char proc_names[N_ITEM_STRING+1][N_PROCS]; | ||||
| #define MAX_PROG_BUF 2000 | #define MAX_PROG_BUF 2000 | ||||
| USHORT *prog_out; | |||||
| USHORT *prog_out_max; | |||||
| USHORT prog_buf[MAX_PROG_BUF+20]; | |||||
| unsigned short *prog_out; | |||||
| unsigned short *prog_out_max; | |||||
| unsigned short prog_buf[MAX_PROG_BUF+20]; | |||||
| static espeak_ng_STATUS ReadPhondataManifest(espeak_ng_ERROR_CONTEXT *context) | static espeak_ng_STATUS ReadPhondataManifest(espeak_ng_ERROR_CONTEXT *context) | ||||
| { | { | ||||
| #define N_IF_STACK 12 | #define N_IF_STACK 12 | ||||
| int if_level; | int if_level; | ||||
| typedef struct { | typedef struct { | ||||
| USHORT *p_then; | |||||
| USHORT *p_else; | |||||
| unsigned short *p_then; | |||||
| unsigned short *p_else; | |||||
| bool returned; | bool returned; | ||||
| } IF_STACK; | } IF_STACK; | ||||
| IF_STACK if_stack[N_IF_STACK]; | IF_STACK if_stack[N_IF_STACK]; | ||||
| int bitmap; | int bitmap; | ||||
| int brackets; | int brackets; | ||||
| bool not_flag; | bool not_flag; | ||||
| USHORT *prog_last_if = NULL; | |||||
| unsigned short *prog_last_if = NULL; | |||||
| then_count = 2; | then_count = 2; | ||||
| after_if = true; | after_if = true; | ||||
| static void FillThen(int add) | static void FillThen(int add) | ||||
| { | { | ||||
| USHORT *p; | |||||
| unsigned short *p; | |||||
| int offset; | int offset; | ||||
| p = if_stack[if_level].p_then; | p = if_stack[if_level].p_then; | ||||
| static int CompileElse(void) | static int CompileElse(void) | ||||
| { | { | ||||
| USHORT *ref; | |||||
| USHORT *p; | |||||
| unsigned short *ref; | |||||
| unsigned short *p; | |||||
| if (if_level < 1) { | if (if_level < 1) { | ||||
| error("ELSE not expected"); | error("ELSE not expected"); | ||||
| static int CompileEndif(void) | static int CompileEndif(void) | ||||
| { | { | ||||
| USHORT *p; | |||||
| unsigned short *p; | |||||
| int chain; | int chain; | ||||
| int offset; | int offset; | ||||
| if (prog_out > prog_buf) { | if (prog_out > prog_buf) { | ||||
| // write out the program for this phoneme | // write out the program for this phoneme | ||||
| fflush(f_phindex); | fflush(f_phindex); | ||||
| phoneme_out->program = ftell(f_phindex) / sizeof(USHORT); | |||||
| phoneme_out->program = ftell(f_phindex) / sizeof(unsigned short); | |||||
| if (f_prog_log != NULL) { | if (f_prog_log != NULL) { | ||||
| phoneme_prog_log.addr = phoneme_out->program; | phoneme_prog_log.addr = phoneme_out->program; | ||||
| } | } | ||||
| if (compile_phoneme == 0) | if (compile_phoneme == 0) | ||||
| proc_addr[n_procs++] = ftell(f_phindex) / sizeof(USHORT); | |||||
| fwrite(prog_buf, sizeof(USHORT), prog_out - prog_buf, f_phindex); | |||||
| proc_addr[n_procs++] = ftell(f_phindex) / sizeof(unsigned short); | |||||
| fwrite(prog_buf, sizeof(unsigned short), prog_out - prog_buf, f_phindex); | |||||
| } | } | ||||
| return 0; | return 0; |
| #include <espeak-ng/espeak_ng.h> | #include <espeak-ng/espeak_ng.h> | ||||
| #include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
| #include "speech.h" | |||||
| #include "phoneme.h" | #include "phoneme.h" | ||||
| #include "voice.h" | #include "voice.h" | ||||
| #include "synthesize.h" | #include "synthesize.h" | ||||
| 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 *v, int control) | ||||
| { | { | ||||
| int ix; | int ix; | ||||
| DOUBLEX next; | |||||
| double next; | |||||
| int qix; | int qix; | ||||
| int cmd; | int cmd; | ||||
| frame_t *fr3; | frame_t *fr3; |
| int bw; // klatt bandwidth | int bw; // klatt bandwidth | ||||
| int ap; // parallel amplitude | int ap; // parallel amplitude | ||||
| int bp; // parallel bandwidth | int bp; // parallel bandwidth | ||||
| DOUBLEX freq1; // floating point versions of the above | |||||
| DOUBLEX bw1; | |||||
| DOUBLEX ap1; | |||||
| DOUBLEX bp1; | |||||
| DOUBLEX freq_inc; // increment by this every 64 samples | |||||
| DOUBLEX bw_inc; | |||||
| DOUBLEX ap_inc; | |||||
| DOUBLEX bp_inc; | |||||
| double freq1; // floating point versions of the above | |||||
| double bw1; | |||||
| double ap1; | |||||
| double bp1; | |||||
| double freq_inc; // increment by this every 64 samples | |||||
| double bw_inc; | |||||
| double ap_inc; | |||||
| double bp_inc; | |||||
| } klatt_peaks_t; | } klatt_peaks_t; | ||||
| void KlattInit(void); | void KlattInit(void); |
| #include <espeak-ng/espeak_ng.h> | #include <espeak-ng/espeak_ng.h> | ||||
| #include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
| #include "speech.h" | |||||
| #include "phoneme.h" | #include "phoneme.h" | ||||
| #include "voice.h" | #include "voice.h" | ||||
| #include "synthesize.h" | #include "synthesize.h" | ||||
| } | } | ||||
| } | } | ||||
| spect_data = malloc(sizeof(USHORT) * frame->nx); | |||||
| spect_data = malloc(sizeof(unsigned short) * frame->nx); | |||||
| if (spect_data == NULL) | if (spect_data == NULL) | ||||
| return ENOMEM; | return ENOMEM; |
| unsigned short nx; | unsigned short nx; | ||||
| short markers; | short markers; | ||||
| int max_y; | int max_y; | ||||
| USHORT *spect; // sqrt of harmonic amplitudes, 1-nx at 'pitch' | |||||
| unsigned short *spect; // sqrt of harmonic amplitudes, 1-nx at 'pitch' | |||||
| short klatt_param[N_KLATTP2]; | short klatt_param[N_KLATTP2]; | ||||
| #define PATH_ESPEAK_DATA "/usr/share/espeak-ng-data" | #define PATH_ESPEAK_DATA "/usr/share/espeak-ng-data" | ||||
| #endif | #endif | ||||
| typedef unsigned short USHORT; | |||||
| typedef unsigned char UCHAR; | |||||
| typedef double DOUBLEX; | |||||
| typedef struct { | typedef struct { | ||||
| const char *mnem; | const char *mnem; | ||||
| int value; | int value; |
| PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | ||||
| unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | ||||
| USHORT *phoneme_index = NULL; | |||||
| unsigned short *phoneme_index = NULL; | |||||
| char *phondata_ptr = NULL; | char *phondata_ptr = NULL; | ||||
| unsigned char *wavefile_data = NULL; | unsigned char *wavefile_data = NULL; | ||||
| static unsigned char *phoneme_tab_data = NULL; | static unsigned char *phoneme_tab_data = NULL; | ||||
| return count; | return count; | ||||
| } | } | ||||
| static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, USHORT *p_prog, WORD_PH_DATA *worddata) | |||||
| static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, unsigned short *p_prog, WORD_PH_DATA *worddata) | |||||
| { | { | ||||
| int which; | int which; | ||||
| int ix; | int ix; | ||||
| return false; | return false; | ||||
| } | } | ||||
| static void SwitchOnVowelType(PHONEME_LIST *plist, PHONEME_DATA *phdata, USHORT **p_prog, int instn_type) | |||||
| static void SwitchOnVowelType(PHONEME_LIST *plist, PHONEME_DATA *phdata, unsigned short **p_prog, int instn_type) | |||||
| { | { | ||||
| USHORT *prog; | |||||
| unsigned short *prog; | |||||
| int voweltype; | int voweltype; | ||||
| signed char x; | signed char x; | ||||
| *p_prog += 12; | *p_prog += 12; | ||||
| } | } | ||||
| int NumInstnWords(USHORT *prog) | |||||
| int NumInstnWords(unsigned short *prog) | |||||
| { | { | ||||
| int instn; | int instn; | ||||
| int instn2; | int instn2; | ||||
| // bit 8: change phonemes | // bit 8: change phonemes | ||||
| PHONEME_TAB *ph; | PHONEME_TAB *ph; | ||||
| USHORT *prog; | |||||
| USHORT instn; | |||||
| unsigned short *prog; | |||||
| unsigned short instn; | |||||
| int instn2; | int instn2; | ||||
| int or_flag; | int or_flag; | ||||
| bool truth; | bool truth; | ||||
| #define N_RETURN 10 | #define N_RETURN 10 | ||||
| int n_return = 0; | int n_return = 0; | ||||
| USHORT *return_addr[N_RETURN]; // return address stack | |||||
| unsigned short *return_addr[N_RETURN]; // return address stack | |||||
| ph = plist->ph; | ph = plist->ph; | ||||
| #include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
| #include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
| #include "speech.h" | |||||
| #include "phoneme.h" | #include "phoneme.h" | ||||
| #include "voice.h" | #include "voice.h" | ||||
| #include "synthesize.h" | #include "synthesize.h" |
| int height; // height<<15 | int height; // height<<15 | ||||
| int left; // Hz<<16 | int left; // Hz<<16 | ||||
| int right; // Hz<<16 | int right; // Hz<<16 | ||||
| DOUBLEX freq1; // floating point versions of the above | |||||
| DOUBLEX height1; | |||||
| DOUBLEX left1; | |||||
| DOUBLEX right1; | |||||
| DOUBLEX freq_inc; // increment by this every 64 samples | |||||
| DOUBLEX height_inc; | |||||
| DOUBLEX left_inc; | |||||
| DOUBLEX right_inc; | |||||
| double freq1; // floating point versions of the above | |||||
| double height1; | |||||
| double left1; | |||||
| double right1; | |||||
| double freq_inc; // increment by this every 64 samples | |||||
| double height_inc; | |||||
| double left_inc; | |||||
| double right_inc; | |||||
| } wavegen_peaks_t; | } wavegen_peaks_t; | ||||
| typedef struct { | typedef struct { | ||||
| int PauseLength(int pause, int control); | int PauseLength(int pause, int control); | ||||
| int LookupPhonemeTable(const char *name); | int LookupPhonemeTable(const char *name); | ||||
| unsigned char *GetEnvelope(int index); | unsigned char *GetEnvelope(int index); | ||||
| int NumInstnWords(USHORT *prog); | |||||
| int NumInstnWords(unsigned short *prog); | |||||
| void InitBreath(void); | void InitBreath(void); | ||||
| #include <espeak-ng/espeak_ng.h> | #include <espeak-ng/espeak_ng.h> | ||||
| #include "speech.h" | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| extern "C" | extern "C" | ||||
| { | { | ||||
| } voice_t; | } voice_t; | ||||
| // percentages shown to user, ix=N_PEAKS means ALL peaks | // percentages shown to user, ix=N_PEAKS means ALL peaks | ||||
| extern USHORT voice_pcnt[N_PEAKS+1][3]; | |||||
| extern unsigned short voice_pcnt[N_PEAKS+1][3]; | |||||
| extern espeak_VOICE current_voice_selected; | extern espeak_VOICE current_voice_selected; | ||||
| return; | return; | ||||
| int ix; | int ix; | ||||
| DOUBLEX next; | |||||
| double next; | |||||
| int length2; | int length2; | ||||
| int length4; | int length4; | ||||
| int qix; | int qix; |