Commit Graph
409 Commits
Author SHA1 Message Date
Yury Popov 78ac6c4a88 code cleanup: do not compile mbrola if not enabled 2022-11-27 14:54:51 +03:00
Yury Popov ca1f590101 code cleanup: standartize definitions 2022-11-27 14:54:51 +03:00
Yury Popov 82e56b88dd tests: build with klatt and speechplayer 2022-11-22 19:45:18 +03:00
Samuel Thibault 668a1db044 Make sure to test the compiled tests
wildcard would only work once it's compiled; starting with a pristine tree
it would not see them.
2022-10-17 13:45:13 +02:00
Juho Hiltunen 4a2890250b code cleanup: new file langopts.c for handling language options.
The switch case in LoadVoice() currently mixes voice and language
options. This change will start separating them into two functions.

CheckTranslator will be moved to langopts.c. In the future there should
be no need to use it in voices.c. There will be other temporary
solutions also.
2022-10-09 16:38:52 +03:00
Yury Popov de3cbaa358 Fix changelog file case (make macOS happy with missed file) 2022-09-11 22:15:56 +03:00
Juho Hiltunen c4d8976fbc code cleanup: Add new source file common.h for misc functions. 2022-09-03 21:19:37 +03:00
jaacoppi 001ad3ab8d Merge pull request #1318
build: Make distclean-local remove more espeak-ng-data files
2022-09-03 17:21:42 +03:00
Juho Hiltunen fb06936c51 code cleanup: start moving translateWord3() to a new source file.
The file will be organized to have one callable function only. This
should make code structure simpler.

Existing code will be changed to use function parameters instead of
global variables.

