Some words have been added to the dictionary for street language. But Espeak really mispronounced them.
I removed the mispronounced words.
And I wrote a better pronunciation rule for the following words:
* bağışlamak ba:@@Sla'mak
* bağışlayın ba:@@S'laj@n
These words should be lengthened by 1.5 in the first letter "i", in a subtle tone. (letter "ğ" is the reason for this. Normally there is no such rule.)
Previously, the letter "ı" (305) here was ignored.
Although the street language for Turkish looks like this, it is not. Since we have a dynamic language, it is not possible to implement all of them.
Therefore, I request you to accept these changes.
The tests were done on Windows. Pronunciations improved.
When a language or voice file in espeak-ng-data is loaded the keyword
"translator" must be set so that other language options can modify the
values in struct Translator.
CheckTranslator() provides standardized error for all switch cases that
modify a value in struct Translator.
code cleanup: move stressLength, stressAdd and stressAmp handling in LoadVoice()
From now on, stressLength must be set before stressAdd because
stressLength will overwrite any previous value. Usually stressLength is
set in a language file and stressAdd in a voice file.
Previously the order of the two commands didn't matter.
code cleanup: remove unnecessary new_translator in LoadVoice()
It looks like this was used in situations where both "language" and
"translator" voice options were found. Since bda8b6f76a "translator"
hasn't been supported.
cmn now handles all latin characters as English.
The old functionality of assuming latin characters are pinyin can be
achieved with new language cmn-Latn-pinyin.
- fix a buffer overflow in ucd_tolower leading to failure when
compiling with address sanitizer
- force the use of C++ compiler for espeak-ng
- adding a malloc to have a null-terminated string in the fuzz target
- setting (but not overwriting) ESPEAK_DATA_PATH environment
variable inside the fuzz target