SnailText
EN

Thai transcription

Thai transcription, running on your own machine

Dictate in Thai into any app on Mac or Windows. One thing to know first: you get Thai text, but not reliably separated Thai words. SnailText runs Whisper locally, so nothing is uploaded.

Download for Macand start dictating in any app
cursor.txt
กำลังพูด…
▍
Done

The short version

In the Whisper paper (Radford et al., 2022, arXiv:2212.04356), the large-v2 model scores 11.5% on Thai FLEURS - and that is a character error rate, not a word error rate. The paper inserts spaces between characters for languages written without word spaces, Thai among them, so what is reported as WER is effectively CER. The practical consequence matters more than the number: Whisper produces readable Thai text but is not a Thai word segmenter, so you do not get words separated the way you might expect, and you will need a dedicated Thai segmenter afterwards if your workflow depends on that. SnailText runs the model locally on Mac and Windows with no Thai-specific tuning layer, and this page tells you the limitation up front rather than after you install.

Thai dictation: local Whisper vs cloud STT

SnailText (local)Typical cloud Thai STT
Where audio goesStays on your device, in RAMUploaded to a server for every phrase
Works offlineYes, after the model downloads onceNo, needs a connection every time
Readable Thai textYesYes
Reliable word segmentationNo - Whisper is not a Thai segmenterVaries; some vendors add a segmenter
Thai-specific tuningNone - same open model as any local Whisper setupSome vendors tune per language, most run stock
Account / costNo account to startAccount + per-minute or per-seat billing

How accurate is Thai speech to text with local Whisper?

In the Whisper paper itself (arXiv:2212.04356), the large-v2 model scores 11.5% on Thai FLEURS. The paper's table is captioned as word error rate, but its appendix explains that for languages written without spaces between words - Chinese, Japanese, Thai, Lao and Burmese - spaces are inserted between individual characters before scoring, which effectively measures the character error rate instead. So 11.5% for Thai and 13.3% for Czech are not the same kind of measurement and should not be ranked against each other.

Independent work on Thai evaluation reinforces how badly this can go wrong. One analysis of evaluation pipelines found that standard text normalisation renders Thai unusable through excessive spacing, and the authors excluded Thai from word-error comparisons altogether on the grounds that character error rate is the metric reported for languages where the space is not a word delimiter.

Accuracy tracks model size far more than it tracks local versus cloud. It is also fair to note that specialised Thai fine-tunes of Whisper exist, which is a signal that the community considers the base model improvable for Thai rather than finished.

What makes Thai genuinely hard for speech models

Thai is written without spaces between words, and segmentation is not solved. Research on Thai speech recognition states the problem plainly: Thai ASR still faces challenges due to the lack of spaces in Thai sentences, and Thai admits several written forms for the same spoken word - numerals, the repetition marker, borrowed words - so transcripts have to be normalised to a single form before they can even be compared. The direct answer to the obvious question is that Whisper emits Thai text but does not provide reliable word boundaries. It is a speech model, not a Thai word segmenter.

What that means in practice. You get Thai text you can read and edit, not text with dependable word boundaries. If your workflow needs segmented Thai words - for indexing, for word counts, for alignment - you will need a dedicated Thai segmenter after us. SnailText produces timing per speech segment rather than per word, so it is not a tool for word-level alignment in any language, and Thai is where that matters most.

Tone is encoded by a combination of factors, not one mark. Thai tone comes from the consonant class, the vowel length and the tone marks together, rather than from a single diacritic. Thai vowel signs also belong to the Unicode mark category, which is why naive text normalisation strips them and corrupts the text.

What we actually offer for Thai, and what we do not

For Spanish, German, French, Portuguese and Dutch, SnailText ships a language-specific prompt. For Thai we do not. There is no Thai tuning layer, no Thai cleanup pass, no Thai fine-tune and no word segmenter. If your workflow depends on properly segmented Thai words, this is the wrong tool and we would rather say so here than have you find out later.

What SnailText does give you is the best open Thai speech model running entirely on your own hardware, with a global hotkey that pastes text at your cursor in any app, and audio that never leaves your machine. For dictating Thai into a document or a chat window, where you read and edit the text yourself, that works fine.

Expect to review the output. Between the segmentation behaviour and the error rate, Thai is one of the languages where proofreading is part of the workflow rather than an occasional check.

One practical tip: set the dictation language to Thai explicitly rather than leaving it on automatic. Whisper decides the language from roughly the first thirty seconds and does not revisit that decision.

Talk instead of typing

Download for Mac

and start dictating in any app

Frequently asked questions

How accurate is Thai speech to text?

+

In the Whisper paper (arXiv:2212.04356), the large-v2 model scores 11.5% on Thai FLEURS. That is a character error rate rather than a word error rate: the paper inserts spaces between characters for languages written without word spaces, Thai included, which effectively measures CER. So it should not be ranked directly against the word error rates quoted for European languages.

Does it separate Thai words properly?

+

No. Whisper produces readable Thai text but is not a Thai word segmenter, and Thai is written without spaces between words. Research on Thai ASR names the lack of spaces as an open challenge. If your workflow needs properly segmented Thai words, this is the wrong tool for it.

Can I get word-level timings for Thai?

+

No. SnailText produces timing per speech segment, not per word, in every language - it is a dictation tool rather than an alignment tool. For Thai this matters more than elsewhere, because the language is written without spaces between words, so there is no dependable word boundary to time against in the first place.

Do you tune SnailText specifically for Thai?

+

No. There is no Thai tuning layer, no Thai cleanup pass, no Thai fine-tune and no word segmenter. For Thai you get the same open Whisper model everyone runs, locally and privately. Specialised Thai fine-tunes of Whisper do exist in the community, which suggests the base model is considered improvable for Thai.

Is Thai dictation good enough for everyday use?

+

For dictating into a document or chat where you read and edit the text yourself, it works. For anything needing segmented words or word-level timing it does not. Proofreading is part of the workflow for Thai rather than an occasional check.

Does Thai dictation work offline?

+

Yes. SnailText runs the Whisper speech model on your own Mac or Windows machine, so Thai dictation works with no internet connection once the model has downloaded. The audio is processed in RAM and is never uploaded to any server.

·

Thai speech to text, on your own machine.

Free to start on Mac and Windows. Press Option+Space (Mac) / Ctrl+Space (Windows), speak Thai, and the text lands at your cursor in any app. No account, nothing uploaded, works offline.

Download for Macand start dictating in any app