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@...>:
8aff6072e803: Remove BOM from files

Modified: dictsource/ja_list
Modified: dictsource/ja_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@...>:
881e3a5101b6: Remove BOM from file

Modified: dictsource/ja_rules


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #793 There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages.
By jaacoppi:

This diff: `diff --git a/espeak-ng-data/lang/iro/chr b/espeak-ng-data/lang/iro/chr index abe29382..9c94836c 100644 --- a/espeak-ng-data/lang/iro/chr +++ b/espeak-ng-data/lang/iro/chr @@ -17,7 +17,7 @@ words 2 1 phonemes chr

//stress on all syllables to simulate stress on no syllables -stressRule 9 +stressRule 0 stressLength 175 175 175 175 175 175 175 175 //all vowels the same length regardless of stress stressAmp 10 10 10 10 10 10 10 10 //all vowels the same strength regardless of marked stress

diff --git a/src/libespeak-ng/dictionary.c b/src/libespeak-ng/dictionary.c index bd144fa8..4f220c87 100644 --- a/src/libespeak-ng/dictionary.c +++ b/src/libespeak-ng/dictionary.c @@ -1119,6 +1119,9 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,

    switch (tr->langopts.stress_rule)
    {
  • case 0: // no stress except what's in the language rules and dictionary
  • return; + case 8: // stress on first syllable, unless it is a light syllable followed by a heavy syllable if ((syllable_weight[1] > 0) || (syllable_weight[2] == 0))`

produces: _espeak-ng -X -v chr+f2 -x "U²no¹de⁴na hạ²wi²ya hạ²wi²ya hạ²wi²ya." _ u:2no~:1de:4n0~43_ h02wi:2j0~43_ h02wi:2j0~43_ h02wi:2j'0~43_

My solution simply skips making any stress changes and returns from the function. The word "hạ²wi²ya" is handled correctly two out of three times. However, there's still a stress at the end of the sentence. The same effect happens with "hạ²wi²ya!" and "hạ²wi²ya?". It's added somewhere else. My guess is S_NO_EOC_LENGTHEN in setlengths.c. Kazakh has it implemented in tr_languages.c.


[espeak-ng:master] New Comment on Issue #793 There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages.
By jaacoppi:

This diff: `diff --git a/espeak-ng-data/lang/iro/chr b/espeak-ng-data/lang/iro/chr index abe29382..9c94836c 100644 --- a/espeak-ng-data/lang/iro/chr +++ b/espeak-ng-data/lang/iro/chr @@ -17,7 +17,7 @@ words 2 1 phonemes chr

//stress on all syllables to simulate stress on no syllables -stressRule 9 +stressRule 0 stressLength 175 175 175 175 175 175 175 175 //all vowels the same length regardless of stress stressAmp 10 10 10 10 10 10 10 10 //all vowels the same strength regardless of marked stress

diff --git a/src/libespeak-ng/dictionary.c b/src/libespeak-ng/dictionary.c index bd144fa8..4f220c87 100644 --- a/src/libespeak-ng/dictionary.c +++ b/src/libespeak-ng/dictionary.c @@ -1119,6 +1119,9 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,

    switch (tr->langopts.stress_rule)
    {
  • case 0: // no stress except what's in the language rules and dictionary
  • return; + case 8: // stress on first syllable, unless it is a light syllable followed by a heavy syllable if ((syllable_weight[1] > 0) || (syllable_weight[2] == 0))`

produces: _espeak-ng -X -v chr+f2 -x "U²no¹de⁴na hạ²wi²ya hạ²wi²ya hạ²wi²ya." _ u:2no~:1de:4n0~43_ h02wi:2j0~43_ h02wi:2j0~43_ h02wi:2j'0~43_

My solution simply skips making any stress changes and returns from the function. The word "hạ²wi²ya" is handled correctly two out of three times. However, there's still a stress at the end of the sentence. The same effect happens with "hạ²wi²ya!" and "hạ²wi²ya?". It's added somewhere else. My guess is S_NO_EOC_LENGTHEN in setlengths.c. Kazakh has it implemented in tr_languages.c.

Edit: S_NO_EOC_LENGTHEN should be moved from tr_languages.c to a keyword in the language definition file lang/iro/chr. See #218. So when making a solution, don't add anything to tr_languages.c.


[espeak-ng:master] reported: There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages. #github

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

[espeak-ng:master] New Comment on Issue #793 There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages.
By michael-conrad:

As a test I added:

