Browse Source

headers: add new file mbrola.h with declarations of functions in compilembrola.c and synth_mbrola.c

master
Juho Hiltunen 7 years ago
parent
commit
29cba35a9e

+ 2
- 0
src/libespeak-ng/compilembrola.c View File

@@ -28,6 +28,8 @@
#include <espeak-ng/espeak_ng.h>
#include <espeak-ng/speak_lib.h>

#include "mbrola.h"

#include "error.h"
#include "phoneme.h"
#include "speech.h"

+ 66
- 0
src/libespeak-ng/mbrola.h View File

@@ -0,0 +1,66 @@
/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015-2018 Reece H. Dunn
* Copyright (C) 2018 Juho Hiltunen
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see: <http://www.gnu.org/licenses/>.
*/

// declarations for compilembrola.c and synth_mbrola.c

#ifndef ESPEAK_NG_MBROLA_H
#define ESPEAK_NG_MBROLA_H

#include <stdbool.h>

#include "synthesize.h"

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct {
int name;
unsigned int next_phoneme;
int mbr_name;
int mbr_name2;
int percent; // percentage length of first component
int control;
} MBROLA_TAB;

extern int mbrola_delay;
extern char mbrola_name[20];

espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice,
const char *phtrans,
int *srate);

int MbrolaGenerate(PHONEME_LIST *phoneme_list,
int *n_ph, bool resume);

int MbrolaFill(int length,
bool resume,
int amplitude);

void MbrolaReset(void);
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mbrola);

#ifdef __cplusplus
}
#endif

#endif


+ 1
- 0
src/libespeak-ng/speech.c View File

@@ -49,6 +49,7 @@
#include <espeak-ng/encoding.h>

#include "dictionary.h"
#include "mbrola.h"
#include "readclause.h"
#include "synthdata.h"
#include "wavegen.h"

+ 2
- 0
src/libespeak-ng/speech.h View File

@@ -22,6 +22,8 @@

#include <espeak-ng/espeak_ng.h>

#include "mbrola.h"

#ifdef __cplusplus
extern "C"
{

+ 6
- 1
src/libespeak-ng/synth_mbrola.c View File

@@ -33,19 +33,24 @@
#include <espeak-ng/encoding.h>

#include "dictionary.h"
#include "mbrola.h"
#include "readclause.h"
#include "synthdata.h"
#include "wavegen.h"


#include "speech.h"
#include "phoneme.h"
#include "voice.h"
#include "synthesize.h"
#include "translate.h"

// included here so tests can find these even without OPT_MBROLA set
int mbrola_delay;
char mbrola_name[20];

#ifdef INCLUDE_MBROLA

extern int Read4Bytes(FILE *f);
extern unsigned char *outbuf;

#if defined(_WIN32) || defined(_WIN64)

+ 1
- 3
src/libespeak-ng/synthesize.c View File

@@ -34,6 +34,7 @@

#include "dictionary.h"
#include "intonation.h"
#include "mbrola.h"
#include "setlengths.h"
#include "synthdata.h"
#include "wavegen.h"
@@ -50,9 +51,6 @@ static void SmoothSpect(void);
int n_phoneme_list = 0;
PHONEME_LIST phoneme_list[N_PHONEME_LIST+1];

int mbrola_delay;
char mbrola_name[20];

SPEED_FACTORS speed;

static int last_pitch_cmd;

+ 0
- 17
src/libespeak-ng/synthesize.h View File

@@ -338,15 +338,6 @@ typedef struct {
char *filename;
} SOUND_ICON;

typedef struct {
int name;
unsigned int next_phoneme;
int mbr_name;
int mbr_name2;
int percent; // percentage length of first component
int control;
} MBROLA_TAB;

typedef struct {
int pause_factor;
int clause_pause_factor;
@@ -464,9 +455,6 @@ extern int echo_tail;
extern int echo_amp;
extern short echo_buf[N_ECHO_BUF];

extern int mbrola_delay;
extern char mbrola_name[20];

void SynthesizeInit(void);
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume);
void MakeWave2(PHONEME_LIST *p, int n_ph);
@@ -506,12 +494,7 @@ extern double sonicSpeed;
extern int n_soundicon_tab;
extern SOUND_ICON soundicon_tab[N_SOUNDICON_TAB];

espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int *srate);
espeak_ng_STATUS SetParameter(int parameter, int value, int relative);
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mbrola);
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume);
int MbrolaFill(int length, bool resume, int amplitude);
void MbrolaReset(void);
void DoEmbedded(int *embix, int sourceix);
void DoMarker(int type, int char_posn, int length, int value);
void DoPhonemeMarker(int type, int char_posn, int length, char *name);

Loading…
Cancel
Save