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

}; };


static const MNEM_TAB langopts_tab[] = { static const MNEM_TAB langopts_tab[] = {
{ "maintainer", V_MAINTAINER },
{ "status", V_STATUS },
{ "lowercaseSentence", V_LOWERCASE_SENTENCE }, { "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: { case V_LOWERCASE_SENTENCE: {
if (CheckTranslator(translator, langopts_tab, key) != 0) if (CheckTranslator(translator, langopts_tab, key) != 0)
break; break;
translator->langopts.lowercase_sentence = true; translator->langopts.lowercase_sentence = true;
break; 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_MAINTAINER:
case V_STATUS: case V_STATUS:
break; break;

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

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

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


/* /*
* Copyright (C) 2005 to 2015 by Jonathan Duddington * Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected] * email: [email protected]
{ "pitch", V_PITCH }, { "pitch", V_PITCH },
{ "phonemes", V_PHONEMES }, { "phonemes", V_PHONEMES },
{ "dictionary", V_DICTIONARY }, { "dictionary", V_DICTIONARY },
{ "stressLength", V_STRESSLENGTH },
{ "stressAmp", V_STRESSAMP }, { "stressAmp", V_STRESSAMP },
{ "stressAdd", V_STRESSADD }, { "stressAdd", V_STRESSADD },
{ "stressLength", V_STRESSLENGTH },
{ "intonation", V_INTONATION }, { "intonation", V_INTONATION },
{ "tunes", V_TUNES }, { "tunes", V_TUNES },
{ "dictrules", V_DICTRULES }, { "dictrules", V_DICTRULES },
replace_phonemes[n_replace_phonemes++].type = flags; 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 // Read 8 integer numbers
memset(data, 0, 8*sizeof(int)); memset(data, 0, 8*sizeof(int));


key = LookupMnem(keyword_tab, buf); key = LookupMnem(keyword_tab, buf);


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

switch (key) switch (key)
{ {
case V_LANGUAGE: case V_LANGUAGE:
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
} }
break; 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 case V_STRESSAMP: { // stressAmp
if (CheckTranslator(translator, keyword_tab, key) != 0) if (CheckTranslator(translator, keyword_tab, key) != 0)
break; break;

Loading…
Cancel
Save