Updates to Github #github


espeak-ng@groups.io Integration <espeak-ng@...>
 

1 New Commit:

[espeak-ng:master] By Philippe Antoine <contact@...>:
0a713d52bbf3: fuzz: use binary directory for ESPEAK_DATA_PATH

instead of current working directory
so, the fuzzer can be launched from anywhere

Modified: tests/ssml-fuzzer.c


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#939 fuzz: use binary directory for ESPEAK_DATA_PATH

instead of current working directory so, the fuzzer can be launched from anywhere

cc @rhdunn @brawer This should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34051 and get oss-fuzz running for real


[espeak-ng:master] New Comment on Pull Request #939 fuzz: use binary directory for ESPEAK_DATA_PATH
By valdisvi:

@rhdunn, I merged this pull request. make check fails with error

...
  TEST      tests/ssml-fuzzer.test
/bin/bash: line 1: 1217271 Segmentation fault      ESPEAK_DATA_PATH=/home/valdis/code/espeak-ng tests/ssml-fuzzer.test tests/ssml/*.ssml tests/ssml-fuzzer/*.ssml
make: *** [Makefile:2890: tests/ssml-fuzzer.check] Error 139

but I hope, @catenacyber and @brawer will investigate this.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #941 autogen.sh succeeds only on second try
By jasonhemann:

No, I had not. And no, it does not.


[espeak-ng:master] Issue #941 autogen.sh succeeds only on second try closed by jasonhemann.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng/espeak-ng] Pull request closed by jaacoppi:

#937 Updates italian source dictionaries

Improvements to rules for irregular/pronominal verbs and exceptions.


2 New Commits:

[espeak-ng:master] By Christianlm <llajta2012@...>:
6972465bf988: Updates italian source dictionaries

Modified: dictsource/it_list
Modified: dictsource/it_rules


[espeak-ng:master] By jaacoppi <jaacoppi@...>:
8a3dd9a8fcc0: Merge pull request #937 from Christianlm/master

it: Updates italian source dictionaries

Modified: dictsource/it_list
Modified: dictsource/it_rules


[espeak-ng:master] New Comment on Pull Request #937 Updates italian source dictionaries
By jaacoppi:

Thanks!


2 New Commits:

[espeak-ng:master] By Henry Krumb <mail@...>:
8b299852560d: de: add 'Ingenieurin', 'Ingenieurinnen' to German exception list & don't pronounce asterisk (gender star) in German text

Modified: CHANGELOG.md
Modified: dictsource/de_list


[espeak-ng:master] By Juho Hiltunen <jaacoppi@...>:
4c7c68d5fe3a: Merge pull request 936

Modified: CHANGELOG.md
Modified: dictsource/de_list


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Pull Request #936 Add female forms of "Ingenieur" to German exception list and treat gender asterisk as punctuation
By jaacoppi:

Thanks. Merged with 4c7c68d5f. I added your name to Changelog and added "de:" to the git commit message.


[espeak-ng/espeak-ng] Pull request closed by jaacoppi:

#936 Add female forms of "Ingenieur" to German exception list and treat gender asterisk as punctuation

Changes: - add 'Ingenieurin', 'Ingenieurinnen' to German exception list - add "_" modifier to asterisk, so that it will be treated as punctuation.

Rationale: Terms "Ingenieur" is pronounced correctly, whereas "Ingenieurin/Ingenieurinnen" are not. Asterisk ("Gendersternchen") is a quasi-standard for writing gender-inclusive text in German.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Pull Request #932 Memory Access Fixes
By jaacoppi:

Thanks. Merged with 2a7080f411. I added your name to Changelog.

Our SSML code is known to be buggy. Now it's a bit less buggy thanks to you.


[espeak-ng/espeak-ng] Pull request closed by jaacoppi:

#932 Memory Access Fixes

  • Fix buffer size calculation when initializing output.
  • Fix out-of-bounds read when processing malformed SSML.

These issues were found with valgrind. I am not very confident in the fix for SSML parsing. It does work, but it needs careful review please.


espeak-ng@groups.io Integration <espeak-ng@...>
 

3 New Commits:

[espeak-ng:master] By Juho Hiltunen <jaacoppi@...>:
875174c3e90f: Rename zhy (Cantonese) to yue across the codebase.

See discussion in #933.

Added: dictsource/extra/yue_listx
Added: dictsource/yue_emoji
Added: dictsource/yue_list
Added: dictsource/yue_rules
Added: phsource/ph_yue
Removed: dictsource/extra/zhy_listx
Removed: dictsource/zhy_emoji
Removed: dictsource/zhy_list
Removed: dictsource/zhy_rules
Removed: phsource/ph_zh_yue
Modified: Makefile.am
Modified: configure.ac
Modified: docs/building.md
Modified: espeak-ng-data/lang/sit/yue
Modified: phsource/phonemes
Modified: src/windows/data.vcxproj
Modified: src/windows/installer/Product.wxs


[espeak-ng:master] By Juho Hiltunen <jaacoppi@...>:
d91b7cf28895: Rename zh (Mandarin) to cmn across the codebase.

See discussion in #933.

Added: dictsource/cmn_emoji
Added: dictsource/cmn_list
Added: dictsource/cmn_rules
Added: dictsource/extra/cmn_listx
Added: phsource/mbrola/cmn
Added: phsource/ph_cmn
Removed: dictsource/extra/zh_listx
Removed: dictsource/zh_emoji
Removed: dictsource/zh_list
Removed: dictsource/zh_rules
Removed: phsource/mbrola/zh
Removed: phsource/ph_zh
Modified: CHANGELOG.md
Modified: Makefile.am
Modified: configure.ac
Modified: docs/building.md
Modified: espeak-ng-data/lang/sit/cmn
Modified: phsource/phonemes
Modified: src/libespeak-ng/tr_languages.c
Modified: src/windows/data.vcxproj
Modified: src/windows/installer/Product.wxs


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
68518a6cc9b0: Merge pull request #940

Added: dictsource/cmn_emoji
Added: dictsource/cmn_list
Added: dictsource/cmn_rules
Added: dictsource/extra/cmn_listx
Added: dictsource/extra/yue_listx
Added: dictsource/yue_emoji
Added: dictsource/yue_list
Added: dictsource/yue_rules
Added: phsource/mbrola/cmn
Added: phsource/ph_cmn
Added: phsource/ph_yue
Removed: dictsource/extra/zh_listx
Removed: dictsource/extra/zhy_listx
Removed: dictsource/zh_emoji
Removed: dictsource/zh_list
Removed: dictsource/zh_rules
Removed: dictsource/zhy_emoji
Removed: dictsource/zhy_list
Removed: dictsource/zhy_rules
Removed: phsource/mbrola/zh
Removed: phsource/ph_zh
Removed: phsource/ph_zh_yue
Modified: CHANGELOG.md
Modified: Makefile.am
Modified: configure.ac
Modified: docs/building.md
Modified: espeak-ng-data/lang/sit/cmn
Modified: espeak-ng-data/lang/sit/yue
Modified: phsource/phonemes
Modified: src/libespeak-ng/tr_languages.c
Modified: src/windows/data.vcxproj
Modified: src/windows/installer/Product.wxs


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#940 Rename zh and zhy to cmn and yue

See discussion in #933.

There are no tests for Cantonese, I only tried a few words from the extended dictionary. Checks for Mandarin pass.

@rhdunn, the android port has these mentions of zh:

grep -r zh android/*
eSpeakTests/src/com/reecedunn/espeak/test/VoiceData.java:        new Voice("cmn",             "sit/cmn",             "zh",  "zho", "",    "",    "",         SpeechSynthesis.GENDER_MALE, "Chinese (Mandarin)",               "zho",              "This is a sample of text spoken in 中文"),
eSpeakTests/src/com/reecedunn/espeak/test/VoiceData.java:        new Voice("yue",             "sit/yue",             "zh",  "zho", "HK",  "HKG", "",         SpeechSynthesis.GENDER_MALE, "Chinese (Cantonese)",              "zho-HKG",          "This is a sample of text spoken in 中文 (中華人民共和國香港特別行政區)", "This is a sample of text spoken in 中文 (香港)"),
src/com/reecedunn/espeak/SpeechSynthesis.java:        mJavaToIanaLanguageCode.put("zho", "zh");
src/com/reecedunn/espeak/SpeechSynthesis.java:        mLocaleFixes.put("cmn", new Locale("zh"));
src/com/reecedunn/espeak/SpeechSynthesis.java:        mLocaleFixes.put("yue", new Locale("zh", "HK"));

I don't know how to test them. Do they need to be changed?


[espeak-ng:master] New Comment on Pull Request #940 Rename zh and zhy to cmn and yue
By valdisvi:

@jaacoppi, I was notified by Susanne Norén from NVDA, that they have no objections regarding this pull request, so I merged it. If some issues will appear for Android, we will solve it separately.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng/espeak-ng] Pull request opened by catenacyber:

#944 fuzzer: test env variable ESPEAK_DATA_PATH

before overwriting it with a default value for oss-fuzz

cf #939


[espeak-ng:master] New Comment on Pull Request #939 fuzz: use binary directory for ESPEAK_DATA_PATH
By catenacyber:

@valdisvi @brawer I created #944 to fix this test issue oss-fuzz has started and sent its first reports... And it looks like some fixes are already in the master branch as well :-)


espeak-ng@groups.io Integration <espeak-ng@...>
 

1 New Commit:

[espeak-ng:master] By Philippe Antoine <contact@...>:
956dd182024b: fuzzer: test env variable ESPEAK_DATA_PATH

before overwriting it with a default value for oss-fuzz

Modified: tests/ssml-fuzzer.c


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#944 fuzzer: test env variable ESPEAK_DATA_PATH

before overwriting it with a default value for oss-fuzz

cf #939


[espeak-ng:master] New Comment on Pull Request #944 fuzzer: test env variable ESPEAK_DATA_PATH
By valdisvi:

Thanks! That fixes fuzz test.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By Nafihahmd:

I have removed unwanted languages all language and the result is :

Before:

file size (bytes) size after stripping**
libespeak-ng.a 2,584,008 454,842
libespeak-ng.so 1,557,248 498,486

After:

file size (bytes) size after stripping**
libespeak-ng.a 2,107,022 392,106
libespeak-ng.so 1,264,176 427,736

After removing compiledict.c you will not be able to compile espeak-ng from scratch. For compiling I manually placed compiled espeak-ng-data folder (taken from another build without compile data removed) inside the project folder.

I have a doubt as well. It's a novice one. What feature is removed as I remove compiledata.c ?


[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By Nafihahmd:

I have removed compile data and the result is :

Before:

file size (bytes) size after stripping**
libespeak-ng.a 2,584,008 454,842
libespeak-ng.so 1,557,248 498,486

After:

file size (bytes) size after stripping**
libespeak-ng.a 2,107,022 392,106
libespeak-ng.so 1,264,176 427,736

After removing compiledict.c you will not be able to compile espeak-ng from scratch. For compiling I manually placed compiled espeak-ng-data folder (taken from another build without compile data removed) inside the project folder.

I have a doubt as well. It's a novice one. What feature is removed as I remove compiledata.c ?


espeak-ng@groups.io Integration <espeak-ng@...>
 

3 New Commits:

[espeak-ng:master] By Juho Hiltunen <jaacoppi@...>:
48259058358d: cmn: handle latin characters as English text.

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.

Added: espeak-ng-data/lang/sit/cmn-Latn-pinyin
Modified: CHANGELOG.md
Modified: dictsource/cmn_rules
Modified: espeak-ng-data/lang/sit/cmn


[espeak-ng:master] By Juho Hiltunen <jaacoppi@...>:
c83d9f19f251: yue: new language yue-latn-jyutping

yue-latn-jyutping assumes latin characters are jyutping.

Added: espeak-ng-data/lang/sit/yue-Latn-jyutping


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
73278951dc97: Merge pull request #943

Added: espeak-ng-data/lang/sit/cmn-Latn-pinyin
Added: espeak-ng-data/lang/sit/yue-Latn-jyutping
Modified: CHANGELOG.md
Modified: dictsource/cmn_rules
Modified: espeak-ng-data/lang/sit/cmn


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#943 cmn: handle latin characters as English text.

NOTE: docs/languages.md still needs updating, but I'm unsure what to write there.

As far as I know there's no reliable way of setting a default fallback language.

This exists: src/include/espeak-ng/espeak_ng.h:#define ESPEAKNG_DEFAULT_VOICE "en" However, English is still hardcoded as default in a few places around the codebase.

There is also alt_alphabet and alt_alphabet_lang but I don't understand how they work.


[espeak-ng:master] New Comment on Pull Request #943 cmn: handle latin characters as English text.
By valdisvi:

@jaacoppi, even if it is not fully solved, I merged it by recommendation of Susanne Noren from NVDA.


espeak-ng@groups.io Integration <espeak-ng@...>
 

4 New Commits:

[espeak-ng:master] By John Bowler <jbowler@...>:
18d807d680ad: Prevent compile-phonemes use of phontab, en_dict

espeak-ng --compile-phonemes generates phontab, but during the
generation it starts by reading the old phontab. If works just fine,
apart from an error message, if this doesn't exist but if it does exist
it is not clear whether it might end up using old or bad data (e.g.
possibly crashing if phontab is corrupted making it very non-obvious how
to fix the problem...)

The same applies to en_dict as a result of espeak-ng defaulting to the
voice 'en'; again the phontab build works if en_dict is absent but a
spurious message is output. It's not clear what would happen if someone
tried to build a reduced espeak-ng configuration with just one (non
'en') language.

The fix is to change espeak_ng_CompilePhonemeDataPath to call LoadVoice
with a new flag to indicate the voice structure is just required to
compile phoneme data (I changed the error message as well to make it
clear where it comes from - there are two identical error messages, the
other one is in voices.c)

Within LoadVoice the flag causes LoadVoice to not set a default language
or voicename and to skip loading the old phontab or dictionary (both of
which fail in a git clean -dfx build).

I checked the result by doing a compile from-scratch build sequence with
and without the patch, i.e. I did:

git clean -dfx
./autogen.sh
./configure --prefix=a-test-directory
make
make install

Then I compared the two copies of "a-test-directory" as well as the log
file output:

$ diff -r logs/*
diff -r logs/original/make.log logs/patched/make.log
175,176d174
< Unknown phoneme table: 'en'
< Can't read dictionary file:
'/home/jbowler/src/espeak-ng/master/espeak-ng-data/en_dict'

$ diff --no-dereference -r local.original local.patched
Binary files local.original/bin/speak-ng and local.patched/bin/speak-ng differ
Binary files local.original/lib/libespeak-ng.a and local.patched/lib/libespeak-ng.a differ
Binary files local.original/lib/libespeak-ng.so.1.1.51 and local.patched/lib/libespeak-ng.so.1.1.51 differ

So the change has not altered phontab or any of the other generated
files, only the binaries as would be expected. (Note that I am
comparing truely clean builds; what you get if you download the source
and build from scratch. This is the standard approach for people who
build for distribution.)

Signed-off-by: John Bowler <jbowler@...>

Modified: src/libespeak-ng/compiledata.c
Modified: src/libespeak-ng/voices.c


[espeak-ng:master] By John Bowler <jbowler@...>:
8954354ba12f: 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@...>

Modified: Makefile.am


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
83f931213045: Merge pull request #930

Modified: Makefile.am
Modified: src/libespeak-ng/compiledata.c
Modified: src/libespeak-ng/voices.c


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
0a3fd5ecd924: Update changelog

Modified: CHANGELOG.md


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#930 Prevent compile-phonemes use of phontab, en_dict

espeak-ng --compile-phonemes generates phontab, but during the generation it starts by reading the old phontab. If works just fine, apart from an error message, if this doesn't exist but if it does exist it is not clear whether it might end up using old or bad data (e.g. possibly crashing if phontab is corrupted making it very non-obvious how to fix the problem...)

The same applies to en_dict as a result of espeak-ng defaulting to the voice 'en'; again the phontab build works if en_dict is absent but a spurious message is output. It's not clear what would happen if someone tried to build a reduced espeak-ng configuration with just one (non 'en') language.

The fix is to change espeak_ng_CompilePhonemeDataPath to call LoadVoice with a new flag to indicate the voice structure is just required to compile phoneme data (I changed the error message as well to make it clear where it comes from - there are two identical error messages, the other one is in voices.c)

Within LoadVoice the flag causes LoadVoice to not set a default language or voicename and to skip loading the old phontab or dictionary (both of which fail in a git clean -dfx build).

I checked the result by doing a compile from-scratch build sequence with and without the patch, i.e. I did:

git clean -dfx ./autogen.sh ./configure --prefix=a-test-directory make make install

Then I compared the two copies of "a-test-directory" as well as the log file output:

$ diff -r logs/* diff -r logs/original/make.log logs/patched/make.log 175,176d174 < Unknown phoneme table: 'en' < Can't read dictionary file: '/home/jbowler/src/espeak-ng/master/espeak-ng-data/en_dict'

$ diff --no-dereference -r local.original local.patched Binary files local.original/bin/speak-ng and local.patched/bin/speak-ng differ Binary files local.original/lib/libespeak-ng.a and local.patched/lib/libespeak-ng.a differ Binary files local.original/lib/libespeak-ng.so.1.1.51 and local.patched/lib/libespeak-ng.so.1.1.51 differ

So the change has not altered phontab or any of the other generated files, only the binaries as would be expected. (Note that I am comparing truely clean builds; what you get if you download the source and build from scratch. This is the standard approach for people who build for distribution.)

Signed-off-by: John Bowler jbowler@...


[espeak-ng:master] New Comment on Pull Request #930 Prevent compile-phonemes use of phontab, en_dict
By valdisvi:

Thanks for contribution! Your pull request is merged into project.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng/espeak-ng] Pull request updated by valdisvi:

#942 Fix another out-of-bounds read in SSML parsing.

A malformed tag like <foo could cause espeak to read past the end of the string.


[espeak-ng/espeak-ng] Pull request updated by valdisvi:

#942 Fix another out-of-bounds read in SSML parsing.

A malformed tag like <foo could cause espeak to read past the end of the string.


espeak-ng@groups.io Integration <espeak-ng@...>
 

2 New Commits:

[espeak-ng:master] By Christopher Brannon <chris@...>:
8810fa330ead: Fix another out-of-bounds read in SSML parsing.

A malformed tag like <foo could cause espeak to read past
the end of the string.

Added: tests/ssml/malformed-tag1.expected
Added: tests/ssml/malformed-tag1.ssml
Modified: src/libespeak-ng/readclause.c


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
f6d092a9c13d: Merge pull request #942

Added: tests/ssml/malformed-tag1.expected
Added: tests/ssml/malformed-tag1.ssml
Modified: src/libespeak-ng/readclause.c


[espeak-ng/espeak-ng] Pull request closed by valdisvi:

#942 Fix another out-of-bounds read in SSML parsing.

A malformed tag like <foo could cause espeak to read past the end of the string.


[espeak-ng:master] New Comment on Pull Request #942 Fix another out-of-bounds read in SSML parsing.
By valdisvi:

@CMB, @jaacoppi I merged this because NVDA developers want to test it out. @CMB, any fix would be great, if it would be accompanied with additional tests, which fail without fix and pass with fix applied.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #928 Message: "unknown phoneme table: 'en'" while building the phonemes
By jbowler:

The merge of the pull request, #930 fixed this.


[espeak-ng:master] Issue #928 Message: "unknown phoneme table: 'en'" while building the phonemes closed by jbowler.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Issue Created by jbowler:
#947 tests/ssml.test:test_ssml_audio : wrong test fails

When I run "make check" the first check fails, the second, which the comments say "should fail" succeeds. This is the output with a slightly modified test_ssml_audio which accepts a fourth "IGNORE" argument:

testing IGNORE 1c1

< fcb28f00670959980038171ceda3c6bdec61b884

5ea0dcd3dc9682adacebcaf3d2fa6c8d6fa6e4aa test_ssml_audio: WARNING: ignored testing bug #410 testing

Reproed using 88c4a452fe40413a146d21e31856fcfa9e7e4eea (current pull request, necessary for me to get to these tests, HEAD-1 is f6d092a9c13d864ede78c493f64a7d32cde41f09) and I added the attached 'ssml.test.patch' (.txt is just to make this dialog accept the file), then:

git clean -dfx ./autogen.sh ./configure make check

With the patch 'make check' will complete, but it has ignored the error in the first test_ssml_audio (log fragment posted above). Without the patch of course it fails before executing the second test_ssml_audio.

I added a "tee audio.out" to see what is actually getting output. Kwave reports it as corrupted, but it is a RIFF so who knows:

audio.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz

Groove Music on Windows opens it just fine and it seems to have the correct speech for the input (with the correct prosody). I've attached the output file as a gzip (this dialog does not support any audio files, but it does allow arbitrary gzip'ed files!)

audio.wav.gz ssml.test.patch.txt


[espeak-ng:master] New Issue Created by jbowler:
#947 tests/ssml.test:test_ssml_audio : wrong test fails

When I run "make check" the first check fails, the second, which the comments say "should fail" succeeds. This is the output with a slightly modified test_ssml_audio which accepts a fourth "IGNORE" argument:

testing <prosody> IGNORE
1c1
< fcb28f00670959980038171ceda3c6bdec61b884
---
> 5ea0dcd3dc9682adacebcaf3d2fa6c8d6fa6e4aa
test_ssml_audio: WARNING: ignored
testing <prosody> bug #410 
testing <audio> 

Reproed using 88c4a452fe40413a146d21e31856fcfa9e7e4eea (current pull request, necessary for me to get to these tests, HEAD-1 is f6d092a9c13d864ede78c493f64a7d32cde41f09) and I added the attached 'ssml.test.patch' (.txt is just to make this dialog accept the file), then:

git clean -dfx
./autogen.sh
./configure
make check

With the patch 'make check' will complete, but it has ignored the error in the first test_ssml_audio (log fragment posted above). Without the patch of course it fails before executing the second test_ssml_audio.

I added a "tee audio.out" to see what is actually getting output. Kwave reports it as corrupted, but it is a RIFF so who knows:

audio.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz

Groove Music on Windows opens it just fine and it seems to have the correct speech for the input (with the correct prosody). I've attached the output file as a gzip (this dialog does not support any audio files, but it does allow arbitrary gzip'ed files!)

audio.wav.gz ssml.test.patch.txt


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #941 autogen.sh succeeds only on second try
By rhdunn:

In configure.ac, does adding AC_CONFIG_AUX_DIR([.]) before AC_CONFIG_MACRO_DIR([m4]) fix the issue you are having?


[espeak-ng:master] New Comment on Issue #938 Windows 10 Build Failed - Cannot Find espeak-ng-data\*_dict
By rhdunn:

The vcruntime140_1d.dll file is the debug version. Have you installed the correct debug runtime? Does building in release work (as it looks like you have the release DLLs installed)?


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #938 Windows 10 Build Failed - Cannot Find espeak-ng-data\*_dict
By BaijinBullet:

I read this dll found in VS Code 2019 Visual tools and indeed was found after installation of it. Now I receive an error:

Error processing file '/usr/share/espeak-ng-data\phontab': No such file or directory.

C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\espeak-ng.exe (process 3872) exited with code 1.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .

And:

'espeak-ng.exe' (Win32): Loaded 'C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\espeak-ng.exe'. Symbols loaded.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\libespeak-ng.dll'. Symbols loaded.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ole32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\combase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\win32u.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\gdi32full.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcp_win.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbased.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_8.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Unloaded 'C:\Windows\System32\XAudio2_8.dll'
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcp140d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140_1d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_8.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_9.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\MMDevAPI.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\SHCore.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\avrt.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\devobj.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\cfgmgr32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'. Cannot find or open the PDB file.
The thread 0x2940 has exited with code 0 (0x0).
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\kernel.appcore.dll'. Cannot find or open the PDB file.
The thread 0x1614 has exited with code 1 (0x1).
The thread 0x2a78 has exited with code 1 (0x1).
The program '[3872] espeak-ng.exe' has exited with code 1 (0x1).

Correct debug runtime? Before this, I have not used Visual Studio; could you advise me? I installed Visual Studio 2017 with - Desktop Development with C++ -- Visual C++ Core Desktop Features -- Just-In-Time Debugging -- VC++ 2017 version 15.9 v14.16 latest v141 tools -- C++ profiling tools -- Windows 10 SDK (10.0.17763.0) -- Visual C++ tools for CMake -- Visual C++ ATL for x86 and x64 -- Test Adapter for Boost.Test -- Test Adapter for Google Test -- Windows 8.1 SDK and UCRT SDK

-- Visual C++ MFC for x86 and x64 -- C++/CLI support

  • WiX Toolset Visual Studio 2017 Extension
  • WiX Toolset v3 Schemas for Visual Studio
  • WiX Toolset v4 Schemas for Visual Studio
  • NuGet package manager

Visual Studio 2019 - MSVC v142 - VS 2019 C++ x64/x86 build tools

Which other components are necessary? And are any of the components unnecessary and may be removed? Storage is limited. Thank you!


[espeak-ng:master] New Comment on Issue #938 Windows 10 Build Failed - Cannot Find espeak-ng-data\*_dict
By BaijinBullet:

I read this dll found in VS Code 2019 Visual tools and indeed was found after installation of it. Now I receive an error:

Error processing file '/usr/share/espeak-ng-data\phontab': No such file or directory.

C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\espeak-ng.exe (process 3872) exited with code 1.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .

And:

'espeak-ng.exe' (Win32): Loaded 'C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\espeak-ng.exe'. Symbols loaded.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Users\moqi\eSpeakNG\espeak-ng\src\windows\x64\Debug\libespeak-ng.dll'. Symbols loaded.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ole32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\combase.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\win32u.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\gdi32full.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcp_win.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbased.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_8.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Unloaded 'C:\Windows\System32\XAudio2_8.dll'
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\msvcp140d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140_1d.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_8.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\XAudio2_9.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\MMDevAPI.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\SHCore.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\avrt.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\devobj.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\cfgmgr32.dll'. Cannot find or open the PDB file.
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'. Cannot find or open the PDB file.
The thread 0x2940 has exited with code 0 (0x0).
'espeak-ng.exe' (Win32): Loaded 'C:\Windows\System32\kernel.appcore.dll'. Cannot find or open the PDB file.
The thread 0x1614 has exited with code 1 (0x1).
The thread 0x2a78 has exited with code 1 (0x1).
The program '[3872] espeak-ng.exe' has exited with code 1 (0x1).

Correct debug runtime? Before this, I have not used Visual Studio; could you advise me? I installed Visual Studio 2017 with - Desktop Development with C++ -- Visual C++ Core Desktop Features -- Just-In-Time Debugging -- VC++ 2017 version 15.9 v14.16 latest v141 tools -- C++ profiling tools -- Windows 10 SDK (10.0.17763.0) -- Visual C++ tools for CMake -- Visual C++ ATL for x86 and x64 -- Test Adapter for Boost.Test -- Test Adapter for Google Test -- Windows 8.1 SDK and UCRT SDK -- Visual C++ MFC for x86 and x64 -- C++/CLI support - WiX Toolset Visual Studio 2017 Extension - WiX Toolset v3 Schemas for Visual Studio - WiX Toolset v4 Schemas for Visual Studio - NuGet package manager

Visual Studio 2019 - MSVC v142 - VS 2019 C++ x64/x86 build tools

Which other components are necessary? And are any of the components unnecessary and may be removed? Storage is limited. Thank you!


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #945 The change to tests/translate.test to detect #824 causes unexplained failures on some builds
By jbowler:

Hang on. The test string isn't Russian; the numbers in it aren't in Russian. The "correct" phoneme output string in tests/translate.test continually drops into English. Here's an example of a Russian number:

**$** espeak-ng -xq -v ru "1,2"
_ojd;'in _:'i_: dv'A_d;Is;'AtYx_

Translating the phonemes back using dictsource/ru_list shows that this is correct:

_1      ojd;'in
_dpt    _:'i_:        // start of decimal fraction
_2      dv'A
_dpt2   _d;Is;'atYx   // end of decimal fraction

That's with the current build that demonstrates the behavior that is supposed to be wrong. The "," character does not occur a single time in the test string, but %2C does and so does the period character ".", which is Russian for "end of sentence" (according to reliable sources), just as in English, and, just as in English should be followed by whitespace. So here is an example fragment from the test string:

**$** espeak-ng -xq -v ru "%200.36817%2C-0.2019%20"
_p@-rats'Ent dv;'es;t;I t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; p@-rats'Ent dv'A (en)s'i:(ru) n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt; p@-rats'Ent dv'AttsVt;_

Since there aren't any spaces in the test string either it seems reasonable to assume that these are mean to be %HH characters, %20 is space and %2C is comma:

**$** espeak-ng -xq -v ru " 0.36817,-0.2019 "
_n'ojl t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt;_

In both cases the "." is a sentence terminator. I don't know if Russian uses the % or %% notation but it probably does (it's a notation used in science and engineering and is internationally acceptable). So the first case is literally speaking the %20 and %2C (hence all the p@-rats) and, putting the missing spaces in:

% 200. 36817 % 2C - 0. 2019% 20

I think the "a#" here is correct - not the original a without the # because the phoneme is followed by a sentence terminator. The second case is:

0. 36817, -0.2. 2019

Both of these are totally messed up. It looks like the test string has been hacked from a longer string using %xx notation for characters (as in a URI). The string starts with "C0.87569253%20" but "C" doesn't occur elsewhere in the string except in the context "%2C". The numbers seem to be English format, not Russian, but given the mix of periods and %2C's it is difficult to tell.

I think this test string should be replaced by something that is correctly formatted Russian that actually makes sense.


[espeak-ng:master] New Comment on Issue #945 The change to tests/translate.test to detect #824 causes unexplained failures on some builds
By jbowler:

Hang on. The test string isn't Russian; the numbers in it aren't in Russian. The "correct" phoneme output string in tests/translate.test continually drops into English. Here's an example of a Russian number:

**$** espeak-ng -xq -v ru "1,2"
_ojd;'in _:'i_: dv'A_d;Is;'AtYx_

Translating the phonemes back using dictsource/ru_list shows that this is correct:

_1      ojd;'in
_dpt    _:'i_:        // start of decimal fraction
_2      dv'A
_dpt2   _d;Is;'atYx   // end of decimal fraction

That's with the current build that demonstrates the behavior that is supposed to be wrong. The "," character does not occur a single time in the test string, but %2C does and so does the period character ".", which is Russian for "end of sentence" (according to reliable sources), just as in English, and, just as in English should be followed by whitespace. So here is an example fragment from the test string:

$ espeak-ng -xq -v ru "%200.36817%2C-0.2019%20"
p@-rats'Ent dv;'es;t;I t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; p@-rats'Ent dv'A (en)s'i:(ru) n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt; p@-rats'Ent dv'AttsVt;

Since there aren't any spaces in the test string either it seems reasonable to assume that these are mean to be %HH characters, %20 is space and %2C is comma:

$ espeak-ng -xq -v ru " 0.36817,-0.2019 "
n'ojl t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt;

In both cases the "." is a sentence terminator. I don't know if Russian uses the % or %% notation but it probably does (it's a notation used in science and engineering and is internationally acceptable). So the first case is literally speaking the %20 and %2C (hence all the p@-rats) and, putting the missing spaces in:

% 200. 36817 % 2C - 0. 2019% 20

I think the "a#" here is correct - not the original a without the # because the phoneme is followed by a sentence terminator. The second case is:

0. 36817, -0.2. 2019

Both of these are totally messed up. It looks like the test string has been hacked from a longer string using %xx notation for characters (as in a URI). The string starts with "C0.87569253%20" but "C" doesn't occur elsewhere in the string except in the context "%2C". The numbers seem to be English format, not Russian, but given the mix of periods and %2C's it is difficult to tell.

I think this test string should be replaced by something that is correctly formatted Russian that actually makes sense.


[espeak-ng:master] New Comment on Issue #945 The change to tests/translate.test to detect #824 causes unexplained failures on some builds
By jbowler:

Hang on. The test string isn't Russian; the numbers in it aren't in Russian. The "correct" phoneme output string in tests/translate.test continually drops into English. Here's an example of a Russian number:

$ espeak-ng -xq -v ru "1,2"
ojd;'in _:'i_: dv'A_d;Is;'AtYx

Translating the phonemes back using dictsource/ru_list shows that this is correct:

_1      ojd;'in
_dpt    _:'i_:        // start of decimal fraction
_2      dv'A
_dpt2   _d;Is;'atYx   // end of decimal fraction

That's with the current build that demonstrates the behavior that is supposed to be wrong. The "," character does not occur a single time in the test string, but %2C does and so does the period character ".", which is Russian for "end of sentence" (according to reliable sources), just as in English, and, just as in English should be followed by whitespace. So here is an example fragment from the test string:

$ espeak-ng -xq -v ru "%200.36817%2C-0.2019%20"
p@-rats'Ent dv;'es;t;I t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; p@-rats'Ent dv'A (en)s'i:(ru) n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt; p@-rats'Ent dv'AttsVt;

Since there aren't any spaces in the test string either it seems reasonable to assume that these are mean to be %HH characters, %20 is space and %2C is comma:

$ espeak-ng -xq -v ru " 0.36817,-0.2019 "
n'ojl t'otS;ka# t@-r;'ittsat;S'Es;t; t'ys;VtS;_! vOs;Ims'ot s;Imn'AttsVt; n'ojl t'otS;ka# dv;'e t'ys;VdZ; d;E2v;Itn'AttsVt;

In both cases the "." is a sentence terminator. I don't know if Russian uses the % or %% notation but it probably does (it's a notation used in science and engineering and is internationally acceptable). So the first case is literally speaking the %20 and %2C (hence all the p@-rats) and, putting the missing spaces in:

% 200. 36817 % 2C - 0. 2019% 20

I think the "a#" here is correct - not the original a without the # because the phoneme is followed by a sentence terminator. The second case is:

0. 36817, -0.2. 2019

Both of these are totally messed up. It looks like the test string has been hacked from a longer string using %xx notation for characters (as in a URI). The string starts with "C0.87569253%20" but "C" doesn't occur elsewhere in the string except in the context "%2C". The numbers seem to be English format, not Russian, but given the mix of periods and %2C's it is difficult to tell.

I think this test string should be replaced by something that is correctly formatted Russian that actually makes sense.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #947 tests/ssml.test:test_ssml_audio : wrong test fails
By jaacoppi:

I don't know why the first test fails.

I've explained the second test poorly. We're all hoping it would fail. It checks for a known bug #410 which has not yet been fixed. When the bug is fixed, the test will fail and needs to be changed.

What compiler and OS are you using?


[espeak-ng:master] New Comment on Issue #933 Unable to compile zhy dictionay on Windows
By jaacoppi:

@feerrenrut: Can this be closed?


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #947 tests/ssml.test:test_ssml_audio : wrong test fails
By jbowler:

  • gcc (Gentoo 11.1.0 p1) 11.1.0
  • Linux hippopopus 5.12.5-gentoo #1 SMP Thu May 20 09:29:16 PDT 2021 x86_64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz GenuineIntel GNU/Linux
  • The OS is Gentoo running the KDE Plasma 17.1 desktop profile: /usr/portage/profiles/default/linux/amd64/17.1/desktop/plasma
  • The audio is: AUDIO_USE="jack pulseaudio openal"

In what way is the test failing? I.e. what has gone wrong?

Note that this seems related to #945; in both cases an incorrectly formatted piece of text results from spurious (#945) or missing (#947) sentence terminators.


[espeak-ng:master] New Comment on Issue #947 tests/ssml.test:test_ssml_audio : wrong test fails
By jbowler:

Could you add the phoneme output for the first test case? I.e. the phonemes that you would get from espeak-ng -xq?


[espeak-ng:master] New Comment on Issue #945 The change to tests/translate.test to detect #824 causes unexplained failures on some builds
By rhdunn:

Travis (https://travis-ci.org/github/espeak-ng/espeak-ng) builds with the gcc (5.4.0-6ubuntu1~16.04.12) and clang (7.0.0) compilers -- the setup there is for amd64 on Xenial Ubuntu. As you can see those test runs are green, e.g. https://travis-ci.org/github/espeak-ng/espeak-ng/jobs/771993713#L2412. Note: I'm planning on migrating to GitHub actions, but haven't had the time to do that yet.

I've also built and run that test successfully on Debian with gcc 8.3.0-6 (although I'm getting a difference in the hash for the prodofy test in ssml.test, which I haven't investigated).

It is more likely that a buffer overflow, out of bounds read, or something similar is causing the issue you are seeing.