mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 08:15:17 +03:00
Numbers with digits (A1/A2) were not played correctly with TTS (done only french)
This commit is contained in:
parent
effdd542ca
commit
a5112d2463
2 changed files with 14 additions and 4 deletions
|
@ -49,6 +49,7 @@ enum FrenchPrompts {
|
||||||
PROMPT_SOIXANTE_ET_ONZE = 109,
|
PROMPT_SOIXANTE_ET_ONZE = 109,
|
||||||
PROMPT_QUATRE_VINGT_UNE = 110,
|
PROMPT_QUATRE_VINGT_UNE = 110,
|
||||||
|
|
||||||
|
PROMPT_VIRGULE = 116,
|
||||||
PROMPT_ET = 117,
|
PROMPT_ET = 117,
|
||||||
PROMPT_MOINS = 118,
|
PROMPT_MOINS = 118,
|
||||||
|
|
||||||
|
@ -115,6 +116,15 @@ void playNumber(int16_t number, uint8_t unit, uint8_t att)
|
||||||
prompts.append(Prompt(GUIDE_00_MILLION, dir=2))
|
prompts.append(Prompt(GUIDE_00_MILLION, dir=2))
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
int8_t mode = MODE(att);
|
||||||
|
if (mode > 0) {
|
||||||
|
div_t qr = div(number, (mode == 1 ? 10 : 100));
|
||||||
|
playNumber(qr.quot);
|
||||||
|
pushPrompt(PROMPT_VIRGULE);
|
||||||
|
playNumber(qr.rem, unit);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (number < 0) {
|
if (number < 0) {
|
||||||
pushPrompt(PROMPT_MOINS);
|
pushPrompt(PROMPT_MOINS);
|
||||||
number = -number;
|
number = -number;
|
||||||
|
|
|
@ -36,8 +36,6 @@ def generate(str, idx):
|
||||||
result = idx + ".wav"
|
result = idx + ".wav"
|
||||||
temp = "_" + result
|
temp = "_" + result
|
||||||
|
|
||||||
print result, str
|
|
||||||
|
|
||||||
if "sapi" in sys.argv:
|
if "sapi" in sys.argv:
|
||||||
tts.SpeakToWave(temp, str)
|
tts.SpeakToWave(temp, str)
|
||||||
# we remove empty frames at start and end of the file
|
# we remove empty frames at start and end of the file
|
||||||
|
@ -73,6 +71,8 @@ def generate(str, idx):
|
||||||
subprocess.Popen(["ffmpeg", "-y", "-i", temp, "-acodec", "pcm_alaw", "-ar", "16000", result], stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait()
|
subprocess.Popen(["ffmpeg", "-y", "-i", temp, "-acodec", "pcm_alaw", "-ar", "16000", result], stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait()
|
||||||
os.remove(temp)
|
os.remove(temp)
|
||||||
|
|
||||||
|
print result, str
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
return [(result, str)]
|
return [(result, str)]
|
||||||
else:
|
else:
|
||||||
|
@ -174,8 +174,8 @@ if __name__ == "__main__":
|
||||||
systemSounds.extend(generate("1000", 101))
|
systemSounds.extend(generate("1000", 101))
|
||||||
for i, s in enumerate(["une", "onze", "vingt et une", "trente et une", "quarante et une", "cinquante et une", "soixante et une", "soixante et onze", "quatre vingt une"]):
|
for i, s in enumerate(["une", "onze", "vingt et une", "trente et une", "quarante et une", "cinquante et une", "soixante et une", "soixante et onze", "quatre vingt une"]):
|
||||||
systemSounds.extend(generate(s, 102+i))
|
systemSounds.extend(generate(s, 102+i))
|
||||||
for i, s in enumerate(["et", "moins"]):
|
for i, s in enumerate(["virgule", "et", "moins"]):
|
||||||
systemSounds.extend(generate(s, 117+i))
|
systemSounds.extend(generate(s, 116+i))
|
||||||
for i, s in enumerate(["timer", "", "tension", "tension", u"émission", u"réception", "altitude", "moteur",
|
for i, s in enumerate(["timer", "", "tension", "tension", u"émission", u"réception", "altitude", "moteur",
|
||||||
"essence", u"température", u"température", "vitesse", "distance", "altitude", u"élément lipo",
|
"essence", u"température", u"température", "vitesse", "distance", "altitude", u"élément lipo",
|
||||||
"total lipo", "tension", "courant", "consommation", "puissance", u"accelération X", u"accelération Y", u"accelération Z",
|
"total lipo", "tension", "courant", "consommation", "puissance", u"accelération X", u"accelération Y", u"accelération Z",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue