EscolarProgramming / NVDARemotePublic

Public repo for NVDARemote for iOS
8 stars 0 forks source link

System Text To Speech option doesn't work on M1 #12

Open pitermach opened 2 years ago

pitermach commented 2 years ago

STR:

Expected: Speech should work Actual: The app remains silent.

Tested with official App Store release under Mac OS 11.5 and compared against iOS 15 Public Beta on an iPhone. The reason this is probably happening, which I discovered while troubleshooting another app, is the Mac implementation of AVSpeechSynthesizer on Mac is bugged. If you make an utterance without specifying a voice, instead of just giving you a default, on Mac it just gives you null and if you try to speak with it nothing happens.

You could probably fix this by using the function to get a voice for the system language, but a better approach would be to just have an option to select a voice in the interface, which would also benefit everyone on iOS. On my phone it uses the Samantha compact voice and I'd prefer to switch to Alex on there as well.

EscolarProgramming commented 2 years ago

Hello, Thank you for your feedback. The app has no support for M1 Mac, nevertheless it's nice to hear that it partly works. I already get the system language voice (AVSpeechSynthesisVoice.FromLanguage(AVSpeechSynthesisVoice.CurrentLanguageCode)), but I'll try to implement a voice-switcher. The thing is, I don't have a M1 Mac, so it's try-and-error and you have to test it.

zersiax commented 2 years ago

Did you ever get anywhere with this, out of interest? I'd be happy to test builds, own a mac mini with m1 :)

pitermach commented 2 years ago

I just tried again and speech is still silent on Mac OS 12.1. I stand by what I said with having a voice selection being useful in general

ChrisDuffley commented 2 years ago

Can using the system voice in iOS be implemented instead? This way, speech rate can be adjustable and you won't need to use the ringtone to use TTS. I've seen so many apps use this that it's more than possible. You can even have a separate settings view to allow you to adjust the rate and volume. You can have speech events be cued with this method as well, so nothing will be skipped, similar to how NVDA would read out those events.

Christopher Duffley

Host of Mission Possible Podcast http://www.missionpossiblepodcast.com/

LINKS TO SUBSCRIBE:

iTunes https://itunes.apple.com/us/podcast/mission-possible-christopher/id1103092109?mt=2 | Stitcher http://www.stitcher.com/s?fid=88094&refid=stpr | Google Play https://goo.gl/app/playmusic?ibi=com.google.PlayMusic&isi=691797987&ius=googleplaymusic&link=https://play.google.com/music/m/Ik76dexklcprwnpuxbdr2s6bm3y?t=Mission_Possible_with_Christopher_Duffley | Follow Podcast On TuneIn And Listen To Latest Episode http://tunein.com/radio/Mission-Possible-With-Christopher-Duffley-p892505/

LIKE/FOLLOW Me:

Facebook http://facebook.com/christopherduffley | Twitter http://twitter.com/chrisduffley | YouTube http://youtube.com/christopherduffley | Instagram http://instagram.com/christopherduffley

On Jan 3, 2022, at 10:21, pitermach @.***> wrote:

I just tried again and speech is still silent on Mac OS 12.1. I stand by what I said with having a voice selection being useful in general

— Reply to this email directly, view it on GitHub https://github.com/EscolarProgramming/NVDARemotePublic/issues/12#issuecomment-1004203211, or unsubscribe https://github.com/notifications/unsubscribe-auth/APKCRX6JRW6VK44SWPNNSUDUUHEIHANCNFSM5AKD2ONA. You are receiving this because you are subscribed to this thread.

rperez030 commented 2 years ago

I also own an m1 Mac and would be happy to help test the feature on Mac OS.

MikeyBeez commented 1 year ago

The APIs that worked on Intel Macs don't work on M1 Macs. I think that's because TTS and STT use the ANE on M1 Macs. Apple has not updated their existing APIs for this. There must be a hidden API that Apple uses in house, and I think they're given it to Adobe but no one else.