Cantonese text to speech on Mac — automatic, free voices, no cloud
Your Mac already speaks Cantonese. The voice is called Sinji, it’s free, and it runs entirely on-device — here’s how to switch it on, and how to make it automatic.
macOS has a real Cantonese voice built in
Buried in Apple’s voice catalogue is Sinji — Chinese (Hong Kong), a genuine Cantonese voice, not Mandarin with an accent. It ships with macOS, costs nothing, and never sends your text to a server. Most Cantonese speakers on the Mac simply don’t know it’s there, because macOS defaults Chinese speech to Mandarin (Tingting).
Install and choose the voice
- Open System Settings → Accessibility → Spoken Content.
- Click System Voice, then Manage Voices…
- Find Chinese (Hong Kong) and download Sinji. Grab the higher-quality version — it’s a bigger download but noticeably more natural, and still free.
- Select Sinji as the system voice if you mainly want Cantonese.
With Speak Selection enabled on the same settings pane, selecting Chinese text and pressing ⌥⎋ now speaks it in Cantonese — in apps that support Speak Selection, at least (some don’t).
For the curious: Cantonese from the Terminal
The say command can use any installed voice directly:
say -v Sinji "唔該晒,聽日見!"
List every voice on your Mac, with their languages, like this:
say -v '?'
You’ll see Sinji listed under zh_HK once it’s installed. say -v Tingting gives you the Mandarin voice the same way.
The catch: macOS won’t switch voices for you
Here’s where the built-in tools stop short. macOS speaks with one system voice at a time. Set Sinji and your English email gets read in a Cantonese accent; set an English voice and 你好 comes out wrong or not at all. And Speak Selection can’t tell Traditional Chinese (what Cantonese speakers read) from Simplified — so there’s no way to say “Traditional → Cantonese, Simplified → Mandarin.” You end up flipping the system voice back and forth in System Settings, which nobody does twice.
The automatic way: copy it, hear it. ClipSpeak is a tiny menu bar app that reads whatever you copy aloud and picks the voice per snippet: copy Traditional Chinese and it speaks Cantonese (Sinji), copy Simplified and it speaks Mandarin, copy English, Japanese or Korean and it switches again — no settings to flip. It works in every app because it listens to ⌘C, uses the same free on-device Apple voices, and keeps a searchable history of your copies you can replay aloud. US$4.99 once, no subscription, no cloud.
Quick reference
- Cantonese voice: Sinji — Chinese (Hong Kong), free, on-device.
- Install: System Settings → Accessibility → Spoken Content → System Voice → Manage Voices… → Chinese (Hong Kong).
- Terminal:
say -v Sinji "你好"· list voices withsay -v '?'. - Automatic per-language switching: not built into macOS — that’s what ClipSpeak adds.