mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-05 06:45:39 +00:00
[1.47.03d]
Lang=ml, change aspirated voiced consonants. Lang=ko, define temporary replacements for undefined consonant phonemes. Lang=bn, fix numbers. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@334 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+1
-1
@@ -619,7 +619,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed
|
||||
}
|
||||
|
||||
if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE)
|
||||
if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE || (ph->phflags & phPREVOICE))
|
||||
{
|
||||
phlist[ix].length = 128; // length_mod
|
||||
phlist[ix].env = PITCHfall;
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.47.03c 23.Mar.13";
|
||||
const char *version_string = "1.47.03d 26.Mar.13";
|
||||
const int version_phdata = 0x014701;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+19
-1
@@ -1426,7 +1426,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
|
||||
EndAmplitude();
|
||||
|
||||
if(p->prepause > 0)
|
||||
if((p->prepause > 0) && !(p->ph->phflags & phPREVOICE))
|
||||
DoPause(p->prepause,1);
|
||||
|
||||
done_phoneme_marker = 0;
|
||||
@@ -1455,6 +1455,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
|
||||
case phSTOP:
|
||||
released = 0;
|
||||
ph = p->ph;
|
||||
if(next->type==phVOWEL)
|
||||
{
|
||||
released = 1;
|
||||
@@ -1468,6 +1469,23 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
if(released == 0)
|
||||
p->synthflags |= SFLAG_NEXT_PAUSE;
|
||||
|
||||
if(ph->phflags & phPREVOICE)
|
||||
{
|
||||
// a period of voicing before the release
|
||||
memset(&fmtp, 0, sizeof(fmtp));
|
||||
InterpretPhoneme(NULL, 0x01, p, &phdata, &worddata);
|
||||
fmtp.fmt_addr = phdata.sound_addr[pd_FMT];
|
||||
fmtp.fmt_amp = phdata.sound_param[pd_FMT];
|
||||
|
||||
if(last_pitch_cmd < 0)
|
||||
{
|
||||
DoAmplitude(next->amp,NULL);
|
||||
DoPitch(envelope_data[p->env],next->pitch1,next->pitch2);
|
||||
}
|
||||
|
||||
DoSpect2(ph, 0, &fmtp, p, 0);
|
||||
}
|
||||
|
||||
InterpretPhoneme(NULL, 0, p, &phdata, &worddata);
|
||||
phdata.pd_control |= pd_DONTLENGTHEN;
|
||||
DoSample3(&phdata, 0, 0);
|
||||
|
||||
@@ -79,7 +79,7 @@ ALPHABET alphabets [] = {
|
||||
{"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0},
|
||||
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0},
|
||||
{"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS},
|
||||
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, 0, 0},
|
||||
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), 0},
|
||||
{"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS},
|
||||
{"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0},
|
||||
{"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0},
|
||||
|
||||
+1
-1
@@ -601,7 +601,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
// which directory to look for a named voice. List of voice names, must end in a space.
|
||||
static const char *voices_asia =
|
||||
"fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta tr vi vi-hue zh zh-yue ";
|
||||
"bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue zh zh-yue ";
|
||||
static const char *voices_europe =
|
||||
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user