Ish: Ability to send text to the speech synthesizer

Created on 3 Jul 2020  路  9Comments  路  Source: ish-app/ish


I'm totally blind. There's a screen reader for Emacs, and being able to use Emacs on iOS would be a game changer.

For me to write an iOS speech server for Emacspeak, I need to be able to send text (with inline commands like [[rate]]/[[pbas]]/etc) to the iOS speech synth. Could a device like /dev/location or similar mechanism be added to ISH for this?

All 9 comments

Right now you can have VoiceOver speak something just by printing it on the terminal, but I see how that's not great here. I could add a device that gives direct access to the VoiceOver API, but that doesn't give any control over rate/pitch. There's also AVSpeechUtterance which does give you full control, but then it ignores your system VoiceOver settings. Dunno if that's a problem.

There's also AVSpeechUtterance which does give you full control, but then it ignores your system VoiceOver settings.

This is expected: Emacspeak has its own rate/pitch settings and sends those along with the speech. Here's a protocol description for some context.

Cool, so that would work out nicely. I'm also not sure how this voice would interact with VoiceOver; would voiceover interrupt the emacs voice, or would you hear both voices at once? How would you expect that to behave?

Cool, so that would work out nicely. I'm also not sure how this voice would interact with VoiceOver; would voiceover interrupt the emacs voice, or would you hear both voices at once? How would you expect that to behave?

I'd turn off VO while in Emacspeak, as it's self-voicing. (unless you can think of a better way...)

Maybe you could add a flag that could be set from within the system to toggle the aliveness of the terminal region (so Emacs output by VO wouldn't read on top of Emacspeak output)?

Maybe you could add a flag that could be set from within the system to toggle the aliveness of the terminal region (so Emacs output by VO wouldn't read on top of Emacspeak output)?

Yeah that would make a lot of sense. Could be disabled while /dev/voiceover is open, for example. But then there are other things VO announces, like screen orientation and keypresses, and that's still going to conflict. There are probably not enough APIs to solve that perfectly. There is an API to automatically disable VO though.

/dev/voiceover

Maybe /dev/tts would be a better name? (this TTS is presumably independent of VO).

d

Out of interest, how do you find ish with voiceover, does it handle nicely, are you able to use nano/vim ok, what about other things like editing commands, or navigation with settings?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sirredbeard picture sirredbeard  路  3Comments

ghanan94 picture ghanan94  路  6Comments

fernandotcl picture fernandotcl  路  4Comments

cleverdevil picture cleverdevil  路  4Comments

saman1111111 picture saman1111111  路  4Comments