Browse Source

[1.29.22] Remember voice variant over <speak> </speak> tags.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@108 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 17 years ago
parent
commit
b1a45dcdf5
6 changed files with 20 additions and 9 deletions
  1. 3
    1
      dictsource/en_list
  2. 1
    1
      dictsource/en_rules
  3. 1
    1
      dictsource/no_list
  4. 12
    4
      src/readclause.cpp
  5. 1
    1
      src/synthdata.cpp
  6. 2
    1
      src/voices.cpp

+ 3
- 1
dictsource/en_list View File

@@ -188,6 +188,7 @@ usa $abbrev
utc $abbrev
u.s ju:'Es
wwii dVb@Lju:dVb@Lju:t'u:
xxx $abbrev // not roman 30
xy $abbrev


@@ -1426,7 +1427,8 @@ project $verb
promenade pr0m@n'A:d
pronoun proUnaUn
propaganda pr0p@g'and@
protegee pr0t@dZeI
protege pr0t@ZeI
protegee pr0t@ZeI
protest proUtEst $onlys
protest $verb
protocol proUt@k0l

+ 1
- 1
dictsource/en_rules View File

@@ -1533,7 +1533,7 @@
deter dI2t3:
deter (i dI2ti@
detest dI2tEst
de (th d%i:
_) de (th d%i:
de (ton dE
de (tou di:
de (tox d%i:

+ 1
- 1
dictsource/no_list View File

@@ -39,7 +39,7 @@ _1 'e:n
_2 t'u:
_3 t@-*'e:
_4 f'i:*E
_5 f'e:m
_5 f'Em
_6 s'Eks
_7 S'u-:
_8 'Ot:@2

+ 12
- 4
src/readclause.cpp View File

@@ -1529,7 +1529,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb
return(CLAUSE_COLON);

case SSML_SENTENCE:
if(ssml_sp->tag_type == SSML_SENTENCE)
if((ssml_sp != NULL) && (ssml_sp->tag_type == SSML_SENTENCE))
{
// new sentence implies end-of-sentence
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
@@ -1539,10 +1539,18 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb


case SSML_PARAGRAPH:
if((ssml_sp->tag_type == SSML_SENTENCE) || (ssml_sp->tag_type == SSML_PARAGRAPH))
if(ssml_sp != NULL)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
if(ssml_sp->tag_type == SSML_SENTENCE)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
}
if(ssml_sp->tag_type == SSML_PARAGRAPH)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag |= GetVoiceAttributes(px, SSML_PARAGRAPH+SSML_CLOSE);
}
}
voice_change_flag |= GetVoiceAttributes(px, tag_type);
return(CLAUSE_PARAGRAPH + voice_change_flag);

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.29.21 21.Nov.07";
const char *version_string = "1.29.22 26.Nov.07";
const int version_phdata = 0x012901;

int option_device_number = -1;

+ 2
- 1
src/voices.cpp View File

@@ -1485,7 +1485,8 @@ espeak_ERROR SetVoiceByName(const char *name)
variant_name = ExtractVoiceVariantName(buf,0);

memset(&voice_selector,0,sizeof(voice_selector));
voice_selector.name = buf;
// voice_selector.name = buf;
voice_selector.name = name; // include variant name in voice stack ??

// first check for a voice with this filename
// This may avoid the need to call espeak_ListVoices().

Loading…
Cancel
Save