Possible problems include too much dependencies with numbers.c.
2022-09-03 11:41:30 +03:00
Samuel Thibault dccf295f20 Make distclean-local remove more espeak-ng-data files
If for whatever reason the build got broken, the recompilation of data
would fail because espeak-ng would be unable to re-open the current
files. One is then stuck until removing the files by hand. Let's make "make
distclean" clear these all to be sure to be able to restart from zero.
2022-08-28 16:41:10 +02:00
1f76c4b8bd adding fuzzer for espeak_synth (#1178)
* Add: fuzzer files and modifications in config & compil
* add configure.ac change
* add minimize-corpus.sh
* add fuzzing directory and readme
* add to check if CC support libfuzzer
* Make workflow dump the crash POC
* Add debugging information
* Run fuzzing only once a week for now

Co-authored-by: kmamadoudram <kalilou.mamadou-drame@etu.u-bordeaux.fr>
Co-authored-by: yocvito <nicolas.morel@etu.u-bordeaux.fr>
Co-authored-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2022-06-30 13:06:47 +02:00
Bill DenglerandElizabeth Resendiz 254b64939d Add support for Totontepec Mixe
This commit implements support for [Totontepec Mixe](https://en.wikipedia.org/wiki/Totontepec_Mixe). The Espeak rules are based on the phonological inventory, orthographic mappings, and phonetic processes described in the "Esbozo fonológico" (phonological outline/sketch) chapter of Verónica Guzmán Guzmán's 2012 master's thesis in Indo American Linguistics awarded by the [Centro de Investigaciones y Estudios Superiores en Antropología Social](https://ciesas.edu.mx/) and *Vocabulario Mixe de Totontepec* (Totontepec Mixe vocabulary), compiled by Alvin Schoenhals and Louise C. Schoenhals and published by the Summer Institute of Linguistics in 1965.

This commit was developed as part of a project for [Computational Linguistics](https://jnw.domains.swarthmore.edu/ling073/syllabus.php) at [Swarthmore College](https://swarthmore.edu). We feel that this language is suitable for merge with "testing" status, but further verification/improvements by native speakers would be very helpful.

co-authored-by: Elizabeth Resendiz <e.r.resendiz7@gmail.com>
2022-05-11 17:13:06 -04:00
Alexander Epaneshnikov 042ac06b9e android: use gradle to build data archive
this fixes #1161 separates the android application build system from automake
and simplifies building an application on windows.
2022-04-15 19:07:16 +03:00
Alexander Epaneshnikov 95678616f7 android: integrate ndk-build step into main gradle pipeline
this greatly simplifies the assembly of the android application. moreover, ndk
will be downloaded automatically via sdk-manager.
2022-04-15 19:06:53 +03:00
Samuel Thibault 7954418b88 Fix generated tarball
The tarball produced by make dist was missing a lot of files, so that
building from it would completely fail.
2022-04-13 09:18:12 +02:00
Samuel Thibault 02dd413a32 Add valgrind CI run
Now that all errors are fixed.
2022-04-01 00:22:26 +02:00
Ulrich Müller 889092c9d6 tests: Add unit test for ieee80.c
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2022-02-10 17:53:19 +01:00
Ulrich Müller c7eb52fe14 src/libespeak-ng: Replace ieee80.c by a free software implementation
https://github.com/espeak-ng/espeak-ng/issues/1072

Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2022-02-10 17:53:19 +01:00
Ineiev c3651b74e0 clean: remove files linked from dictsource/extra
The links persisted when ./configure run with extended dictionaries
disabled.
2022-02-03 20:22:09 +02:00
bespsm 7aacdef65d Add initial suport for Belarusian 2021-11-15 15:35:28 +02:00
Marco BARNIG be962b067b Add support for Luxembourgish 2021-11-11 22:05:09 +02:00
Sergei Trofimovich 9dba972b8a Makefile.am: add missing 'espeak-ng' dependency
Noticed build failure on NixOS when built package with 'make -j16':

    build flags: -j16 -l16 SHELL=bash
    Makefile:2844: warning: ignoring prerequisites on suffix rule definition
    make  all-am
    make[1]: Entering directory '/build/espeak-ng'
    Makefile:2844: warning: ignoring prerequisites on suffix rule definition
    touch dictsource/az_extra
    ...
    touch dictsource/yue_extra
    cd dictsource && ESPEAK_DATA_PATH=/build/espeak-ng LD_LIBRARY_PATH=../src: ../src/espeak-ng --compile=yue && cd ..
    bash: line 1: ../src/espeak-ng: No such file or directory
    make[1]: *** [Makefile:3546: espeak-ng-data/yue_dict] Error 127
    make[1]: Leaving directory '/build/espeak-ng'
    make: *** [Makefile:831: all] Error 2

The fix is to add dependency on 'espeak-ng' similar to other rules.
2021-10-26 22:13:14 +01:00
Valdis Vitolins 3b637450e9 Issue #825: add initial support for Hebrew MBROLA voices 2021-07-29 22:57:39 +03:00
Lucas Werkmeister ca2ca4c5cb Add Sindarin ⟨ae⟩, ⟨ai⟩, ⟨oe⟩, ⟨ui⟩ diphthongs
For ⟨ae⟩, we used to use the Latin [[aI]] phoneme, which sounds like
/ae/. Call that phoneme [[aE]] for us and introduce a separate [[aI]]
one, which sounds more like /ai/ (since Sindarin has both, and they’re
supposed to sound different, though Appendix E of The Lord of the Rings
notes that there is nothing closely corresponding to ⟨ae⟩ in English and
that it may be pronounced like ⟨ai⟩). Furthermore, for ⟨oe⟩, just remove
the TODO – the Latin phoneme is called [[OI]] but sounds more like /oe/
than /oi/, so it’s actually just fine for our purposes. Finally, the
⟨ui⟩ diphthong is copied from Finnish, just like in Quenya.
2021-07-18 13:28:02 +02:00
Lucas Werkmeister e8fb04bb44 Add Quenya ⟨iu⟩, ⟨ui⟩ diphthongs
Both are copied from the Finnish phonemes, since Finnish was a major
inspiration for Quenya. This means that the ⟨iu⟩ diphthong is a
“falling” one – according to Appendix E of The Lord of the Rings, this
is the original pronunciation, but by the Third Age (the time in which
The Lord of the Rings is set) it had become a “rising” one, so I may
change the phoneme later, not sure.
2021-07-18 13:27:37 +02:00
Lucas Werkmeister beeac74300 Initial setup for Elvish languages
This prepares the languages of Quenya and Sindarin, setting up their
infrastructure without declaring a lot of rules yet – just enough for
“Eä” (a Quenya word, but I can’t think of a similarly simple one for
Sindarin). Phonemes are inherited from Esperanto for now.
2021-07-18 13:27:26 +02:00
Lucas Werkmeister c85d497e7f Add missing phsource/ files to Makefile.am
Found with the following script:

    for file in phsource/ph_*; do
        grep -qF "$file" Makefile.am || echo "$file missing!";
    done

I’ve left out one of the files highlighted by that script: ph_burmese
exists, but isn’t actually used by phsource/phonemes (there’s no
`include` directive for it).
2021-07-16 21:08:30 +02:00
Minas Tirith Citizen 3dfd750bf6 removed another space
fix compilation error within the testsuite
2021-06-16 15:41:09 +02:00
Minas Tirith Citizen d44f6e0c99 remove space between -D and PATH_ESPEAK_DATA
fixed a wrong compilation parameter
2021-06-16 15:34:11 +02:00
Valdis Vitolins 83f9312130 Merge pull request #930 2021-05-17 18:42:59 +03:00
Juho Hiltunen d91b7cf288 Rename zh (Mandarin) to cmn across the codebase.
See discussion in #933.
2021-05-11 20:14:54 +03:00
Juho Hiltunen 875174c3e9 Rename zhy (Cantonese) to yue across the codebase.
See discussion in #933.
2021-05-11 19:19:55 +03:00
Philippe Antoine 39e6a58659 Take comments into account 2021-05-04 14:57:53 +02:00
Philippe Antoine 24bfbcfeca Oss-fuzz integration
- 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
2021-05-04 13:12:42 +02:00
John Bowler 8954354ba1 Avoid reuse of old dictionary when building new.
And simplify the _dict pattern rule.  If a build had completed in the
directory before and "make distclean" had not been run ??_dict
dictionaries still existed, if one of these was rebuilt espeak-ng
loaded the old (out of date) one first resulting in inconsistent
execution of the build the second time round.  The change removes the
target before building it thus ensuring that old, possibly damaged, data
is not used.

I also changed the extraction of the language code; the GNU make %
(pattern) extension along with the long-standing $* extension (which
precedes GNU make) allow the match to the '%' to be used directly in the
command line.  The cd .. at the end of the command is unnecessary; make
(all versions) execute each command line using a single system() call,
so the cd never happens inside make.

Signed-off-by: John Bowler <jbowler@acm.org>
2021-04-29 10:43:56 -07: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
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
Reece H. Dunn a0b0f58cf5 [#864]: Fix installing the Japanese language on windows. 2021-03-24 17:58:55 +00: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 75ea4b0bdf Tests: add tests for voice variants 2021-03-10 21:19:55 +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 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 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
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
Valdis Vitolins 838a7ddc34 qdb: add missing configuration for Lang Belta and update documentation 2020-12-28 18:06:53 +02:00
datajake1999 5e502661d6 Add speechPlayer Klatt implementation as Klatt 6. 2020-12-06 08:34:38 -08:00
Valdis Vitolins 5deac40b1a Fix issue #811: improve Interlingua language 2020-08-25 23:17:26 +03:00
Valdis Vitolins 925052c35f Add makefile entries for for Ido language 2020-08-19 17:27:08 +03:00
Valdis Vitolins 02174e2f76 Add test for Klatt voices 2020-07-22 16:20:33 +03:00