Date   
Github push to espeak-ng:espeak-ng #github

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

1 New Commit:

[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
b702b03996de: eSpeak NG 1.50

Modified: CHANGELOG.md
Modified: android/jni/include/config.h
Modified: configure.ac
Modified: src/windows/config.h

[espeak-ng:master] reported: Option to keep punctuation signs in IPA output ? #github

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

[espeak-ng:master] New Comment on Issue #275 Option to keep punctuation signs in IPA output ?
By nmstoker:

Thanks Ben. It sounds like your pre/post processing is the best option given the difficulties that adapting the internal representation seem to present. I must've overlooked virtual phonemes - it's great that they don't appear to impact the parsing.

As you say, any comment from the maintainers/experts would be welcome :slightly_smiling_face:

Updates to Github #github

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

[espeak-ng:master] New Issue Created by arnaudschd:
#678 No voice on Windows10


[espeak-ng:master] Issue #678 No voice on Windows10 closed by arnaudschd.

Updates to Github #github

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

[espeak-ng:master] New Issue Created by ronaldaug:
#681 Short pause and independent consonants for Shan

This isn't actually an issue, just a question and request.

1 - Short pauses

I would like to add these pauses characters, but I'm a bit confused. Should I add them into ** shn_list ** or ** shn_rules **? Would be a short break like _ and would be a little long break like _:.

2 - Independent consonant

How can I add a rule for a single consonant without a prefix or suffix? I am worried that it will ruin the original (ka) rule. If it is a single character should sound kaa5 should sound khaa5

3 - Speak online

Could @valdisvi recompile the source on https://odo.lv/Espeak, I tested the Shan language and it seems the sound wasn't updated as a master project?


[espeak-ng:master] New Issue Created by ronaldaug:
#681 Short pause and independent consonants for Shan

This isn't actually an issue, just a question and request.

1 - Short pauses

I would like to add these pauses characters, but I'm a bit confused. Should I add them into shn_list or shn_rules ? Would be a short break like _ and would be a little long break like _:.

2 - Independent consonant

How can I add a rule for a single consonant without a prefix or suffix? I am worried that it will ruin the original (ka) rule. If it is a single character should sound kaa5 should sound khaa5

3 - Speak online

Could @valdisvi recompile the source on https://odo.lv/Espeak? I tested the Shan language and it seems the sound wasn't updated as a master project.

[espeak-ng:master] reported: Option to keep punctuation signs in IPA output ? #github

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

[espeak-ng:master] New Comment on Issue #275 Option to keep punctuation signs in IPA output ?
By BenTalagan:

Hi Neil, I had a look at it when opening this issue but it soon looked like a too difficult task for me. IIRC, the problem was that I could not find a way to do it easily with the current architecture : espeak first uses the punctuation to perform a structure analysis and split sentences into chains of clauses and it drops the punctuation at that early stage. Thus, we could mark the clauses as "beginning with that punctuation sign" or "ending with this punctuation sign", but this would not be sufficient because there could be clause-non-affecting punctuation signs in the middle of the clauses. The problem is that keeping those signs would parasite the next stage, where clauses are transcribed into phonemes. Additionally, if you want to keep spaces and carriage returns, it makes things even more difficult.

For my needs, I work in a scripted environment so I have implemented some kind of hacky solution around espeak, with a pre-processor and a post-processor. The pre-processor inserts characters in the input around the punctuation, like tags (using far encoded chars from the unicode like U+F8E0, etc) , and it saves the list of encountered punctuation in an array for later. Additionally, I declare each one of these tag characters in the dictionaries as words, their image as phonemes being themselves, and finally I declare these phonemes in the phoneme files as virtual phonemes, having (again) themselves as an ipa output. That way, these "tags" are carried all along the chain down to the ipa and because they are declared virtual, they do not seem to parasite the clause analysis or the interaction between phonemes. At the end, in the post-processor, I replace back the tags by the original punctuation signs I had saved in an array with the pre-processor.

As I said this is totally ugly (happily there seems to be no vomiting smiley on github).

I couldn't see any other way of doing it with the current architecture, and that's why I've referenced #369 : with a different architecture, a more structured analysis and representation of the input (like a chain of tokens), that would probably be far easier. Seems to me it's quite a lot of work but imho the way to go.

I don't know if it really helps. I'd be happy to have a more accurate opinion from the maintainers too, I'm definitely not at ease with espeak's source code.

[espeak-ng:master] reported: Option to keep punctuation signs in IPA output ? #github

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

[espeak-ng:master] New Comment on Issue #275 Option to keep punctuation signs in IPA output ?
By BenTalagan:

Hi Neil, I had a look at it when opening this issue but it soon looked like a too difficult task for me. IIRC, the problem was that I could not find a way to do it easily with the current architecture : espeak first uses the punctuation to perform a structure analysis and split sentences into chains of clauses and it drops the punctuation at that early stage. Thus, we could mark the clauses as "beginning with that punctuation sign" or "ending with this punctuation sign", but this would not be sufficient because there could be clause-non-affecting punctuation signs in the middle of the clauses. The problem is that keeping those signs would parasite the next stage, where clauses are transcribed into phonemes. Additionally, if you want to keep spaces and carriage returns, it makes things even more difficult.

For my needs, I work in a scripted environment so I have implemented some kind of hacky solution around espeak, with a pre-processor and a post-processor. The pre-processor inserts characters in the input around the punctuation, like tags (using far encoded chars from the unicode like U+F8E0, etc) , and it saves the list of encountered tags/punctuation in an array for later. Additionally, I declare each one of these tag characters in the dictionaries as words, their image as phonemes being themselves, and finally I declare these phonemes in the phoneme files as virtual phonemes, having (again) themselves as an ipa output. That way, these "tags" are carried all along the chain down to the ipa and because they are declared virtual, they do not seem to parasite the clause analysis or the interaction between phonemes. At the end, in the post-processor, I replace back the tags by the original punctuation signs I had saved in an array with the pre-processor.

As I said this is totally ugly (happily there seems to be no vomiting smiley on github).

I couldn't see any other way of doing it with the current architecture, and that's why I've referenced #369 : with a different architecture, a more structured analysis and representation of the input (like a chain of tokens), that would probably be far easier. Seems to me it's quite a lot of work but imho the way to go.

I don't know if it really helps. I'd be happy to have a more accurate opinion from the maintainers too, I'm definitely not at ease with espeak's source code.

Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By BenTalagan:

Thanks for your answer! I think the problem was in the naming of the dict file(s). Since en-test_dict was not compiled at all, espeak-ng would default to en dict. Anyway, I'll do as you advise, I believe now it is a wiser approach.


[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By BenTalagan:

This was not a bug.


[espeak-ng:master] Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table closed by BenTalagan.


[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By BenTalagan:

This was not a bug (just a misuse).

[espeak-ng:master] reported: A phoneme of a child table is not used if that phoneme is not also defined in its parent table #github

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

[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By valdisvi:

I think, you just need to extend en phonemes (phonemetable en-test en) and override only needed ones. As you have setting phonemes en-test in the language definition file, customized phonemes should be compiled into different en-test_dict file.

[espeak-ng:master] reported: Tool for testing espeak-ng #github

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

[espeak-ng:master] New Comment on Issue #680 Tool for testing espeak-ng
By valdisvi:

https://odo.lv/Espeak.

[espeak-ng:master] new issue: Tool for testing espeak-ng #github

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

[espeak-ng:master] New Issue Created by poeeain:
#680 Tool for testing espeak-ng

I'm using Mac (Mojave) and trying to install espeak-ng with brew. But it doesn't sound anything. (Maybe I don't know how to properly install it) And I try to use espeak-ng from my phone, I found an app "eSpeak NG" on google playstore but the last updated was since August. Again, I try to use espeakng.js here for web based, but this seems outdate too. Is there any tool or place I can test espeak-ng sound? Thanks in advance.

[espeak-ng:master] reported: A phoneme of a child table is not used if that phoneme is not also defined in its parent table #github

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

[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By BenTalagan:

Ok, I think I've found the reason of the problem. However I'd be happy to have a confirmation.

I believe what I'm doing is illegal: I'm defining two different phoneme systems for the same dictionary :

base > base1 > en base > base1 > en-test

It looks like a dictionary is precompiled against a phoneme system (en_dict for example is precompiled against the en phoneme system). By inheriting from base1 for en-test directly but using the en_dict precompiled against the en system, en-test is not compliant with the precompiled dictionary (it is kind of 'detached' from it) and it can lead to obscure results.

I guess that, if I want to make things working, I should inherit from the en phoneme table and overload every phoneme, or alternatively, create a new language by duplicating en_rules, en_dict, en_emoji, and en_extra. Am I right ?

[espeak-ng:master] reported: Option to keep punctuation signs in IPA output ? #github

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

[espeak-ng:master] New Comment on Issue #275 Option to keep punctuation signs in IPA output ?
By nmstoker:

I see this has been without a response for just two years. Did anyone take a look at this? Would be very useful.

Being rather rusty with C I'm not sure this is something I'd manage myself that easily but if any of the maintainers/experts had any comments and/or pointers to where to start, I could see what I could do and maybe coordinate with others?

[espeak-ng:master] reported: A phoneme of a child table is not used if that phoneme is not also defined in its parent table #github

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

[espeak-ng:master] New Comment on Issue #679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table
By BenTalagan:

Thank you @valdisvi for your answer! Yes. I've also added the ph_english_test file to the list of phoneme files in Makefile.am. I always run make && make install before performing these tests. I've just checked again the full described behavior after you've answered, and I get the same results as yesterday.

[espeak-ng:master] reported: A phoneme of a child table is not used if that phoneme is not also defined in its parent table #github

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

[espeak-ng:master] new issue: A phoneme of a child table is not used if that phoneme is not also defined in its parent table #github

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

[espeak-ng:master] New Issue Created by BenTalagan:
#679 A phoneme of a child table is not used if that phoneme is not also defined in its parent table

Hi, I'm not totally sure if it's a bug or not, but it's a bit obscure to me. Here is my use case.

For transcription purpose, I'd like to rewrite my own phoneme tables for english, and I've stumbled on the following oddity.

I keep the original en_rules and en_dict files, but I'm rewriting a new english voice, called en-test (file espeak-ng-data/lang/gmw/en-test), with the following content :

name Test English
language en-test  42
language en 42
phonemes en-test
tunes s1 c1 q1 e1

I'm declaring the new phoneme table like this (in the phonemes file) :

file : phonemes

phonemetable en-test base1
include ph_english_test

Note that it does not inherit from the en table, but directly from base1.

Finally, I'm declaring the ph_english_test phoneme file (in phsource/ph_english_test). It's really simple, with only one phoneme (I've reduced the example to a minimal test case to illustrate my problem) :

file : phsource/ph_english_test

phoneme a#
  vwl
  ipa £
endphoneme

Now, if I try to translate the following example, the a# phoneme is not used :

> espeak-ng against -v en-test -X --ipa
Found: 'against' [a#gEnst]
əɡˈənst

The strange thing is, if I add the phoneme to base1 in the phonemes file, like this (note the different ipa character) :

file : phonemes

phoneme a#
  vwl
  ipa $
endphoneme

then the phoneme is used, and it is taken from the child table :

> espeak-ng against -v en-test -X --ipa
Found: 'against' [a#gEnst]
ˈ£ɡənst

Finally, if I remove the a# phoneme from the child table, then the phoneme is still found and used, and it comes from base1, the parent table :

> espeak-ng against -v en-test -X --ipa
Found: 'against' [a#gEnst]
ˈ$ɡənst

To summarize, here are the four possible cases for the parent and child tables :

Parent : not defined, Child : not defined => Not translated (pretty logical) Parent : defined, Child : defined => translated, uses child table definition (pretty logical) Parent : defined, Child : not defined => translated, uses parent table definition (pretty logical) Parent : not defined, Child : defined => Not translated (seems odd)

Is this behavior really normal? I would have expect the a# phoneme to be working without having to define it in the parent table, just in the child table. Is there something I'm doing wrong or is it a bug?

[espeak-ng:master] new issue: No voice on Windows10 #github

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

[espeak-ng:master] New Issue Created by arnaudschd:
#678 No voice on Windows10

After building from source and installing eSpeak on Windows10, there is no voices showing up on the Speech Synthesizer personnalisation . How can I fix this?

Updates to Github #github

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

[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By valdisvi:

grep -E is the same as egrep in Linux. What about MacOS?


[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By BenTalagan:

Under MacOS, it seems egrep and grep are the same binary.

➜  espeak-ng git:(master) egrep --version
egrep (BSD grep) 2.5.1-FreeBSD
➜  espeak-ng git:(master) grep --version
grep (BSD grep) 2.5.1-FreeBSD
➜  espeak-ng git:(master) ls -lat /usr/bin/egrep
-rwxr-xr-x  1 root  wheel  47136 24 oct 03:33 /usr/bin/egrep
➜  espeak-ng git:(master) ls -lat /usr/bin/grep 
-rwxr-xr-x  1 root  wheel  47136 24 oct 03:33 /usr/bin/grep
➜  espeak-ng git:(master) md5sum /usr/bin/egrep 
fa0d64532039165615fb06d6143076d9  /usr/bin/egrep
➜  espeak-ng git:(master) md5sum /usr/bin/grep 
fa0d64532039165615fb06d6143076d9  /usr/bin/grep

Updates to Github #github

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

1 New Commit:

[espeak-ng:master] By BenTalagan <ben_talagan@...>:
c7827df43b16: Using grep -E on all platforms

Modified: tests/language-replace.test


[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By rhdunn:

I've merged this commit by cherry-picking the last commit. Thanks for the fix.


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

#677 Fixing "Language Replace" tests under MacOS

A small PR for fixing the language-replace.test script under MacOS. The grep -P is unfortunately not portable, but in that simple case the grep -E option will do. Any other suggestion is welcome :-)


[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By BenTalagan:

Ok! Thanks a lot.

Updates to Github #github

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

[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By rhdunn:

Why not replace it directly with -E, as that is supported in GNU grep?


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

#677 Fixing "Language Replace" tests under MacOS

A small PR for fixing the language-replace.test script under MacOS. The grep -P is unfortunately not portable, but in that simple case the grep -E option will do. Any other suggestion is welcome :-)


[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By BenTalagan:

Good point! I wasn't sure. I have done the change, just waiting for the tests to be over.


[espeak-ng:master] New Comment on Pull Request #677 Fixing "Language Replace" tests under MacOS
By BenTalagan:

Good point! I wasn't sure. I have made the change, just waiting for the tests to be over... done.

Updates to Github #github

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

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

#677 Fixing "Language Replace" tests under MacOS

A small PR for fixing the language-replace.test script under MacOS. The grep -P is unfortunately not portable, but in that simple case the grep -E option will do. Any other suggestion is welcome :-)


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

#677 Fixing "Language Replace" tests under MacOS

A small PR for fixing the language-replace.test script under MacOS. The grep -P is unfortunately not portable, but in that simple case the grep -E option will do. Any other suggestion is welcome :-)


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

#677 Fixing "Language Replace" tests under MacOS

A small PR for fixing the language-replace.test script under MacOS. The grep -P is unfortunately not portable, but in that simple case the grep -E option will do. Any other suggestion is welcome :-)