case 14: // mark all as unstressed
			for (ix = 1; ix < vowel_count; ix++) {
				vowel_stress[ix] = STRESS_IS_UNSTRESSED;
			}
			unstressed_word = true;
			printf("This word should not have any stress added later in the process.\n");
			break;

to dictionary.c

I then updated the file espeak-ng-data/lang/iro/chr to have "stressRule 14"

When I test the rebuilt espeak-ng I get:

~/espeak-ng/bin/espeak-ng -v chr+f2 --ipa "U²no¹de⁴na hạ²wi²ya."
This word should not have any stress added later in the process.
This word should not have any stress added later in the process.
uː2nõː1deː4nˌɒ̃4 hɒ2wiː2jˈɒ̃4

The IPA shows both a secondary and primary stress being added.

-x output:

~/espeak-ng/bin/espeak-ng -v chr+f2 -x "U²no¹de⁴na hạ²wi²ya."
This word should not have any stress added later in the process.
This word should not have any stress added later in the process.
u:2no~:1de:4n,0~43 h02wi:2j'0~43

-X output:

~/espeak-ng/bin/espeak-ng -v chr+f2 -X "U²no¹de⁴na hạ²wi²ya."
Replace: ² > xc
Replace: ¹ > xb
Replace: ⁴ > xf
Replace: ² > xc
Replace: ² > xc
Translate 'uxcnoxbdexfna'
  1	u        [u:]

 22	xc       [2]

  1	n        [n]

  1	o        [o:]
 27	L02) o   [o~:]

 22	xb       [1]

  1	d        [d]

  1	e        [e:]

 22	xf       [4]

  1	n        [n]

  1	a        [0:]
 27	L02) a   [0~:]
 48	L02) a (_ [0~43]
 22	a (_     [0~43]

This word should not have any stress added later in the process.
Translate 'hạxcwixcya'
  1	h        [h]

 36	ạ      [0]

 22	xc       [2]

  1	w        [w]

  1	i        [i:]

 22	xc       [2]

  1	y        [j]

  1	a        [0:]
 22	a (_     [0~43]

This word should not have any stress added later in the process.
u:2no~:1de:4n,0~43 h02wi:2j'0~43


[espeak-ng:master] reported: Determining which version of espeak-ng to use for NVDA is difficult #github

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

[espeak-ng:master] New Comment on Issue #792 Determining which version of espeak-ng to use for NVDA is difficult
By rhdunn:

That makes sense. We can assess and improve the process over time, as needed.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By michael-conrad:

Thanks for the assist.

I'll create a separate ticket for item #2 to keep things organized.


[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By michael-conrad:

Thanks for the assist.

I'll create a separate ticket for item (2) to keep things organized.


[espeak-ng:master] New Issue Created by michael-conrad:
#793 There needs to be a way to explicitly set stress ONLY via rules to support unstressed languages and other non-European languages.

As far as Cherokee goes and for many other North American languages, there needs to be a way to explicitly set stress via rules or dictionary that don't get changed, ever, by the phoneme generation code.

As it stands right now, all the stress rules that are defined dictate that stress is added, and there does not seem to be an obvious way of stopping stress from being added except via manual dictionary entries with '$u'.

For context: the dialect of Cherokee that I'm currently working on is strictly unstressed, and I seem to get odd consonant and vowel combination changes even if I select all stressed with all stress strengths and lengths set the same in the config files.

If I set the stress pattern to any other setting, even though I have all stressed defined identical, the engine still generates different lengths for stressed vs unstressed forms. (Which may be a separate issue, don't know).

Per @jaacoppi, see ticket #785

jaacoppi commented 20 minutes ago

ignoring all stress rules, instead of what's in the language files.
dictionary.c has a few functions ending with Stress(): SetVowelStress, GetWordStress, ChangeWordStress. Adding the logic for ignoring all stress patterns might be there already. Take a look and see if anything rings a bell. If not, I'll try to add the required code there as well.

Please provide some sample words or sentences where stress appears even though it shouldn't.


[espeak-ng:master] New Issue Created by michael-conrad:
#793 There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages.

As far as Cherokee goes and for many other North American languages, there needs to be a way to explicitly set stress via rules or dictionary that don't get changed, ever, by the phoneme generation code.

As it stands right now, all the stress rules that are defined dictate that stress is added, and there does not seem to be an obvious way of stopping stress from being added except via manual dictionary entries with '$u'.

For context: the dialect of Cherokee that I'm currently working on is strictly unstressed, and I seem to get odd consonant and vowel combination changes even if I select all stressed with all stress strengths and lengths set the same in the config files.

If I set the stress pattern to any other setting, even though I have all stressed defined identical, the engine still generates different lengths for stressed vs unstressed forms. (Which may be a separate issue, don't know).

Per @jaacoppi, see ticket #785

jaacoppi commented 20 minutes ago

ignoring all stress rules, instead of what's in the language files.
dictionary.c has a few functions ending with Stress(): SetVowelStress, GetWordStress, ChangeWordStress. Adding the logic for ignoring all stress patterns might be there already. Take a look and see if anything rings a bell. If not, I'll try to add the required code there as well.

Please provide some sample words or sentences where stress appears even though it shouldn't.


[espeak-ng:master] New Issue Created by michael-conrad:
#793 There needs to be a way to explicitly set stress only via rules to support unstressed languages and other non-European languages.

As far as Cherokee goes and for many other North American languages, there needs to be a way to explicitly set stress via rules or dictionary that don't get changed, ever, by the phoneme generation code.

As it stands right now, all the stress rules that are defined dictate that stress is added, and there does not seem to be an obvious way of stopping stress from being added except via manual dictionary entries with '$u'.

For context: the dialect of Cherokee that I'm currently working on is strictly unstressed, and I seem to get odd consonant and vowel combination changes even if I select all stressed with all stress strengths and lengths set the same in the config files.

If I set the stress pattern to any other setting, even though I have all stressed defined identical, the engine still generates different lengths for stressed vs unstressed forms. (Which may be a separate issue, don't know).

Per @jaacoppi, see ticket #785

jaacoppi commented 20 minutes ago

ignoring all stress rules, instead of what's in the language files. dictionary.c has a few functions ending with Stress(): SetVowelStress, GetWordStress, ChangeWordStress. Adding the logic for ignoring all stress patterns might be there already. Take a look and see if anything rings a bell. If not, I'll try to add the required code there as well.

Please provide some sample words or sentences where stress appears even though it shouldn't.


[espeak-ng:master] reported: Full stop only recognized when followed by an uppercase letter? #github

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

[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By jaacoppi:

Okay, so there's now two issues: 1) recognizing ". " followed by a lowercase word as a full stop I'll look into this.

2) ignoring all stress rules, instead of what's in the language files. dictionary.c has a few functions ending with Stress(): SetVowelStress, GetWordStress, ChangeWordStress. Adding the logic for ignoring all stress patterns might be there already. Take a look and see if anything rings a bell. If not, I'll try to add the required code there as well.

Please provide some sample words or sentences where stress appears even though it shouldn't.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By michael-conrad:

I think this issue would be better addressed via the documentation ticket.

As far as Cherokee goes and other North American languages, there needs to be a way to explicitly set stress via rules or dictionary that don't get changed, ever, by the phoneme generation code. The dialect of Cherokee that I'm currently working on is strictly unstressed, and I seem to get odd consonant and vowel combination changes even if I select all stressed with all stress strengths and lengths set the same in the config files. If I set the stress pattern to any other setting, even though I have all stressed defined identical, the engine still generates different lengths for stressed vs unstressed forms.


[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By michael-conrad:

I think this issue would be better addressed via the documentation ticket as I'm using a romanized pronunciation orthography from the Cherokee English Dictionary.

As far as Cherokee goes and other North American languages, there needs to be a way to explicitly set stress via rules or dictionary that don't get changed, ever, by the phoneme generation code. The dialect of Cherokee that I'm currently working on is strictly unstressed, and I seem to get odd consonant and vowel combination changes even if I select all stressed with all stress strengths and lengths set the same in the config files. If I set the stress pattern to any other setting, even though I have all stressed defined identical, the engine still generates different lengths for stressed vs unstressed forms.


[espeak-ng:master] New Comment on Issue #692 Crash when folder has accented character
By rhdunn:

I saw that NVDA had resolved the crash they had by using the "don't exit the program if the path is invalid" -- that is why I closed the issue.

Regarding the problem, espeak/espeak-ng (including 1.48.15 -- https://github.com/espeak-ng/espeak-ng/blob/1.48.15/src/speak_lib.cpp#L296) uses ASCII paths and calls the stat function to determine if the path exists and is a directory (i.e. if it is valid). This is used all over espeak -- as such it is not trivial to fix.

Also note that that logic hasn't changed in espeak-ng, and all the code reformatting/cleanup changes were made for 1.49.0.

NVDA is making a call to os.fsencode. I'm not sure on the details of how that function works. If you can find an API that works with stat, then espeak/espeak-ng will work.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #692 Crash when folder has accented character
By lukaszgo1:

Why exactly have you closed this? The solution employed in NVDA is merely an work around that is if eSpeak files are placed in a path with accented character eSpeak cannot be used and NVDA falls back to the another synthesizer assuming that any other engine is available.


[espeak-ng:master] New Comment on Issue #606 Chinese dictionary multiple match
By jaacoppi:

I'm using 貸款 as an example. It's (貸 款) dai4kuan3 in dictsource/extra/zh_listx.

I think the expected behaviour is that espeak finds 貸 款 from the dictionary file, replaces it with dai4kuan3 for speaking out the phoneme and then sets dictionary_skipwords to mark that 款 has already been translated/spoken as part of the previous word and should be skipped.

Actual behaviour seems to be that dictionary_skipwords has no effect and thus 款 is spoken twice.

A dirty fix is to remove the whitespace in in dictsource/extra/zh_listx: (貸款) dai4kuan3. I don't know if this breaks something else.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #692 Crash when folder has accented character
By rhdunn:

Thanks. Resolving as fixed.


[espeak-ng:master] Issue #692 Crash when folder has accented character closed by Qchristensen.


[espeak-ng:master] Label added to issue #692 Crash when folder has accented character by Qchristensen.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #664 the Chinese pronunciation is wrong
By valdisvi:

We could decide to close issue when it is fixed in code, but some of authors may consider issue resolved only when they got it fixed on their computer. Therefore policy in contributor guideline is that author closes it when it is resolved. But, we can decide to do it differently.


[espeak-ng:master] New Comment on Issue #664 the Chinese pronunciation is wrong
By valdisvi:

We could close issue when it is fixed in code, but some of authors may consider issue resolved only when they got it fixed on their computer. Therefore policy in contributor guideline is that author closes it when it is resolved. But, we can decide to do it differently.


[espeak-ng:master] New Comment on Issue #685 Voice Chinese (Mandarin): some characters are reported two times
By jaacoppi:

Did some digging. This is a duplicate of #606.


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #692 Crash when folder has accented character
By jaacoppi:

NVDA has closed this. Should we?


[espeak-ng:master] New Comment on Issue #664 the Chinese pronunciation is wrong
By jaacoppi:

Should this be closed?


Updates to Github #github

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

[espeak-ng:master] New Comment on Issue #785 Full stop only recognized when followed by an uppercase letter?
By jaacoppi:

clause endings are determined by bool is_end_clause in 'readclause.c'. I think the code basically says "look for a . followed by a capital letter". I'm unaware of any existing rule or option to change that.

Language specific rules are mostly in tr_languages.c and struct langopts in translate.h. We are trying to phase out tr_languages.c so I'm not sure where the new code should go to.

Please define what you need for Cherokee. Is it enough to state that any "." is always a full stop and "." is never used for anything else, or are there special cases such as abbreviations or ordinal numbers?


[espeak-ng:master] New Comment on Issue #781 Documentation Request: How to adjust pauses between words, sentences, etc?
By jaacoppi:

Does #785 cover this or do you need something else?


[espeak-ng:master] reported: Voice Chinese (Mandarin): some characters are reported two times #github

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

[espeak-ng:master] New Comment on Issue #685 Voice Chinese (Mandarin): some characters are reported two times
By jaacoppi:

This works: espeak-ng -X -v zh 你好

Replace: 你   ni3
Translate 'ni3'
  1     n        [n]

  1     i        [i]

 22     3        [214]

Replace: 好   hao3
Translate 'hao3'
  1     h        [X]

  1     a        [A]
 22     ao       [Au]

 22     3        [214]

n'i35_| X'Au214_|




This is wrong. The second word is interpreted twice: first as a part of the first word, then as a standalone word: espeak-ng -X -v zh 貸款

Replace: 貸 款   dai4kuan3
Translate 'dai4kuan3'
  1     d        [t]

  1     a        [A]
 22     ai       [ai]

 22     4        [51]

  1     k        [kh]

  1     u        [u]
 86     k) ua (DnK [wa]
 22     ua       [wA]
 65     ua (DnK  [ua]

  1     n        [n]

 22     3        [214]

Replace: 款   kuan3
Translate 'kuan3'
  1     k        [kh]

  1     u        [u]
 86     k) ua (DnK [wa]
 22     ua       [wA]
 65     ua (DnK  [ua]

  1     n        [n]

 22     3        [214]

tai51khw'a35n_| khw'a214n_|

Most likely this is a unicode/multibyte issue. Some characters aren't separated properly. I wonder why it only affects certain characters. Anyone have any ideas or should I keep digging?


[espeak-ng:master] reported: Some problems with the romanizer #github

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

[espeak-ng:master] New Comment on Issue #464 Some problems with the romanizer
By jaacoppi:

See the discussion in #347 - dictrules 1 and _1 a _^EN for each alphabet group fixes the issue for a single language. However, the problem behind this is not easy to fix due to the internal workings of espeak, and I think there should be a uniform fix for all languages, not a hack for each language.


guidance improving slovenian voice

J.G
 

Hello,

can someone of you, great guys and gals, guide me through improving a slovenian voice, please? Yes, I've read an available documentation, but I'm obviously a beginner, so it did not help me.
I'm using NVDA on Windows.

Thanks for your help.

kind regards,
Jožef


[espeak-ng:master] new issue: Determining which version of espeak-ng to use for NVDA is difficult #github

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

[espeak-ng:master] New Issue Created by feerrenrut:
#792 Determining which version of espeak-ng to use for NVDA is difficult

Since releases are rare, and there is no "stable" branch, it is difficult to determine which commit to choose when updating the version of espeak-ng to use in NVDA. Currently we just use the latest master commit in a fairly ad-hoc way, if users complain about bugs we either raise and see if those particular issues are fixed or consider reverting.

Since the alpha versions of NVDA get a fair bit of testing, aligning releases of espeak-ng and NVDA might be mutually beneficial? Perhaps NVDA updates to the latest master of espeak-ng at the beginning of a release cycle and espeak-ng creates a stable branch from that commit to receive required fixes before eventual release, NVDA then tracks this branch?

I'm open to ideas to improve this.


[espeak-ng:master] reported: Arch Linux aarch64 on Android and speak char delay issue #github

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

[espeak-ng:master] New Comment on Issue #789 Arch Linux aarch64 on Android and speak char delay issue
By JanuszChmiel:

Thank you very very much for yours advice. i will try to recompile Espeak-ng on my Aarch64 device. System talk to Pulseaudio sound server which run by using Termux by using TCP protocol. It is even possible to use Unix sockets, but for sending sound samples of speech engines it is very probably not causing A remarkable speed differences. I think that my big enemye is Android process which monitors Pulseaudio for Termux for data which are being transferred by using Open sless protocol. I do not know if is it Android media server, or sound chip Android kernel device driver itself. Because I Am afraid, that if short audio sample data are played for example every 800 Milliseconds it will always get more time before this sound sample is being plaied. Sure. When Espeak play sample and if Speech-dispatcher send news sample, The reactivity responsiveness is very fast. I also know about build in Android kernel routine which automatically disable sound chip if sound samples are not play or recorded for several Seconds. I have sensitive hearing and I can hear chip turning off sound when listening from build in phone amplifier. Speech-dispatcher developers have made some miracle, so it send some strange command to Pulseaudio sound server so The chip will never suspend. Transistors are producing soft noise. This is The reason why I must turn off this process and Orca to prevent transistors from being deteriorated if it would make soft noise for A whole night. May be, that whole sound chip could overburn more faster. But as A positive aspect, using Speech-dispatcher and Pulseaudio sound server produces The faster responsiveness when using Orca on Android device by using Termux, Proot and some compatible Linux distro. I have also tried Pulseaudio sound server configured so Simple protocol have been used. And I have used Simple protocol Player for Android to play Espeak chunks streams. Because Simple protocol player used different technique to play audio chunks The speed is not good. Pulseaudio also often randomly crashes no matter, which Linux distro AM I using. So I have used Pulseaudio for Termux as The most stable approach. .


Updates to Github #github

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

2 New Commits:

[espeak-ng:master] By fukuen <fukuebiz@...>:
92fb3d63781b: improvement japanese

Modified: dictsource/ja_list
Modified: dictsource/ja_rules
Modified: src/windows/installer/Product.wxs


[espeak-ng:master] By Reece H. Dunn <msclrhd@...>:
aafd2e720582: Update the changelog.

Modified: CHANGELOG.md


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

#790 improvement japanese

Hello


[espeak-ng:master] New Comment on Pull Request #790 improvement japanese
By rhdunn:

Merged. Thanks!


Updates to Github #github

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

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

#791 add output hooks for wavegen

I've added some hooks to wavegen, which can be used to output aligned speech. This information can be used by prosody transplantation tools similar to MBROLIGN. There is also a function to set a constant f0 in Hz, which may be used by some prosody transplantation tools. If none of the functions is called, the behaviour of espeak-ng is unchanged.


[espeak-ng:master] New Comment on Pull Request #790 improvement japanese
By tplaten:

this looks good for me

481 - 500 of 3811