Open murata2makoto opened 3 years ago
Yes. My suggestion above is out of context, but this possibility would require updates to 1) the Ruby spec, 2) Web Engines, 3) Speech Engines, and possibly 4) Assistive Technology like screen readers that may interface between 2 and 3.
Your suggestion could work, but would require updates to either the Speech Engine (or some intermediary service.)
Are speech engines even the right place to implement heuristics? They can lack context. For example, when the user is navigating by word or character, there is much less context. It's possible that a sentence, paragraph or even the entire document is the most useful context for applying ML.
Also, if the rules are applied at a higher level (in the browser or AT for example), then TTS APIs would not need to change.
@aleventhal
Are speech engines even the right place to implement heuristics?
It is not clear to me how TTS engines and user agents (or other ATs) interact. I am not aware of any documents that describe their interactions. In the Japan DAISY consortium, we tried to create a document (in Japanese) but I admit that it is still immature although it may contain some useful information about Japanese TTS.
The latest draft has a note:
NOTE This option does not necessarily ignore ruby annotations. Although text-to-speech engines mainly use ruby bases, they may also use ruby annotations as a hint.
Is this good enough to close this issue?
@cookiecrook wrote:
I also think that sending both the base text and phonetics ruby text to the text-to-speech engine would be useful. But I am not aware of any text-to-speech APIs that can send both.
One idea is to use Unicode characters for ruby shown below. Then, text-only APIs would be good enough.
Code point FFF9 (hex)—Interlinear annotation anchor—marks start of annotated text Code point FFFA (hex)—Interlinear annotation separator—marks start of annotating character(s) Code point FFFB (hex)—Interlinear annotation terminator—marks end of annotated text
But most engines would simply ignore these characters and read aloud both the base text and ruby text, which is usually very bad.