After updating to the latest AnkiHub note types, my TTTS no longer uses the original voice. Instead, it switched to a completely different voice, which I didn’t configure. The voice is not stuck—it’s just wrong, and I can’t find any way to revert or tune it on Mac.
Questions:
Is this a bug introduced after the update?
On Mac, is there any way to manually select or change the TTTS voice Anki uses?
There have been a couple mentions of TTS voices sounding different after recent updates to iOS/macOS – e.g. Reddit - The heart of the internet . Did you also update your OS recently?
Is it a different voice, or is there something wrong with the voice?
Have you checked {{tts-voices:}} to make sure the voice you have selected is still available and the command to get it hasn’t changed?
In the VoiceOver Utility app, under Speech → Voices → Primary Voice → Samantha → Samantha, you can bring up a list of all available voices. Below the default “Samantha” voice, I see that there is an additional, better-sounding “Samantha (Enhanced)” voice that needs to be downloaded (by clicking on the “Samantha (Enhanced)” text).
did apple remove spoken content voices from Macos 26 now the selection is too small and only default voices are left premium and enhanced voices are no where to be found . any solution?
just updated to tahoe and now tts sucks because the pervious voices are gone and its making me really annoyed to go back to those robotic voices
Could it be that macOS 26 Tahoe users would need to download the “Samantha (Enhanced)” voice to get the Samantha voice to sound how it did in previous OS versions?
If I put in {{tts-voices:}} I only have HyperTTS and Microsoft_Zara as options for en_US.
Does it maybe have something to do with having HyperTTS downloaded? It worked fine before the update.
Have you already looked into the app itself and checked this problem for urself? Maybe you can fix it easily. Before I just had: {{tts en_US:Meaning}} and it worked completely fine on the app and the laptop alike. The voices were different though on the app and the Laptop.
If your list of available voices has changed – yes, you need to update your templates to match the available voices. Anki relies on 3rd party TTS functionality, so that command lists for you what is available on your device.
I use PC Anki (25.07.5) to make cards and IOS mobile Anki (25.09) to review. But recently the audio on my phone can’t play normally. The audio is heavily distorted. (PC is fine) At the same time, my IOS version is 26.0.1.
Yes, I updated my iphone and ipad to the lastest version 26.0.1. The sound is like a zombie’s voice, like the video on the reddit showing. I’ve tried {{tts-voices:}} already. But it failed.
I enabled the text-to-speech accessibility feature in iOS settings and tested it by using it to read text on a web page in Safari, and the audio sounded normal. This seems to suggest that the iOS tts engine itself is working fine. Could it be that a recent iOS update changed the API or something, and Anki needs to update accordingly?
What does that mean? Did the command not give you any results? Or did it give you results that didn’t help?
Anything is possible, but we haven’t seen anything to suggest that yet – and we’d hope that iOS isn’t making secret changes to its TTS functionality without publishing specs for developers to follow. Based on how few people have reported issues, this appears somewhat unique. Unfortunately that also make it hard to reproduce and fix.
I was able to reproduce the reported behavior in Anki (25.09.2) on macOS Tahoe 26.0.1. It occurs when you try to use a voice that is not listed in {{tts-voices:}}.
Steps to Reproduce:
In Anki, Browse and select a Note to use for testing, one with a field named “English”.
Press the Cards… button to edit the card templates.
Add “{{tts-voices:}}” to the top of the template.
In the card Preview, observe that in the list of TTS voices, one of the voices is “{{tts en_US voices=Apple_Samantha_(English_(US))}}”
In the template, replace “{{tts-voices:}}” with “{{tts en_US voices=Apple_Samantha_(English_(US)):English}}”.
In the Preview, press the Play button and observe that the voice sounds okay.
In the template, change “{{tts en_US voices=Apple_Samantha_(English_(US)):English}}” to “{{tts en_US voices=Apple_Samanthaa_(English_(US)):English}}”. (Note the typo, “Samanthaa” instead of “Samantha”.)
In the Preview, press the Play button and observe that the voice is different, sounding robotic.
So, it seems as if the default macOS 26 TTS voice (when the specified voice is not in the {{tts-voices:}} list) is that robotic-sounding voice.
Regarding the video in that Reddit post…
… I think that the voice is Apple TTS “Albert”, listed under the “Novelty” section (towards the bottom of the list of voices). So, it seems that the default iOS 26 TTS voice might be “Albert”.
You may be trying to use a non-existent TTS voice. There is no “en_US Apple_Alex” voice in the default {{tts-voices:}} list. There is an en_US Alex voice that exists, but it needs to be downloaded first (via VoiceOver Utility app on macOS or Settings → Accessibility on iOS) before it can be used.
Edit: Added:
The first time I used {{tts-voices:}}, I saw “{{tts en_US voices=Apple_Samantha}}” and that voice worked and sounded normal.
But, when I tested again, {{tts-voices:}} showed “{{tts en_US voices=Apple_Samantha_(English_(US))}}” instead, and the original “{{tts en_US voices=Apple_Samantha}}” was missing and trying to use that no-longer-listed voice sounded robotic.
Is the list of {{tts-voices:}} somehow intermittently changing?
I’m also seeing other strangeness in {{tts-voices:}} output, like some voices listed twice (duplicate lines).
The Mac output has some duplicate voices because the app gets the list of voices from the output of the say -v "?" command (per anki/qt/aqt/tts.py line 198.) The duplicates are in the say command output itself. (I think that the duplicates might be occuring because some voices are on 2 different lists, as both TTS voices and Siri voices.)
The iOS output has the language-country codes (incorrectly?) formatted with hyphens, while they are formatted with underscores on Mac: “en-US” vs. “en_US”
The iOS output has the text “:Front” incorrectly appended to the end of every voice name. I tested it, and the voice names work only when the extra “:Front” text is omitted.
Finally, note the different names on Mac vs. iOS for Majed, Reed, Rocko, Sandy, and Shelley.
For the “Samantha” voice, here is the output on:
Mac:
Note that the name for the Samantha voice is different on Mac and iOS.
I was able to work around the issue by including both names in my card template: {{tts en_US voices="Apple_Samantha_(English_(US)),Apple_Samantha":English}}. Doing so resulted in the correct Samantha voice being used on both Mac and iOS.
When the specified voice is not available, Anki seems to use the first voice listed in alphabetical order for the specified language. For en_US, that is the Apple_Albert voice by default. (Unless you have the optional Apple_Agnes voice installed. Apple_Agnes gets used instead since “Agnes” comes before “Albert” alphabetically.)
Finally, I fixed it. I used {{tts-voices:}} to test. Then the command showed available TTS voices, I chose one of them. It worked. Like the other said, {{tts en_US voice=Apple_Alex}} doesn’t exist in the lastest iOS version. I guess it only existed in the old versions. That’s why TTS switched to the wrong voices. Thank you so much.