Browse Source

cleanup: move stressLength to LoadLanguageOptions()

master
Juho Hiltunen 2 years ago
parent
commit
77282aca34
3 changed files with 28 additions and 24 deletions
  1. 22
    8
      src/libespeak-ng/langopts.c
  2. 1
    0
      src/libespeak-ng/voice.h
  3. 5
    16
      src/libespeak-ng/voices.c

+ 22
- 8
src/libespeak-ng/langopts.c View File

@@ -82,18 +82,19 @@ enum {
};

static const MNEM_TAB langopts_tab[] = {
{ "maintainer", V_MAINTAINER },
{ "status", V_STATUS },
{ "lowercaseSentence", V_LOWERCASE_SENTENCE },
{ "stressLength", V_STRESSLENGTH },

{ "maintainer", V_MAINTAINER },
{ "status", V_STATUS },

{ NULL, 0 }
{ NULL, 0 }
};

extern int CheckTranslator(Translator *tr, const MNEM_TAB *keyword_tab, int key);
void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
int ix;

void LoadLanguageOptions(Translator *translator, int key ) {
switch (key)
{
switch (key) {
case V_LOWERCASE_SENTENCE: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;
@@ -101,8 +102,21 @@ void LoadLanguageOptions(Translator *translator, int key ) {
translator->langopts.lowercase_sentence = true;
break;
}
case V_STRESSLENGTH: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

//printf("parsing: %s", keyValue);
int stress_lengths_set = 0;
int stress_lengths[8];
stress_lengths_set = Read8Numbers(keyValue, stress_lengths);

for (ix = 0; ix < stress_lengths_set; ix++) {
translator->stress_lengths[ix] = stress_lengths[ix];
}
break;
}

break;
case V_MAINTAINER:
case V_STATUS:
break;

+ 1
- 0
src/libespeak-ng/voice.h View File

@@ -91,6 +91,7 @@ voice_t *LoadVoice(const char *voice_name, int control);
voice_t *LoadVoiceVariant(const char *voice_name, int variant);
espeak_ng_STATUS DoVoiceChange(voice_t *v);
void WavegenSetVoice(voice_t *v);
int Read8Numbers(char *data_in, int data[8]);
void ReadTonePoints(char *string, int *tone_pts);
void VoiceReset(int control);
void FreeVoiceList(void);

+ 5
- 16
src/libespeak-ng/voices.c View File

@@ -1,3 +1,4 @@

/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
@@ -134,9 +135,9 @@ static const MNEM_TAB keyword_tab[] = {
{ "pitch", V_PITCH },
{ "phonemes", V_PHONEMES },
{ "dictionary", V_DICTIONARY },
{ "stressLength", V_STRESSLENGTH },
{ "stressAmp", V_STRESSAMP },
{ "stressAdd", V_STRESSADD },
{ "stressLength", V_STRESSLENGTH },
{ "intonation", V_INTONATION },
{ "tunes", V_TUNES },
{ "dictrules", V_DICTRULES },
@@ -476,7 +477,7 @@ static void PhonemeReplacement(char *p)
replace_phonemes[n_replace_phonemes++].type = flags;
}

static int Read8Numbers(char *data_in, int data[8])
int Read8Numbers(char *data_in, int data[8])
{
// Read 8 integer numbers
memset(data, 0, 8*sizeof(int));
@@ -632,7 +633,8 @@ voice_t *LoadVoice(const char *vname, int control)

key = LookupMnem(keyword_tab, buf);

LoadLanguageOptions(translator, key);
LoadLanguageOptions(translator, key, p);

switch (key)
{
case V_LANGUAGE:
@@ -706,20 +708,7 @@ voice_t *LoadVoice(const char *vname, int control)
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
}
break;
case V_STRESSLENGTH: {// stressLength
if (CheckTranslator(translator, keyword_tab, key) != 0)
break;

int stress_lengths_set = 0;
int stress_lengths[8];
stress_lengths_set = Read8Numbers(p, stress_lengths);

for (ix = 0; ix < stress_lengths_set; ix++) {
translator->stress_lengths[ix] = stress_lengths[ix];
}

break;
}
case V_STRESSAMP: { // stressAmp
if (CheckTranslator(translator, keyword_tab, key) != 0)
break;

Loading…
Cancel
Save