Commit Graph
4518 Commits
Author SHA1 Message Date
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
Juho Hiltunen d1332d7f35 code cleanup: remove unnecessary text_buf2 2021-02-25 17:17:19 +02:00
Juho Hiltunen 5d92b336f5 code cleanup: remove unnecessary pointer assignment and enum value.
- V_ALPHABET2 is a leftover from 2f8f125.
- langopts assignment is unnecessary since it's not used later in the
function.
2021-02-23 17:23:04 +02:00
Juho Hiltunen 1243937334 code cleanup: remove unused width2.
It is set but never used.
2021-02-22 18:24:27 +02:00
Juho Hiltunen cffdfb837b code cleanup: move function declarations from speech.h to new file mnemonics.h
This adds a corresponding header file for mnemonics.c that was introduced in d5d93be.
2021-02-22 16:56:19 +02:00
Juho Hiltunen b9eb212217 Temporary workaround for #874
The phonSWITCH bug still exists and needs fixing.
2021-02-22 16:39:45 +02:00
Juho Hiltunen d9a3b532b9 Update CHANGELOG.md 2021-02-21 15:55:53 +02:00
Juho Hiltunen f899cfa49b Merge upll request #881 2021-02-21 15:16:40 +02:00
jaacoppi 0e36887985 Merge pull request #883 from demaere-oiie/master
qdb - pronunciation improvements
2021-02-21 15:06:28 +02:00
Juho Hiltunen 0cf3ee564c Code cleanup: remove param2 from langopts and rename keyword option in language files.
- param2[] is only used to set a second value to LOPT_BRACKET_PAUSE. It is simpler
to have two values in param[] instead. This simplifies the codebase.

- Instead of setting "option bracket X Y" in language files, use
keywords "brackets X" and "bracketsAnnounced Y" instead to follow the
naming convention of other keywords.

- Add missing documentation to docs/voices.md.
2021-02-21 15:01:29 +02:00
Da Def 9fc1400c14 Updated with feedback from The Expanse's speech coach. 2021-02-20 12:56:21 +01:00
Ty 8441eef1c2 Added Robosoft 1 and 2. 2021-02-18 16:20:11 -07:00
Ty 7e5440196d Added new variant, Alex. 2021-02-18 08:19:15 -07:00
Ejaz Shah 9d1ad2bff6 ur: update list and rules 2021-02-17 16:39:38 +02:00
Chen, Chien-ting 9498e2a3e3 ga: add demostrate pronouns in Munster dialect 2021-02-17 16:29:57 +02:00
Juho Hiltunen 1aae299ae2 code cleanup: remove unused REDUCE_T
There is no code related to it.
2021-02-07 19:05:07 +02:00
Juho Hiltunen 2c93961ebe code cleanup: remove unused stress_amps_r
It is set but never used.
2021-02-07 18:54:31 +02:00
Juho Hiltunen b19e801733 Merge pull request #870 2021-01-30 14:55:01 +02:00
Juho Hiltunen 4838b35602 Tests: new test file for command line options
This is intended for testing command line options such as -k 2, --punct
and so on.
2021-01-26 20:57:57 +02:00
Juho Hiltunen 673c12a54e docs: add an explanation to $pause, $brk, $verbextend and $nounf 2021-01-26 20:57:42 +02:00
Juho Hiltunen a36f5573d2 Tests: new test collection for dictionary files.
The file is intended for everything mentioned in docs/dictionary.md.
2021-01-26 20:57:34 +02:00
freddii 61efed30fa fixed spelling mistakes 2021-01-13 01:55:34 +01:00
Valdis Vitolins 3e0254949b Fix issue #868: add initial support for Klingon 2021-01-05 20:17:51 +02:00
Barry Schwartz 06bcb7ab93 Added missing backslash. 2021-01-02 17:15:29 -06:00