mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-13 09:14:12 +00:00
Merge branch 'upstream' into development
Conflicts: dictsource/dict_phonemes phsource/compile_report
This commit is contained in:
+12
-4
@@ -1276,14 +1276,22 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
mnem = phoneme_tab[final_ph]->mnemonic;
|
||||
mnem2 = phoneme_tab[final_ph2]->mnemonic;
|
||||
|
||||
if((mnem == 's') && (phoneme_tab[final_ph2]->type == phNASAL))
|
||||
if(tr->translator_name == L('a','n'))
|
||||
{
|
||||
// -ns stress remains on penultimate syllable
|
||||
if(((mnem != 's') && (mnem !='n')) || phoneme_tab[final_ph2]->type != phVOWEL)
|
||||
stressed_syllable = vowel_count - 1; // stress on last syllable
|
||||
}
|
||||
else
|
||||
if(((phoneme_tab[final_ph]->type != phNASAL) && (mnem != 's')) || (phoneme_tab[final_ph2]->type != phVOWEL))
|
||||
{
|
||||
stressed_syllable = vowel_count - 1;
|
||||
if((mnem == 's') && (phoneme_tab[final_ph2]->type == phNASAL))
|
||||
{
|
||||
// -ns stress remains on penultimate syllable
|
||||
}
|
||||
else
|
||||
if(((phoneme_tab[final_ph]->type != phNASAL) && (mnem != 's')) || (phoneme_tab[final_ph2]->type != phVOWEL))
|
||||
{
|
||||
stressed_syllable = vowel_count - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.46.31 19.Jan.13";
|
||||
const char *version_string = "1.46.32 30.Jan.13";
|
||||
const int version_phdata = 0x014631;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -2974,6 +2974,16 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
single_quoted = 0;
|
||||
}
|
||||
else
|
||||
if((tr->langopts.param[LOPT_APOSTROPHE] & 1) && IsAlpha(next_in))
|
||||
{
|
||||
single_quoted = 0; // apostrophe at start of word is part of the word
|
||||
}
|
||||
else
|
||||
if((tr->langopts.param[LOPT_APOSTROPHE] & 2) && IsAlpha(prev_in))
|
||||
{
|
||||
single_quoted = 0; // apostrophe at end of word is part of the word
|
||||
}
|
||||
else
|
||||
if((wcschr(tr->char_plus_apostrophe,prev_in) != 0) && (prev_out2 == ' '))
|
||||
{
|
||||
// consider single character plus apostrophe as a word
|
||||
|
||||
+5
-1
@@ -259,7 +259,7 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
|
||||
|
||||
|
||||
#define N_LOPTS 20
|
||||
#define N_LOPTS 21
|
||||
#define LOPT_DIERESES 1
|
||||
// 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables
|
||||
// bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word
|
||||
@@ -329,6 +329,10 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
// bit 0: Don't allow suffices if there is no previous syllable
|
||||
#define LOPT_SUFFIX 19
|
||||
|
||||
// bit 0 Apostrophe at start of word is part of the word
|
||||
// bit 1 Apostrophe at end of word is part of the word
|
||||
#define LOPT_APOSTROPHE 20
|
||||
|
||||
|
||||
// stress_rule
|
||||
#define STRESSPOSN_1L 0 // 1st syllable
|
||||
|
||||
@@ -163,6 +163,7 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"l_unpronouncable", 0x100+LOPT_UNPRONOUNCABLE},
|
||||
{"l_sonorant_min", 0x100+LOPT_SONORANT_MIN},
|
||||
{"l_length_mods", 0x100+LOPT_LENGTH_MODS},
|
||||
{"apostrophe", 0x100+LOPT_APOSTROPHE},
|
||||
{NULL, 0} };
|
||||
|
||||
#define N_VOICE_VARIANTS 12
|
||||
|
||||
Reference in New Issue
Block a user