Commit Graph
4541 Commits
Author SHA1 Message Date
Valdis Vitolins d2bc4980a5 Update list of language files 2021-04-13 14:55:04 +03:00
katrihiovainandSebastien Le Maguer 93d3c67df6 smj: Support for new language Lule Saami
Co-authored-by: Sebastien Le Maguer <lemagues@tcd.ie>
2021-04-10 13:54:41 +03:00
Valdis Vitolins 899b268468 Add OPTIONS argument to test_phon() and use it instead of test_commandlineoptions() 2021-04-06 18:01:19 +03:00
Valdis Vitolins d15de8cd78 Fix introduced bugs during refactorization 2021-04-06 17:45:28 +03:00
Valdis Vitolins 5f6b5c8093 Make output more similar to the output before refactorization 2021-04-06 17:44:40 +03:00
Valdis Vitolins 4588258cd7 Make test_replace() similar to other functions 2021-04-06 17:01:23 +03:00
Valdis Vitolins df8dd607df Replace test_lang() and test_voice() with test_wav() and test_phwav() which uses test_wav() 2021-04-06 16:52:26 +03:00
Valdis Vitolins 842cd3e25e Replace test_phonemes(), test_phonemes1() and test_dict() with single test_phon() 2021-04-06 16:28:23 +03:00
Valdis Vitolins 43dee60c33 Make test_dict the same as test_phonemes 2021-04-06 16:10:26 +03:00
Valdis Vitolins e14b567d77 Merge MESSAGE and TEST_BROKEN arguments 2021-04-06 15:57:58 +03:00
Valdis Vitolins 6fcb110b83 Move MESSAGE argument as 4th, to make arguments similar to other functions 2021-04-06 00:31:42 +03:00
Valdis Vitolins ec552d2566 Move common functions into common script 2021-04-05 23:24:06 +03:00
Valdis Vitolins 2954e498ca Change shell to sh as it is more common 2021-04-05 21:53:26 +03:00
Juho Hiltunen cad1c8e87f ka: End sentences for period followed by a lower case letter.
Useful because capitals are not used in Mkhedruli script.

