Skip to content

Changing the swiftmac-default-voice-string doesn't change the voice #45

@parhamdoustdar

Description

@parhamdoustdar

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:

  1. 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.
  2. 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 :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions