This issue came up with the latest MacOS update, where Alex doesn't seem to be available, Setting the voice to another TTS like this didn't work either:
(setq swiftmac-default-voice-string "[{voice :com.apple.eloquence.en-US.Eddy}] [[pitch 1]]")
After debugging this, I found that the hashmap of defined voices doesn't get updated when this variable is changed.
I propose:
- Changing the
swiftmac-default-voice-string into a custom using defcustom, and changing it to a more user-friendly name. This solves two problems: it makes changing the voice easier using Emacs' intuitive custom interface, and allows us to update the table of voices on change.
- Define a
set property on the custom definition, which calls swiftmac-define-voice with the new value.
Voila! Now the user doesn't have to dig into the guts of the swiftmac-voices.el and dtk-speak.el to change their default voice :-)
This issue came up with the latest MacOS update, where Alex doesn't seem to be available, Setting the voice to another TTS like this didn't work either:
After debugging this, I found that the hashmap of defined voices doesn't get updated when this variable is changed.
I propose:
swiftmac-default-voice-stringinto a custom using defcustom, and changing it to a more user-friendly name. This solves two problems: it makes changing the voice easier using Emacs' intuitive custom interface, and allows us to update the table of voices on change.setproperty on the custom definition, which callsswiftmac-define-voicewith the new value.Voila! Now the user doesn't have to dig into the guts of the
swiftmac-voices.elanddtk-speak.elto change their default voice :-)