Updates to Github #github

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

[espeak-ng:master] New Issue Created by rhdunn:
#812 Add rule logic to better support Japanese vowel lengthening rules

In Japanese, a Hiragana whose pronunciation ends with the vowel a can be lengthened by adding あ (full a), ぁ (short a), or ー (lengthen indicator). The same applies with the other vowels. This results in the following set of rules for each base Hiragana:

.L22    ぁ ー // long a

.group あ
    あ       a   // a
    あ (あL22 a   // aā
    ああ      a:  // ā
    あぁ      a:  // ā
    あー      a:  // ā

It would be better to have the following rules:

.L22    あ ぁ ー   // long a

.group あ
    あ [あL22 a   // a
    あL22        a:  // ā

This requires two changes to the espeak-ng rule logic: 1. Add a [b (or a different syntax) to mean "don't match this rule if the 'b' part matches, but if it does match then only consume the 'a' part". An equivalent a] b syntax should be added for supporting matches before the main matching segment. -- maybe something like a^) b (^c? 2. Support matching substitution groups (in this case L22) in the main matching text, not just in the pre/post sections. NOTE: This may require a special syntax to differentiate it from other text, so maybe something like ${...} to use a substitution group (A, L12, etc.)?

[espeak-ng:master] New Comment on Pull Request #810 Add some patterns to ja_rules
By rhdunn:

I've raised issue #812 about making it possible to simplify the Japanese Hiragana/Kiragana pronunciation rules.

Join espeak-ng@groups.io to automatically receive all group messages.