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; |