mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-09 16:01:12 +00:00
[1.25.09] Say "dot" not "point" for 2. when not followed by another number.
lang=hu, vowel_pause=0x20, fix [A] [a:] endtypes lang=pt, "r" phonemes git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@25 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+1
-1
@@ -567,7 +567,7 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags,
|
||||
suppress_null = 1;
|
||||
}
|
||||
|
||||
if(word[n_digits] == langopts.decimal_sep)
|
||||
if((word[n_digits] == langopts.decimal_sep) && isdigit(word[n_digits+1]))
|
||||
{
|
||||
// this "word" ends with a decimal point
|
||||
Lookup("_dpt",ph_append);
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.25.08 25.May.07";
|
||||
const char *version_string = "1.25.09 26.May.07";
|
||||
const int version_phdata = 0x012501;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -312,8 +312,9 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
case L('h','u'): // Hungarian
|
||||
{
|
||||
static int stress_amps_hu[8] = {17,16, 20,19, 20,24, 24,22 };
|
||||
static int stress_lengths_hu[8] = {180,160, 200,190, 0,0, 220,240};
|
||||
static int stress_amps_hu[8] = {17,17, 19,19, 20,24, 24,22 };
|
||||
static int stress_lengths_hu[8] = {190,190, 190,190, 0,0, 200,210};
|
||||
// static int stress_lengths_hu[8] = {180,180, 200,190, 0,0, 210,225};
|
||||
static const wchar_t replace_chars_hu[] = {0xd4,0xf4,0xdb,0xfb,0};
|
||||
static const unsigned int replacement_chars_hu[] = {0x150,0x151,0x170,0x171,0}; // allow o,u-circumflex for o,u-double-acute
|
||||
|
||||
@@ -323,17 +324,18 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.replace_chars = replace_chars_hu;
|
||||
tr->langopts.replacement_chars = replacement_chars_hu;
|
||||
|
||||
tr->langopts.vowel_pause = 0x10;
|
||||
tr->langopts.vowel_pause = 0x20;
|
||||
tr->langopts.stress_rule = 0;
|
||||
tr->langopts.stress_flags = 0x36;
|
||||
tr->langopts.unstressed_wd1 = 2;
|
||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries
|
||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x2; // don't propagate over v
|
||||
tr->langopts.param[LOPT_IT_DOUBLING] = 1;
|
||||
tr->langopts.long_stop = 130;
|
||||
|
||||
tr->langopts.numbers = 0x1809;
|
||||
SetLetterVowel(tr,'y');
|
||||
tr->langopts.spelling_stress = 1;
|
||||
//SetLengthMods(tr,3); // all equal
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -440,7 +442,7 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
case L('p','t'): // Portuguese
|
||||
{
|
||||
static int stress_lengths_pt[8] = {170, 120, 210, 210, 0, 0, 270, 295};
|
||||
static int stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295};
|
||||
static int stress_amps_pt[8] = {16,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable
|
||||
tr = new Translator();
|
||||
SetupTranslator(tr,stress_lengths_pt,stress_amps_pt);
|
||||
|
||||
+10
-10
@@ -314,16 +314,16 @@ static unsigned char length_mods_en0[100] = {
|
||||
|
||||
static unsigned char length_mods_equal[100] = {
|
||||
/* a , t s n d z r N <- next */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* a <- next2 */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* , */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* t */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* s */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* n */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* d */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* z */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* r */
|
||||
100,100,100,100,100,100,100,100,100, 100, /* N */
|
||||
100,100,100,100,100,100,100,100,100, 100 }; // SPARE
|
||||
110,110,110,110,110,110,110,110,110, 110, /* a <- next2 */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* , */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* t */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* s */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* n */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* d */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* z */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* r */
|
||||
110,110,110,110,110,110,110,110,110, 110, /* N */
|
||||
110,110,110,110,110,110,110,110,110, 110 }; // SPARE
|
||||
|
||||
|
||||
unsigned char *length_mod_tabs[6] = {
|
||||
|
||||
Reference in New Issue
Block a user