mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
espeak 1.44.05 release version
Fix error in big-endian data conversion program, producing bad data. Make geminated voiced stops (eg. [bb] ) longer at fast speeds. Provide conditional compilation of the mbrola interface, define macro INCLUDE_MBROLA in speech.h Mbrola: also look for mbrola voices in /usr/share/mbrola/voices Pad TUNES and frame_t structures to a multiple of 4 bytes. lang=da, Don't weaken unvoiced stops before pause. lang=el, Remove final unstressed [a] if the next word starts with [a]. lang=pt, Change final [U] to [w] if next word starts with a vowel. espeak 1.44.03 Fixes: Lang=el, mk. Was speaking words as individual letters. Lang=pl. Fix prounciation of 'ć' and 'ci'. Fix crash in big-endian data conversion program. Fix problem where changing voices reduces the speaking rate, at fast rates. speak_lib.h: add macro definitions for minimum, maximum, and normal speaking rate values. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@253 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+37
-1
@@ -17,6 +17,8 @@
|
||||
* <http://www.gnu.org/licenses/>. *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
|
||||
#include "StdAfx.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -33,6 +35,10 @@
|
||||
#include "translate.h"
|
||||
#include "voice.h"
|
||||
|
||||
int option_mbrola_phonemes;
|
||||
|
||||
#ifdef INCLUDE_MBROLA
|
||||
|
||||
extern int Read4Bytes(FILE *f);
|
||||
extern void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range);
|
||||
extern unsigned char *outbuf;
|
||||
@@ -103,7 +109,6 @@ void unload_MBR()
|
||||
|
||||
static MBROLA_TAB *mbrola_tab = NULL;
|
||||
static int mbrola_control = 0;
|
||||
int option_mbrola_phonemes;
|
||||
|
||||
|
||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate)
|
||||
@@ -133,6 +138,11 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int
|
||||
// mbrola voice file not found, look in /usr/share
|
||||
sprintf(path,"/usr/share/mbrola/%s",mbrola_voice);
|
||||
}
|
||||
if(GetFileLength(path) <= 0)
|
||||
{
|
||||
// mbrola voice file not found, look in /usr/share
|
||||
sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice);
|
||||
}
|
||||
#endif
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
if(load_MBR() == FALSE) // load mbrola.dll
|
||||
@@ -639,3 +649,29 @@ void MbrolaReset(void)
|
||||
|
||||
reset_MBR();
|
||||
}
|
||||
|
||||
#else // INCLUDE_MBROLA
|
||||
|
||||
// mbrola interface is not compiled, provide dummy functions.
|
||||
|
||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate)
|
||||
{
|
||||
return(EE_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
|
||||
int MbrolaFill(int length, int resume)
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
|
||||
void MbrolaReset(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
#endif // INCLUDE_MBROLA
|
||||
|
||||
Reference in New Issue
Block a user