Uses the new lowercaseSentence setting.
2021-04-05 19:29:18 +03:00
Juho Hiltunen c4740b3053 New language option lowercaseSentence
When set in a language file, a period followed by a lower case letter is
detected as end of sentence. Normal behavior is to require a capital
letter.
2021-04-05 19:29:18 +03:00
Juho Hiltunen dbaf6d4012 Update changelog
I forgot to add fa: to previous commit message 4967418.
2021-03-31 21:14:29 +03:00
Shadyar Khodayari 4967418a5c several exception words and an unknown charactor added. 2021-03-28 13:04:51 +04:30
Valdis Vitolins d4c698857e Merge pull request #898 2021-03-26 11:06:11 +02:00
trypolis 0ecca7c1cc Fixed a typo in UniversalRobot. 2021-03-25 21:53:24 -06:00
Reece H. Dunn e6880b27de [#891]: Fix building the Arabic dictionary on windows. 2021-03-24 18:07:39 +00:00
Reece H. Dunn a0b0f58cf5 [#864]: Fix installing the Japanese language on windows. 2021-03-24 17:58:55 +00:00
Juho Hiltunen 1432684245 en: fix dengler and binghamton.
Pronounce dengler and binghamton the same way with and without a capital
letter.

Closes #895.
2021-03-23 18:01:32 +02:00
Juho Hiltunen 0ed9c91520 bugfix: allow both SSSML <audio> and soundicon punctuation
All sound file information goes to soundicon_tab. The contents of the files are not
loaded to memory before they are needed for synthesis.

This removes N_SOUNDICON_SLOTS that divided soundicon_tab into two
parts for unknown reasons.

TODO: LoadConfig() is currently undocumented. The logic should be
moved to LoadVoice() and documented.
2021-03-21 18:53:42 +02:00
Juho Hiltunen 6e197d967e code cleanup: move soundicon logic to a new file
Soundicons are used for external audio with SSML <audio> tag and for
replacing punctuation names with sound files in LoadConfig().

Currently there's a bug wih soundicon slots: if both LoadConfig and
<audio> are used, the punctuation reserves all slots and no sound from
<audio> is played.
2021-03-21 18:53:05 +02:00
Juho Hiltunen e2bd52c845 code cleanup: remove unused PHONEME_LIST->postpause 2021-03-21 12:11:22 +02:00
Juho Hiltunen 1724f79528 code cleanup: remove unnecessary current_phoneme_table
The SelectPhonemeTable(voice->phoneme_tab_ix) has no effect for tests.
Passing other values here breaks tests. That means that the relevant
calls SelectPhonemeTable() are already made in other functions.

voice->phoneme_tab_ix is set in LoadVoice().
2021-03-21 11:20:45 +02:00
Juho Hiltunen 8ce104a315 code cleanup: remove wavefile_ix, move wavefile_amp
wavefile_ix is always equal to fmt_params->wav_addr.

wavefile_amp is only used once  so it can be set right
before calling DoSample2().
2021-03-20 20:29:33 +02:00
jaacoppi c315a10109 docs: add details about ordinal numbers 2021-03-20 08:46:45 +02:00
Juho Hiltunen 2d9ef5b5fc tests: test for mbrola voice combined with a voice variant 2021-03-20 08:37:26 +02:00
Juho Hiltunen 53915bf0a7 voice: fix Bad voice attribute warnings.
voice fast is related to speed.fast_settings. Others were errors in
LoadVoice() parsing or commented out code.

Note that some voices are from the original espeak and have comments
that might be outdated.
2021-03-14 08:04:26 +02:00
Juho Hiltunen aa62682869 code cleanup: simplify speed.fast_settings.
speed.fast_settings[] was introduced in 7b2eecc724 to be used with
Sonic. Looks like after 7b2eecc724 the code related to everything
except fast_settings[0] was removed.

Might be that speed.fast_settings[0] is also irrelevant and could be
removed.
2021-03-13 20:46:40 +02:00
Juho Hiltunen 74ebdb4126 code cleanup: remove unused speed.loud_consonants
It is set but never used.
2021-03-12 22:16:47 +02:00
jaacoppi 4c3fe183dd Merge pull request #888
Set number handling on by default
2021-03-12 16:35:38 +02:00
Juho Hiltunen 75ea4b0bdf Tests: add tests for voice variants 2021-03-10 21:19:55 +02:00
Juho Hiltunen bda8b6f76a code cleanup: remove unnecessary voice option translator
See commit message for 23a4d88f.

This commit fixes cmn and yue.
CalcPitches_Tone() now accepts cmn for translator_name.
SelectTranslator() now has a case for yue instead of zhy.
2021-03-08 18:18:14 +02:00
Juho Hiltunen d260562b7e Revert "code cleanup: remove unnecessary voice option translator"
This reverts commit 23a4d88f6b.

Breaks tests for cmn.
2021-03-07 13:34:05 +02:00
Juho Hiltunen 23a4d88f6b code cleanup: remove unnecessary voice option translator
Option "language <name>"already causes SelectTranslator(<name>) to be
called. Having two options to do almost the same thing is unnecessary
and confusing.

In the long term, all options from SelectTranslator() should have a
switch case in LoadVoice() so they are user configurable (see #218). If
needed, a new option (maybe called "LoadOptions") could be added to load
an existing voice or language file.

Changes language configuration files for: hak, cmn, yue, ltg, ms, mb-ma1.
No changes to users.
2021-03-07 12:58:23 +02:00
Juho Hiltunen 6a43f8c984 code cleanup: remove dead code for Divehi (dv)
The language is not supported and apparently never has been.
2021-03-05 17:21:08 +02:00
Juho Hiltunen 1914d39d9f Update changelog 2021-03-05 06:21:47 +02:00
jaacoppi a54824c9e5 voices: Change default number pronunciation rule to enabled.
docs: add details about number flags to the documentation.

It's clearly intended to be enabled by default:
- it's defined as default behaviour translate.h (NUM_DEFAULT)
- tr_languages.c sets many default values related to number processing
  that have no meaning unless langopts.numbers == 1.

It is also a more sensible default since most languages will want to
have number processing on. This makes adding new languages easier
because  adding an entry to tr_languages.c is unnecessary.

A negative side effect is that languages with partial number defines
might experience bugs when reading undefined numbers. This is a bug and
should be fixed.

This will have the side effect of enabling number processing for
languages that currently have it disabled. However, there shouldn't be
any.

Here's a way to check affected languages:
for voice in $(ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH}
src/espeak-ng --voices | grep -v Languages | awk '{print $2}'); do
OUTPUT=$(ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH}
src/espeak-ng -qx -v $voice "1 - 2 - 3 - 12 - 123") && echo "$voice:
$OUTPUT" ; done

These voices clearly benefit from enabling numbers (they already have
number rules in *_list):
ba, cmn (zh), hak, haw, ja, kok, nb, nci

Some languages are missing some definitions (like _12) in _list files.
It causes the program to skip some numbers.
Numbering needs to be turned off explicitly for:
jbo, mi, my, piqd, py, qu, quc, th, uz

Languages with no number rules at all:
chr, cv, he, nog, tk, ug
2021-03-04 19:13:09 +02:00
Juho Hiltunen b0a7ef2789 add macro L4() needed by Klingon (piqd) 2021-03-04 18:54:43 +02:00
Valdis Vitolins 7b160873f7 tr: fix test for changed pronunciation 2021-03-02 22:17:57 +02:00
Valdis Vitolins 2d633b72cd Merge pull request #886 2021-03-02 20:56:52 +02:00
Juho Hiltunen f9b52b092a tr: temporarily disable a prefix and suffix rule '.
See issue #875. Words with two ' cause the first part of the word to be
lost.
2021-03-02 18:39:52 +02:00
Juho Hiltunen 326b63132f bugfix: force bitrate to 16 for SSML <audio>.
Espeak-ng uses bitrate 16 internally. If the input inside <audio> has a
different bitrate the audio will not play correctly unless converted to
16 bits.

Closes #885.
2021-03-02 06:26:36 +02:00
Juho Hiltunen 40613d5b67 code cleanup: remove ssml_ignore_l_angle.
It is supposed to be used with SSML for reading < (&lt;) and & (&amp;)
when invoking espeak-ng --punct -m.

However, it looks like the code is dead since removing it doesn't fail
the ssml reference test.
2021-02-28 20:17:16 +02:00
Juho Hiltunen 0cb4b1b654 docs: add sox as an optional dependency.
using sox for ssml <audio> tag is hardcoded in readclause.c and for
--compile-phonemes in compiledict.c

Currently, --compile-phoneme doesn't need to run sox since the
samplerate for the specific file is correct. There might be a lot of
dead code in compiledata.c
2021-02-27 20:24:44 +02:00
Juho Hiltunen c62921ae0b tests: add tests for ssml <prosody> and <audio>
SSML logic has a bug (#410) where speech parameters are not changed when there's a
sentence elogic nd. The prosody bug test should fail.
2021-02-27 20:24:44 +02:00
Juho Hiltunen 19e2f697f6 code cleanup: remove unnecessary current_voice_id in readclause.c
Instead of passing a temporary variable current_voice_id to SSML
processing logic and then copying the value to voice_change, pass
voice_change directly. GetVoiceAttributes() both sets voice_change and
retuns CLAUSE_TYPE_VOICE_CHANGE that is used by TranslateClause() for
error checking.

tests/ssml/language-switch.ssml covers the intended behavior of language
switching and will fail when either voice_change or CLAUSE_TYPE_VOICE_CHANGE
is not set correctly.
2021-02-25 19:33:09 +02:00
Juho Hiltunen cc5b1e1119 code cleanup: reorganize check for u.s.a.'s in int ReadClause()
This approach reduces the amount of nested if statements and doesn't
require the temporary variable int c_next_2.

A test already exists for this case in tests/translate.test
2021-02-25 18:01:52 +02:00