Speech and audio
Acoustic Units, Phonemes, Characters, and Subwords
Compare phonetic, graphemic, character, word, byte, and subword units for speech recognition.
By the end you can
- Define acoustic units, phonemes, characters, and subwords as an operational problem with explicit inputs, outputs, and boundaries
- Distinguish phone or phoneme units, characters or bytes, and subword units without treating them as interchangeable
- Trace the workflow from map the writing and sound systems through evaluate rare forms
- Evaluate acoustic units, phonemes, characters, and subwords using tokens per second and sequence length and evidence from difficult deployment slices
Every unit moves the rare-word problem
Two things are fixed the moment you choose the output units of an ASR system: the sequence the model learns, and how finely it can handle a form it has never seen. Machine translation stated the problem first, and most compactly. A 2016 paper opens with the sentence the whole subject turns on: “Neural machine translation (NMT) models typically operate with a fixed vocabulary, but translation is an open-vocabulary problem.” Sennrich and two colleagues wrote it. Their fix was to build words out of smaller learned pieces — byte-pair encoding. Three kinds of word drove it: names, handled by character copying or transliteration; compounds, handled by compositional translation; and cognates and loanwords. Against a back-off dictionary baseline, their subword models gained up to 1.1 BLEU on the WMT 15 English-German task and up to 1.3 BLEU on English-Russian. That is what "subword units arrived from machine translation in 2016" actually amounts to. A named baseline, two language pairs, and gains of that size.
There is no single inventory to reach for. The choice changes what the model can even be wrong about. CMUdict ships 39 phones and 135,166 entries for English. The CTC experiments on TIMIT worked over a different inventory again, and the 2006 paper prints its exact size: “The input layer was size 26, the softmax output layer size 62 (61 phoneme categories plus the blank label), and the total number of weights was 114,662.” The blank is a real output unit, not a notational aside. The BLSTM/HMM hybrid they compared against had 61 units instead of 62 precisely because it carried no blank label. With prefix-search decoding, CTC reached a label error rate of 30.51% ± 0.19. The context-dependent HMM reached 35.21%, the hybrid 33.84% ± 0.06.
Three inventories — 39 phones, 61 phoneme categories plus a blank, a learned subword vocabulary — and three different things being counted. Each one moves the rare-word problem rather than removing it. Phones can encode pronunciation structure. Characters and bytes give an open vocabulary. Subwords trade sequence length against pieces that can be reused. None of the three solves the ways languages vary. Orthography, pronunciation, script, morphology, code-switching, text normalization and training coverage go on deciding whether a sequence is learnable, whatever inventory sits on the output side. Which is why the choice starts earlier than the architecture.
Switching units relocates rare-word failure rather than shrinking it; the question is where you can afford to absorb the cost.
Visual
Start from the script, not the model
Earlier means starting from the languages rather than the model. A writing system, a sound system, the modeling choice and the evaluation of rare forms are four separate decisions. The path below keeps them in that order instead of collapsing them into one score.
The order is what protects you. Whatever mapping you assume between the marks on the page and the sounds underneath is assumed before any unit is chosen, and rare-form evaluation then runs on top of it. One language can be mapped two ways and give you two different systems. That is what Sainath and colleagues did in 2018. Their grapheme systems were built on 74 symbols. Their phoneme systems used 45 context-independent phonemes for US English, and a unified set of 50 for the multi-dialect model. Those counts are the first decision, not the last, and every later number is quoted relative to them. Get the mapping wrong and the evaluation does not come back saying so. It comes back as a number, a little worse than the last number, with nothing attached to say which of the four decisions produced it.
The four steps, in order: map the writing and sound systems, documenting script, pronunciation variation, word boundaries, morphology and borrowed forms; choose candidate units, comparing phones, graphemes, characters, bytes and learned subwords; design the lexicon or tokenizer, controlling unknowns, reserved symbols, normalization and multilingual sharing; then evaluate rare forms — names, compounds, dialects, code-switching, unseen vocabulary.
Map the writing and sound systems
Document script, pronunciation variation, word boundaries, morphology, and borrowed forms.
Choose candidate units
Compare phones, graphemes, characters, bytes, and learned subwords.
Design lexicon or tokenizer
Control unknowns, reserved symbols, normalization, and multilingual sharing.
Evaluate rare forms
Test names, compounds, dialects, code-switching, and unseen vocabulary.
Rare-form evaluation runs on top of the writing and sound systems you mapped, so a mapping error reads as a score.
Example
A fixed vocabulary handled common text and failed on names, compounds and loanwords
The clearest published version of that collapse is the one the 2016 subword paper set out to fix. A fixed vocabulary handles frequent forms accurately and has nothing to write for the rest. The words a system most needs to get right — names, compounds, cognates and loanwords — are precisely the words a closed vocabulary cannot spell. The remedy was to stop treating the word as the smallest unit. Rare and unknown words were segmented instead into pieces learned by byte-pair encoding. The comparison reported is against a back-off dictionary baseline, on the WMT 15 English-German and English-Russian tasks, with gains of up to 1.1 and 1.3 BLEU.
That is a modest-looking pair of numbers for a change that alters what the system can represent at all. It is also the shape of the trade every ASR team meets. Smaller units improve coverage. They also lengthen the output sequence, and they leave pronunciation ambiguity untouched. Smaller pieces let a system write down a name it was never trained on. They do not tell it which name it heard. Measured only by tokens per second and sequence length, the switch reads as a straight cost increase. Neither of those two numbers records what was bought.
- The decision in front of an ASR team is the one this lesson is about — how phonetic, graphemic, character, word, byte and subword units compare as the output of a speech recognizer.
- The forms that motivated subword units in 2016 are the same forms that break recognizers: names, handled by character copying or transliteration; compounds, handled by compositional translation; and cognates and loanwords.
- The gain is real but small in the headline metric — up to 1.1 BLEU on WMT 15 English-German and up to 1.3 on English-Russian over a back-off dictionary. The qualitative change, an open vocabulary, does not appear in that metric at all.
- The failure that leaves no trace is a vocabulary fitted on the evaluation text, or on text the system will only meet in the future. It inflates exactly the rare-word results the switch was meant to prove.
Example
A grapheme belongs to a script
Fixed vocabulary, open vocabulary, subword, phoneme — the 2016 framing is easy to repeat loosely, and loose repetition is where this subject goes wrong. A grapheme and a phoneme are not two words for one unit. One belongs to a script, the other to a sound system. The 2018 comparison keeps them apart by counting them separately: 74 grapheme symbols against 45 context-independent phonemes for US English. Subword and open vocabulary are not two words for one idea either. They describe what a model can still represent when it meets a word it has never seen. Treat any two of them as one and three things shift at once — the proof you owe, the unit you measure it in, and the person who gets to decide.
- A grapheme is a written symbol, or unit, that belongs to a particular script; the 2018 grapheme systems used 74 of them.
- A phoneme is a contrastive sound category — a unit of a language's sound system rather than of its writing. CMUdict uses 39 for English; the 2018 systems used 45 context-independent phonemes for US English and a unified set of 50 across dialects; the 2006 TIMIT experiments used 61 categories plus a blank.
- A subword is a token, learned or designed, smaller than many words but larger than a single character; the streaming RNN-transducer of Rao and colleagues was trained with 30,000 wordpieces as output targets.
- An open vocabulary is the ability to represent word forms never seen before by assembling them from smaller units — exactly what the fixed vocabulary of the 2016 paper could not do.
Example
The unit choice reaches four different products
One published comparison sits under one set of pressures. Change the product and the same six-way comparison pulls in a different direction. None of the four cases below inherits another team's answer, or the proof behind it.
- In multilingual ASR, a shared inventory can carry learning across languages. Transcripts can be modelled as UTF-8 variable-length byte sequences rather than as characters, subwords or words. Li and colleagues did exactly that, and their multilingual byte model beat each single-language baseline by 4.4% relatively on average, and by 38.6% relatively on Japanese-English code-switching speech. The 2019 abstract puts it plainly: “We show that bytes are superior to grapheme characters over a wide variety of languages in monolingual end-to-end speech recognition.”
- In domain ASR, subwords take new terminology more gracefully than a closed word vocabulary does. Graphemes and subword units were compared in a streaming recognizer in 2017, by Rao and colleagues, and wordpieces significantly reduced substitution errors.
- In streaming, the longer output sequences that smaller units produce are paid for in decoder work and latency, and the wordpiece vocabulary size is the dial: “The best RNN-T system, a twelve-layer LSTM encoder with a two-layer LSTM decoder trained with 30,000 wordpieces as output targets achieves a word error rate of 8.5% on voice-search and 5.2% on voice-dictation tasks and is comparable to a state-of-the-art baseline at 8.3% on voice-search and 5.4% voice-dictation.”
- For pronunciation-rich languages, phonetic resources may genuinely help — the 2018 error analysis found the hand-designed lexica helping on proper nouns and rare words. The price is a lexicon of 45 or 50 phonemes that somebody then has to maintain, and the dialect costs recorded in the next section.
Key idea
One privileged pronunciation, written into the lexicon
A lexicon somebody maintains is a lexicon somebody writes, and that is where the third of the following begins. Unit choices look harmless until one of four things happens, and each marks a boundary that no output-unit scheme escapes on its own.
The first is a vocabulary fitted on evaluation or future text. The second is tokenizer fragmentation that concentrates on certain languages or certain names. The third is a phone lexicon that writes one privileged pronunciation down as the pronunciation. The fourth is reporting WER without ever looking underneath it at unit-level and rare-word errors.
The third is the one with a published price tag. Phoneme and grapheme output units were compared under matched architectures in 2018, by Sainath and colleagues, in a paper called No Need for a Lexicon?. On a five-dialect English system the phoneme system was worse on every dialect. Grapheme against phoneme WER: 18.4 against 31.6 for India, 14.1 against 18.1 for Britain, 13.8 against 18.6 for South Africa, 34.5 against 39.0 for Nigeria & Ghana, and 19.9 against 24.8 for Kenya. Thirteen WER points on Indian English is what one written-down pronunciation inventory cost there. And the trade does not run one way. The same paper reports pronunciation errors from the grapheme side on names — "Reese" written as "Rhys", "Allison" as "Alison" — and its conclusions say so: “Error analysis shows that the grapheme systems lose on proper nouns and rare words, where the hand-designed lexica help.”
What the four failures have in common is that the unit inventory is being asked to absorb a problem it did not create. A spelling convention, a regional pronunciation, a script, a morpheme boundary, a switch into another language mid-sentence, a normalization rule, a language thin in training coverage — each reaches the model as a sequence the units have to represent. The scheme you chose only decides where the damage lands.
A lexicon that privileges one pronunciation cost 13 WER points on Indian English and still saved the proper nouns; no unit scheme repairs that trade, it only relocates it.
Example
Fragmentation is not spread evenly across languages
Fragmentation is the second of those four and the one that hides best, because it does not spread evenly. It has also been measured. One text, translated into several languages, does not come out the same length in tokens. A 2023 study of language model tokenizers reports the spread: “The same text translated into different languages can have drastically different tokenization lengths, with differences up to 15 times in some cases.” The obvious escape does not work. Even character-level and byte-level models still showed over 4 times the difference in encoding length for some language pairs. Dropping to smaller units narrows the disparity. It does not remove it.
An average taken over a whole corpus is the wrong instrument for a cost that lands on one language, one dialect or one domain. The sharpest demonstration of that is a dialect slice, not a language one. Five commercial ASR systems — Amazon, Apple, Google, IBM, Microsoft — were tested on 19.8 hours of audio from 42 white and 73 black speakers: 2,141 matched snippets per group, 4,282 in total, averaging 17 seconds each. Koenecke and colleagues published the result in PNAS in 2020: “We found that all five ASR systems exhibited substantial racial disparities, with an average word error rate (WER) of 0.35 for black speakers compared with 0.19 for white speakers.” Five deployed systems, matched audio, and a gap that no headline corpus average would have shown.
So report the numbers with their provenance attached. Spell out the unit, the corpus it was counted over, how uncertain the count is, and the decoding setup it was taken under, with unknown or fallback frequency beside it.
- The core task evidence is tokens per second and sequence length — the two quantities a unit switch is usually judged on, and the two that record none of what it bought.
- System behavior shows up as unknown or fallback frequency — how often the recognizer falls back instead of writing the form it heard.
- The robustness slice is error on rare words, on names and on morphology, measured on those forms rather than averaged away: 0.35 against 0.19 across five commercial systems is what a slice reports and an average does not.
- The lifecycle evidence is tokenizer fragmentation broken out by language, dialect and domain — up to 15 times between languages, and still over 4 times for some pairs even at character and byte level.
Tokens per second and sequence length belong on the same page as a 15x fragmentation spread and a 0.35-against-0.19 dialect slice; either half on its own reads as good news.
Steps
Audit an ASR vocabulary
The document that would have caught these failures before launch is a short one. An ASR vocabulary audit holds data and model budget still and moves the units alone. That is what makes the 2018 dialect table readable at all: matched architectures, one variable changed, 74 grapheme symbols against 45 or 50 phonemes, and the WER difference attributable to that. The audit is written to be used against you. Another team should be able to pick it up and challenge a vocabulary fitted on text it should never have seen. Three things go into it: what your mapping between writing and sound assumes, one counterexample that would break that assumption — a proper noun of the "Reese" and "Rhys" kind, if names are what you sell — and what a check on rare forms triggers when it fails.
Four steps. Collect hard text: names, numbers, compounds, code-switches, spelling variants. Tokenize and count, measuring fragmentation, unknowns and sequence expansion. Inspect the pronunciation assumptions, comparing written and spoken forms across communities. Then run a unit ablation, holding data and model budget stable while changing only the output unit.
1. Collect hard text
Include names, numbers, compounds, code-switches, and spelling variants.
2. Tokenize and count
Measure fragmentation, unknowns, and sequence expansion.
3. Inspect pronunciation assumptions
Compare written and spoken forms across communities.
4. Run a unit ablation
Hold data and model budget stable while changing only the output unit.
Change one variable or the audit proves nothing: with data and model budget held still, a shift in rare-word errors belongs to the output unit and to nothing else.
Key takeaways
- Fixing the output units fixes the sequence the model learns and how finely it can handle a form it has never seen. 39 CMUdict phones, 61 phoneme categories plus a blank, or 30,000 wordpieces are three different answers to one question, asked before the rare word arrives.
- Whatever inventory sits on the output side, orthography, pronunciation, script, morphology, code-switching, normalization and thin training coverage keep working on the sequence. Even byte-level models still showed over 4 times the encoding-length difference for some language pairs.
- Start from the orthography and pronunciation of the languages you actually have. The 2018 systems fixed that mapping first, at 74 grapheme symbols or 45 to 50 phonemes, and every later number is quoted relative to it.
- Phone or phoneme units, characters or bytes, and subwords answer related but different questions. Phonemes cost 13 WER points on Indian English and still saved the proper nouns the grapheme system spelled as "Rhys".
- A vocabulary built from evaluation or future text leaks the answers into the test. It flatters exactly the rare-word results you were trying to check — the results the 2016 subword gains of up to 1.1 and 1.3 BLEU were measured to establish.
- Tokens per second and sequence length only mean something beside fragmentation by language, dialect and domain: up to 15 times between languages, and 0.35 against 0.19 WER across five commercial systems.