Date   

eSpeak NG 1.50 is released

Valdis Vitolins
 

I'm happy to announce that we have released eSpeak NG 1.50!
https://github.com/espeak-ng/espeak-ng/releases/tag/1.50

Many thanks to:

Reece H. Dunn
Eigeldinger Simon
Karl Eick
Ejaz Shah
Anh Hoang Nguyen
Juho Hiltunen
chrislm
Ronald Aug
Christo de Klerk
Min Maung
Anh Hoang Nguyen

and all other contributors of the eSpeak NG project!

Valdis


Updates to Github #github

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

5 New Commits:

[espeak-ng:master] By Ronald Aug <saisenfa@...>:
ef24854b6e57: Added rules for single consonant, pauses and ဢ (?)

Modified: dictsource/shn_rules


[espeak-ng:master] By Ronald Aug <saisenfa@...>:
faaf49b153ff: Change ​ေ sound

Modified: dictsource/shn_rules


[espeak-ng:master] By Ronald Aug <saisenfa@...>:
61bbffd0eca1: add rule for ႂ် sound

Modified: dictsource/shn_rules


[espeak-ng:master] By Valdis Vitolins <valdis.vitolins@...>:
b47a75f4e401: eSpeak NG 1.51-dev

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


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

Modified: dictsource/shn_rules


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

#682 Added rules for single consonant, pauses and ဢ (?) (Shan)

Add Rules

  • [x] single component
  • [x] pause characters
  • [x] ဢ (?)


Updates to Github #github

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

[espeak-ng:master] New Comment on Pull Request #682 Added rules for single consonant, pauses and ဢ (?) (Shan)
By valdisvi:

I have merged it into my repository and rebuilt it on online test site, but have not pushed it to espeak-ng repository, because I'm waiting for Windows builds for 1.50 release.


[espeak-ng:master] New Comment on Pull Request #682 Added rules for single consonant, pauses and ဢ (?) (Shan)
By valdisvi:

I have merged it into my repository and rebuilt it on online test site, but have not pushed it to espeak-ng repository, because I'm waiting for Windows builds for 1.50 release.


Pull Request Updated #github

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

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

#682 Added rules for single consonant, pauses and ဢ (?) (Shan)

Add Rules

  • [x] single component
  • [x] pause characters
  • [x] ဢ (?)


Pull Request Updated #github

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

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

#682 Added rules for single consonant, pauses and ဢ (?) (Shan)

Add Rules

  • [x] single component
  • [x] pause characters
  • [x] ဢ (?)


Updates to Github #github

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

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

#682 Added rules for single consonant, pauses and ဢ (?)

Add Rules

  • [x] single component
  • [x] pause characters
  • [x] ဢ (?)


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

#682 Added rules for single consonant, pauses and ဢ (?) (Shan)

Add Rules

  • [x] single component
  • [x] pause characters
  • [x] ဢ (?)


Updates to Github #github

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

[espeak-ng] rhdunn pushed new tag 1.50.


[espeak-ng] created new tag 1.50.


[espeak-ng:master] reported: Short pause and independent consonants for Shan #github

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

[espeak-ng:master] New Comment on Issue #681 Short pause and independent consonants for Shan
By valdisvi:

Single letters

shn_list file is for pronunciation of words and symbols with simple, exact matching rules. E.g. for English pronunciation of single letters are described in line 33 to 59. E.g. for single :

ၵ   kaa5

But, if you have single letter words, then it is better to describe pronunciation in shn_rules file:

.group ၵ // U+1075
          ၵ       k    // default pronunciation
       _) ၵ (_    kaa5 // single letter word
       ...             // other rules

Currently there is no rule for character. Just add it in shn_list and/or shn_rules file depending on complexity of rules. For example, following rule in shn_rules file:

.group ၶ
    ၶ   khaa5

Pauses

If handling pauses will not require much of different rules, then you can add "no character" group at the end of shn_rules file:

.group // note no character for the group
  ၊  _
  ။  _:

If pause characters may need different pronunciations, depending on position, create another group

.group ၊
  ၊  _   // default rule
  ...    // other rules
.group ။
  ။  _:  // default rule
  ...    // other rules

eSpeak online

If you test it as anonymous user, then you use version build by me, what I do occasionally. Then you can check how old build is by looking on last commit. If you test it as registered user, then you can update your project and rebuild it with new settings yourself as it is described in the guide.


[espeak-ng:master] reported: Short pause and independent consonants for Shan #github

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

[espeak-ng:master] New Comment on Issue #681 Short pause and independent consonants for Shan
By valdisvi:

Single letters

shn_list file is for pronunciation of words and symbols with simple, exact matching rules. E.g. for English pronunciation of single letters are described in line 33 to 59. E.g. for single :

ၵ   kaa5

But, if you have single letter words, then it is better to describe pronunciation in shn_rules file:

.group ၵ // U+1075
          ၵ       k    // default pronunciation
       _) ၵ (_    kaa5 // single letter word
       ...             // other rules

Currently there is no rule for character. Just add it in shn_list and/or shn_rules file depending on complexity of rules. For example, following rule in shn_rules file:

.group ၶ
    ၶ   khaa5

Pauses

If handling pauses will not require much of different rules, then you can add "no character" group at the end of shn_rules file:

.group // note no character for the group
  ၊  _
  ။  _:

If pause characters may need different pronunciations, depending on position, create another group

.group ၊
  ၊  _   // default rule
  ...    // other rules
.group ။
  ။  _:  // default rule
  ...    // other rules


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 ?

1181 - 1200 of 3992