[1.43.31]

*_list files: added attribute $sentence.
*_rules files: added attributes $w_alt, $p_alt.
phoneme definitions: added attribute no_pause.

-X command-line option: Show the matching of multiple-word entries in *_list files.

espeakedit: Add menu option to compile the intonation data file (the data is not yet used).

Start language: Bulgarian.

lang=bg (Bulgarian): Add feature in espeakedit to make bg_listx from a lexicon of words which have stress position mark-up.

espeakedit: Change the frame-length field from Spin Control to Text Control to allow better access from screen-readers.

Language options: add an option to the Regressive Voicing option to de-voice the final consonant of words.

Don't speak "dot" if an ellipsis is followed by a dot.

Intonation: change the internal pitch unit to give finer control, and align with the values displayed in the espeakedit Prosody window.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@243 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-05-21 23:21:06 +00:00
parent 19b774ffc6
commit cec2c415da
113 changed files with 13695 additions and 5592 deletions
+20 -11
View File
@@ -193,7 +193,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
if((type==phSTOP) || type==(phFRICATIVE))
{
if(voicing==0)
if((voicing==0) && (regression & 0xf))
{
voicing = 1;
}
@@ -206,7 +206,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
else
if((type==phVSTOP) || type==(phVFRICATIVE))
{
if(voicing==0)
if((voicing==0) && (regression & 0xf))
{
voicing = 2;
}
@@ -229,10 +229,19 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
voicing = 0;
}
}
if((regression & 0x4) && (plist2[j].sourceix))
if(plist2[j].sourceix)
{
// stop propagation at a word boundary
voicing = 0;
if(regression & 0x04)
{
// stop propagation at a word boundary
voicing = 0;
}
if(regression & 0x10)
{
// devoice word-final consonants, unless propagating voiced
if(voicing == 0)
voicing = 1;
}
}
}
}
@@ -312,10 +321,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
InterpretPhoneme(tr, 0x100, plist3, &phdata);
if((alternative = phdata.pd_param[pd_CHANGEPHONEME]) == 1)
continue; // NULL phoneme, discard
if(alternative > 1)
if((alternative = phdata.pd_param[pd_CHANGEPHONEME]) > 0)
{
PHONEME_TAB *ph2;
ph2 = ph;
@@ -323,6 +329,9 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
plist3->phcode = alternative;
plist3->ph = ph;
if(alternative == 1)
continue; // NULL phoneme, discard
if(ph->type == phVOWEL)
{
plist3->synthflags |= SFLAG_SYLLABLE;
@@ -553,8 +562,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
phlist[ix].prepause = 0;
phlist[ix].amp = 20; // default, will be changed later
phlist[ix].pitch1 = 0x400;
phlist[ix].pitch2 = 0x400;
phlist[ix].pitch1 = 255;
phlist[ix].pitch2 = 255;
ix++;
}
phlist[ix].newword = 2; // end of clause