mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
[1.39.07]
Fix SSML <prosody rate> to allow the maximum rate of 390 wpm. Fixes to the generation of the dict_phonemes report. Lang=en-n adjust vowel sounds. Compile phonemes: automatically assume vowel-break marker in second keyframe of a vowel file if none is set. Set letter group 'A' to "vowel letters only" for Indic alphabets. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@195 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+15
-2
@@ -601,6 +601,8 @@ int Compile::LoadSpect(const char *path, int control)
|
||||
int rms;
|
||||
float total;
|
||||
float pkheight;
|
||||
int marker1_set=0;
|
||||
int frame_vowelbreak;
|
||||
SpectFrame *fr;
|
||||
wxString path_sep = _T("/");
|
||||
|
||||
@@ -651,6 +653,16 @@ for(ix=0; ix<8; ix++)
|
||||
|
||||
if(spectseq->frames[frame]->keyframe)
|
||||
{
|
||||
if(seq_out.n_frames == 1)
|
||||
{
|
||||
frame_vowelbreak = frame;
|
||||
}
|
||||
if(spectseq->frames[frame]->markers & 0x2)
|
||||
{
|
||||
// marker 1 is set
|
||||
marker1_set = 1;
|
||||
}
|
||||
|
||||
seq_out.n_frames++;
|
||||
if(frame > 0)
|
||||
total += spectseq->frames[frame-1]->length;
|
||||
@@ -658,10 +670,11 @@ for(ix=0; ix<8; ix++)
|
||||
}
|
||||
seq_out.length = int(total);
|
||||
|
||||
if((control & 1) && (spectseq->numframes > 2))
|
||||
if((control & 1) && (marker1_set == 0))
|
||||
{
|
||||
// This is a vowel, but no Vowel Break marker is set
|
||||
// set a marker flag for the second frame of a vowel
|
||||
spectseq->frames[1]->markers |= FRFLAG_VOWEL_CENTRE;
|
||||
spectseq->frames[frame_vowelbreak]->markers |= FRFLAG_VOWEL_CENTRE;
|
||||
}
|
||||
|
||||
ix = 0;
|
||||
|
||||
Reference in New Issue
Block a user