tibOin / macos_speech

Ever wanted to leverage the macOS builtin speech synthesis directly into python ? Or just make your code talk...
MIT License
3 stars 0 forks source link

Alex has gone #2

Open Mikedafish opened 10 months ago

Mikedafish commented 10 months ago

Just spent a couple of hours trying to figure out why I was getting "AttributeError: 'Synthesizer' object has no attribute '_voice'". (In the process I learnt a bit about the @propery decorator and getters/setters so Thanks!) I am running Mac OS ventura (configured for French) on a 2020 iMac and Python 3.9 from MacPorts

Tried switching language to English, same problem. Turns out that the 'Alex' Voice was dropped in Ventura**. Switched to Thomas voice and it worked. Reinstalled Alex voice as per https://applevis.com/forum/macos-mac-apps/not-seeing-alex-mac-os-ventura Cannot thing of a cure to handle multi language/multi Version but you could add a 'voice not available' warning?'

tibOin commented 1 month ago

Hey! Thanks for your feedback.

It's been a while since I last touched this library, and obviously I didn't follow macOS speech evolutions.

Alex is gone. But there are still other voices available that you can get list through Synthesizer.voices. These voices aren't Siri voices.

To get Siri voice for your language, just leave the voice parameter empty and it will use the default voice of the system (which is Siri localized).

I will think about implementing a check at Synthesizer initialization and voice setting to verify that selected voice is actually available.

Sorry for answering that late. I didn't saw that notification.

PS : I'm glad you could have learnt about properties getters/setters. To be honest, I didn't even remember I used it... ^^