Speak a sentence in Cantonese and ask for it back as text, and there is no single right answer to what you should see — which is exactly why most dictation gets it wrong. Cantonese has a genuine diglossia: it is spoken one way and, by convention, written another. The words that leave your mouth in Hong Kong or Guangzhou — 係, 唔係, 嘅, 喺, 佢 — are the natural spoken language, but a great deal of formal Cantonese writing doesn't use them at all. It uses Standard Written Chinese, which follows Mandarin grammar and vocabulary and reads quite differently from how anyone actually talks. So a Cantonese speaker dictating isn't just asking a tool to hear correctly. They're asking it to decide which written language to produce — and most tools don't even know the question exists.
Two languages living in one speaker
The gap is structural, not stylistic. Say "I'm not too sure" in everyday Cantonese and it comes out 我唔係好清楚 — with 唔係 for "am not" and the colloquial shape of the whole sentence. Write the same thought in Standard Written Chinese, the register used for reports, news, and most professional documents, and it becomes 我不太清楚 — different negation (不 instead of 唔), different phrasing, a sentence no one would speak aloud in Cantonese but everyone reads without blinking. Both are correct. They serve different purposes. A chat message to a friend wants the first; a memo to a client usually wants the second. This is not formal-versus-casual tone, the way English has; it is two overlapping written systems that a single speaker moves between depending on where the text is going.
The mangled in-between
Because most speech models were trained where Mandarin and Standard Written Chinese dominate — the same statistical pull that shapes Chinese dictation on a Mac in general — they tend to reach for the written-standard vocabulary, but they were fed Cantonese audio, so fragments of the spoken form leak through. The result is an in-between that belongs to neither register. You dictate a clean colloquial sentence and get back something that has swapped 唔 for 不 in one place but kept 嘅 in another, or rendered 係 as 是 while leaving a sentence-final particle stranded. It isn't misheard — the meaning survives — but it reads like a document that can't decide what language it's in. To a Hong Kong writer this is immediately obvious, the written equivalent of a sentence that changes accent halfway through. And it is the specific failure of pretending the diglossia isn't there: forced to pick and given no signal about intent, the model produces an average of two answers instead of one of them.
The particles carry the meaning
The spoken-Cantonese words a naive model treats as noise to be normalized away are often the load-bearing parts of the sentence. 嘅 marks possession and modification the way 的 does in the written standard, but they are not interchangeable in a Cantonese-native sentence. 喺 means "at / located in" and has no clean one-character equivalent that a speaker would say. 佢 is the everyday third-person pronoun where formal writing uses 他 or 她. And the sentence-final particles — 啦, 喎, 咩, 㗎 — do real grammatical and emotional work, turning a statement into a question, softening a command, marking surprise. Flatten 佢係唔係去咗啊 into standard-written 他是不是去了 and you've kept the propositional content but thrown away the texture that made it Cantonese. For someone writing to another Cantonese speaker, that texture is the point.
Traditional characters and Hong Kong vocabulary
Layered on top of the register question are two more things a Cantonese-aware tool has to get right, both easy to miss if Cantonese is treated as a variant bolted onto a Mandarin pipeline. Hong Kong and Macau write in traditional characters, not simplified — so 車, 門, 學 in their full forms, and output that comes back simplified reads as foreign no matter which register it's in. And Hong Kong has its own vocabulary for modern things: a taxi is 的士, a bus is 巴士, "to take / ride" leans on 搭, and everyday terms diverge from both the mainland and Taiwan. Hong Kong speech also slips between Cantonese and English constantly, which is the code-switching problem layered on top of the register one. A speaker who says 搭的士 and gets back a mainland-flavored equivalent hasn't received a transcription — they've received a partial translation into a register and a regional vocabulary they didn't ask for.
Intent is a setting, not a guess
Getting Cantonese right therefore starts before the first character is committed, by knowing what the writer is trying to produce. The same spoken sentence legitimately has two correct outputs — the verbatim colloquial form for chat and messaging, or Standard Written Chinese for formal work — and no amount of cleverness lets a tool infer from the audio alone which one you want, because the audio is identical either way. That makes it a property of intent, something the writer decides, not something the model divines. Doing Cantonese correctly means treating the written target as a deliberate choice tied to the person and the task: keep the spoken form faithfully, particles and 係/唔係/嘅 intact, when the destination is casual; resolve into standard written characters and grammar when the destination is formal — always in traditional characters, always with Hong Kong usage as the baseline for a Hong Kong speaker.
Why "supports Cantonese" isn't the claim that matters
A tool can list Cantonese, hear your sentence perfectly, and still hand you the wrong written language — a standard-written flattening when you wanted your own voice, or a half-converted muddle that's neither. The feature list can't warn you about this, because the list has no column for diglossia; it says "Cantonese" and stops. One real session — trying the practical ways to dictate on a Mac with your own voice — will tell you what the list can't. Dictate a sentence the way you'd actually say it — 我唔係好清楚佢去咗邊 — and read what comes back. Is it the spoken Cantonese you meant, in traditional characters, with the particles alive? Or a written-standard approximation that erased how you talk? That question, not the number of languages a tool counts, is what separates one that supports Cantonese from one that supports yours.