Tang poetry · nine readers · one anthology, every test counted

The Tone That Went Missing

Tang regulated verse sets level tones against oblique ones by rule. Score the 213 quatrains and octaves of Three Hundred Tang Poems with the rhyme book of 1008 and the rules hold on 97% of tests; read them in Cantonese and they hold on 96%; read them in Mandarin and more than one test in ten fails. Nearly every failure Mandarin adds falls on the entering tone, the syllables that once ended in -p, -t or -k. Six more readers, predicted before the count: Hán-Việt and Hokkien keep the rules as the rhyme book does, Korean or Japanese readings mend Mandarin, and Hakka, read from its dictionary, breaks them almost as often as Mandarin, for a different reason.

Seven level tones in a row

This is Du Fu's poem on hearing that the government armies had retaken Henan and Hebei, 聞官軍收河南河北. Each square is one syllable, shaded by its tone class: level (平) or oblique (仄). The buttons swap the reader. The first is the Guangyun, a rhyme dictionary compiled in 1007 and 1008, which files every character under one of the four tones (some under more than one). The other two are how a Cantonese speaker and a Mandarin speaker read the same characters today. The second row holds six more readers, added on 7 November 2026 and explained below. The outlined squares are the positions the rules care about, and a red border marks a rule the reading breaks.

One poem, nine readers

added 7 November:

level 平 oblique 仄 listed in both no reading entering tone in 1008

Under Mandarin, the seventh line, 即從巴峽穿巫峽, comes out as seven level tones. Three of its syllables (即, 峽, 峽) are in the entering tone in the rhyme book, and Mandarin now says them with a rising tone, which counts as level. In the rhyme book the line passes every test that can be scored on it; the rule was built for a tone Mandarin no longer has. The Mandarin reading breaks three more rules on 看, “look”, in line 3, which both modern readers give an oblique tone (kàn in Mandarin, hon3 in Cantonese). The rhyme book lists 看 in both the level and the departing tone, so those three are left out of the count below.

What the rules ask

The four tones of Middle Chinese were called level, rising, departing and entering. Poets sorted them into two: level (平) on one side, and the other three, together called oblique (仄), on the other. Regulated verse (近體詩, the quatrain 絕句 and the eight-line 律詩) is defined by how those two alternate. The mnemonic says “一三五不論,二四六分明”: the first, third and fifth syllables do not matter, the second, fourth and sixth must be clear. The rules scored here are the textbook ones, as the Chinese Wikipedia states them.

Those five rules fix fewer syllables than they seem to. Pick the tone of the first line's second syllable and whether the first line rhymes, and they settle the rest of what they touch in a quatrain. Everything dashed below they leave free.

Two choices, and what the rules then force

line 1, second syllable:
line 1 rhymes:

All 213 quatrains and octaves

Three Hundred Tang Poems was compiled around 1763 by Sun Zhu and sorts its poems by form. Its four sections of five- and seven-syllable quatrains and octaves hold 213 poems, scored here as regulated verse, and every one of them fits the scoring. The old-style sections (古詩) are the control: many of the same poets, the same dynasty, and no tone rule. Some tests cannot be scored by every reader: a character listed in both a level and an oblique tone in 1008 (看, “look”, is one) could be either, so the table counts only the tests that all three readers can score. That leaves 3,396 of the 4,354 regulated tests.

Every test, every reader

In the regulated poems the rhyme book and Cantonese agree to within two points on every rule. Mandarin loses between eight and ten points on every rule except the rhyme, where it loses nothing. In the old-style poems the adhesion rule holds 54.9% of the time, close to what a coin would give: the rules are real, and they belong to the form, not to the language. One thing the control did not show was indifference to opposition: old-style couplets still set their second syllables against each other 79.0% of the time.

Where Mandarin breaks, and why

Of the tests that pass in the rhyme book and fail in Mandarin, 246 of 253 involve a syllable whose tone in 1008 was entering, and in 245 of them that syllable is the one Mandarin moved into the level class. (In the other, 莫 kept an oblique tone and 場 beside it changed.) In the regulated poems 984 syllables have only an entering reading. The Mandarin reader gives 368 of them a level tone and 615 an oblique one (and leaves one toneless). The Cantonese reader gives all 984 an oblique reading, because every one of them still ends in -p, -t or -k.

The syllables that did the breaking

Entering-tone syllables that Mandarin reads with a level tone, where that broke a rule, with the Mandarin reading and the number of failed tests each was part of. Choose one to open the first poem where it breaks a rule.

That the entering tone makes regulated verse misbehave in Mandarin is not news. The Chinese Wikipedia's article on the tone classes gives the standard example, the first line of another poem by Du Fu:

“由於現代标准官話裡沒有入聲,因此用現代标准官話唸詩,可能會出現「平仄不調」的情況。在以上例子中,雖然「國」字屬於入聲,但在現代标准官話裡卻是陽平聲(第二聲)。”

zh.wikipedia.org, 平仄 (fetched 2026-09-29). In English: because modern standard Mandarin has no entering tone, reading poems in it can make the tones come out wrong; 國 is entering, but in Mandarin it has the second tone, which is level.

Their example falls on the first syllable of the line, one of the positions the mnemonic leaves free, so it breaks nothing the rules check. What this page adds is the count at the positions that are checked, over one whole anthology, with the control and the second modern reader beside it.

What the rhyme book does not explain

The rules do not hold on every test even in 1008, and each kind of miss is worth seeing.

Poems that break no rule on the tests all three readers can score: 151 of 213 in the rhyme book, 136 in Cantonese, 65 in Mandarin.

What was predicted, before the count

The predictions were committed at 10:26 UTC on 29 September 2026, before any rate was computed, and are scored here as written.

Six more readers, predicted before the count

Added 7 November 2026. The question this page left open was whether other readers who kept the old stop endings would hear the rules as Cantonese does. Six more readers were added, and nine predictions about them were committed before any of them was scored (the pre-registration, landed at 00:47 UTC on 7 November as commit 3816e7e7; the results). The corpus, the five rules and the tests are the ones above, unchanged.

Hán-Việt, Hokkien and Hakka are dictionaries, not speakers: each takes the readings its source lists for a character (for Hokkien and Hakka, the literary ones where the source names them), and the mended readers take Mandarin's reading and every Korean or Japanese one. A character whose readings fall in both classes is left out of the count, as in the rhyme book. Each is scored on the tests that it, the rhyme book, Cantonese and Mandarin can all score, so every comparison below is like for like.

Every reader against the rhyme book

Four of the six hear the rules as the rhyme book does, or within a few tests of it. On the tests each can score, Hán-Việt falls short of the rhyme book by 0.0 points on R1 and R3 and passes two opposition tests more than the rhyme book on R2, and Hokkien falls short by 0.0, 0.0 and 0.0: of its 3,121 tests, not one that passes in the rhyme book fails in Hokkien. Mandarin mended with Korean falls short by 0.1, 0.2 and 0.6 points on R1, R2 and R3, and mended with Japanese in the old spelling by 0.1, −0.2 and 0.3. What the mending leaves are a few Mandarin readings it cannot reach: 場 read chǎng and 俱 read jù, which have nothing to do with the entering tone, and 值 read zhí, which reflects an entering reading the rhyme book of 1008 does not list (a later rhyme book, the Jiyun, does) and whose Korean reading, 치, keeps no ending.

Hakka was predicted to slip, by at least a point more than Cantonese and by less than half as much as Mandarin. It slipped much further. On its tests it falls 7.5 points short on R1, 10.2 on R2 and 9.8 on R3, against Mandarin's 8.4, 10.7 and 8.2 on the same tests: about as far, and on adhesion further. The cause is the one predicted. Of the 193 tests that pass in the rhyme book and fail in Hakka, 173 involve a syllable that had a rising tone and a voiced initial and that Hakka reads in a level tone. Hakka reads none of the old entering syllables only as level; it breaks the rules by having moved part of another tone into the level class.

Where Hakka breaks the rules

The syllables Hakka reads in the other class from the rhyme book, in the tests it fails and the rhyme book passes, with the Hakka reading and the number of tests. Choose one to open the first poem where it breaks a rule.

These are the readings the dictionary gives, and for Hakka that matters more than for the others. English Wiktionary names a literary reading for only 59 of the 1,987 corpus characters it gives Sixian readings for, so most of the readings here are the everyday ones. A paper by 呂嵩雁 among the Taiwan Ministry of Education's Hakka dictionary resources lists rising or departing literary readings beside the level everyday ones of 有, 語, 滿, 下, 近, 上 and 淡; a reciter who uses literary readings would avoid some of these breaks, and how many, this page does not measure. The Meixian readings, a second Hakka variety, slip the same way: 6.0, 8.6 and 7.4 points.

Who still hears the entering tone

Japanese in the new spelling slips where it was predicted to, and only there. Of the old entering syllables that ended in -p, the old spelling marks 115 of the 117 it reads one way as entering and the new spelling none of them; on -t and -k the two agree. So Mandarin mended with the new spelling falls 1.1 points short on R1, against 0.1 with the old, a difference of 1.04 points against the 1 predicted. The syllable that does more of the breaking than any other is 峽, the gorge in Du Fu's seventh line (10 tests): its go-on and kan-on readings were written げふ and かふ before 1946 and are now ぎょう and こう. In the first instrument, Mandarin mended with the old spelling turns both 峽 back to oblique; with the new spelling they stay level, and the line breaks the same tests it breaks in Mandarin.

What was predicted, before the count

Landed on main at 00:47 UTC on 7 November 2026, before any of these readers was scored, and scored here as written.

What these readers are not. Hán-Việt, Hokkien and Hakka are dictionaries, not speakers: they never make the choice a reciter makes between two readings, so they never get it wrong and never get credit for getting it right. Hán-Việt is one compiler's list, built from the dictionaries named in the sources below. Of its three readings that break a rule here, 婢 tỳ is the standard Hán-Việt reading; for 幡 the list gives only phướn, which the online Hán Nôm dictionary at hvdic.thivien.net, one of the list's own sources, gives as a Nôm reading beside the Hán-Việt phan and phiên; and for 榴 it keeps only lựu where that dictionary gives lưu and lựu. Hakka, Hokkien, Korean and Japanese are read from English Wiktionary, a dictionary written by volunteers. The mended readers start from the Mandarin reader's own choice of reading, and Korean or Japanese only correct it; they are not a way anyone reads a Tang poem, and measure only what a Mandarin reader gains by knowing a character's Korean or Japanese reading.

What this does not show

The rhyme book is not a recording. The Guangyun is a revision of the Qieyun of 601 and records which characters rhymed and which tone each was filed under; it does not say how the tones sounded, and their pitch is now hard to determine. The three readers are software: the rhyme-book reader is the qieyun package's Guangyun data, and the two modern readers are dictionaries that choose one reading for each character from its context. They make mistakes, and some show here: the Mandarin reader reads 乾 “dry” as qián, and where the Cantonese reader and the rhyme book disagree on a character, the commonest case is 斜 read ce3, which may be the software's reading rather than any speaker's. A character the rhyme book lists in both classes is never scored, which removes the hard cases along with the easy ones: 看 in Du Fu's third line is one, and both modern readers read it oblique where the rule needs it level. Thirteen characters could not be found in the rhyme-book data even through their variant forms and are not scored. The anthology here is one digital edition of one anthology.

Sources

  1. 唐詩三百首, in chinese-poetry/chinese-poetry, 蒙学/tangshisanbaishou.json, commit b8594f81 (MIT licence). GitHub.
  2. nk2028, qieyun 0.13.5 (CC0), a JavaScript library for the Qieyun phonological system; its data project describes its Guangyun table as the 澤存堂 edition with corrections. npm, data.
  3. CanCLID, to-jyutping 3.1.1 (BSD-2-Clause). npm. And pinyin-pro 3.29.4 (MIT). npm.
  4. Unicode Consortium, Unihan database, Unihan_Variants.txt, Unicode 18.0.0, for the variant forms. unicode.org.
  5. Wikipedia (Chinese): 近體詩, 律诗 (the special forms) and 平仄 (the Mandarin example), fetched 2026-09-29. 近體詩, 律诗, 平仄.
  6. Wikipedia (English): Four tones (Middle Chinese), Checked tone, Guangyun, Three Hundred Tang Poems, fetched 2026-09-29.
  7. Wikisource (Chinese): 月夜 (杜甫), 逢入京使, 無題 (相見時難別亦難), 長干行二首, 長干曲其二, for the five corrected characters, fetched 2026-09-29.
  8. English Wiktionary, the page of every character in the corpus, fetched 2026-11-07: Hakka (Sixian, in Pha̍k-fa-sṳ, and Meixian), Hokkien (in Pe̍h-ōe-jī, with its notes on literary and vernacular readings), Korean and Japanese (go-on and kan-on, in the old and the new spelling) readings. Wiktionary contributors, CC BY-SA 4.0; for that reason more-readers.json is offered under the same licence. An example page (峽).
  9. Phong Phan, hanviet-pinyin-wordlist, commit b9923df9 (MIT licence), the Hán-Việt reading of each character, compiled from Thiều Chửu's Hán Việt tự điển (1942), Trần Văn Chánh's Từ điển Hán Việt (1999), Nguyễn Quốc Hùng's Hán Việt tân từ điển (1975), Đặng Thế Kiệt's Hán Việt Từ Điển Trích Dẫn, hvdic.thivien.net and CC-CEDICT. GitHub.
  10. Unicode Consortium, Unihan database, Unihan_Readings.txt, Unicode 18.0.0: kHangul, kJapaneseOn and kTang (Hugh M. Stimson, T'ang Poetic Vocabulary, 1976), for the cross-checks. UAX #38.
  11. Wikipedia (English), fetched 2026-11-07: Vietnamese poetry, Vietnamese phonology, Checked tone, Varieties of Chinese, Hokkien, Literary and colloquial readings, Sino-Xenic vocabularies, Sino-Japanese vocabulary. Vietnamese poetry, Checked tone, Sino-Xenic vocabularies.
  12. Wikipedia (Chinese), fetched 2026-11-07: 客家話 (the rising tone read level) and 入聲 (一 in Korean). 客家話, 入聲.
  13. 呂嵩雁, 客家語的文白異讀, among the Taiwan Ministry of Education's Hakka dictionary resources, fetched 2026-11-07. PDF.
  14. Agency for Cultural Affairs (Japan), 現代仮名遣い: the preface and the table of older spellings, fetched 2026-11-07. preface, table.
  15. 漢典 (zdic.net), 值, for its Jiyun reading; and the Hán Nôm dictionary at hvdic.thivien.net, 婢, 幡 and 榴, fetched 2026-11-07. 值, 婢, 幡, 榴.
The claims record 127 claims re-read against their sources, 7 November 2026

Written 2026-09-29. Claims re-read against their sources on 2026-11-07: 127 checked, 64 confirmed, 14 wrong, 0 unverifiable, 49 first-hand observations checked against their record. By claude-funny-gauss-cnibdc, one agent on oversight/claims-pass.md (before publish, against def8149ce4); findings re-read against the kept sources by the author and fixed. Second pass 2026-11-07 for the section added that day: claude-tender-pascal-4yttxy, one agent on oversight/claims-pass.md (before landing, against f4ae2317), findings re-read against the sources and fixed.

Second pass, 2026-11-07, on the section added that day ("Six more readers, predicted before the count"), its dek sentence, sources and the `nov-` entries of the source record. Not yet deployed, so no live check. Reader check from empty scratch directories with the five served files: `AW_DIR=<dir> node verify-tang-poetry-tone-rules.mjs --mutate` exit 0, 143/143, 14/14 mutants (175/175 after the fixes below). 11 sentence-only figure edits went red; the ones that did not are finding 1. `node assay/sources.mjs tang-poetry-tone-rules --online`: every `nov-` excerpt with a kept copy is verbatim in it, and the kept copies match the live sources (the NOT FOUND and PARTIAL results are wikitext against rendered HTML, and the charset fault in the open note). Lines from this pass are marked by their sources and dated in the findings. First pass, 2026-09-29: not yet deployed, so no live check. Reader check from an empty scratch directory with the three served files: `AW_DIR=<dir> node verify-tang-poetry-tone-rules.mjs --mutate` exit 0, 71/71, 7/7 mutants (78/78 after the fixes below). 15 sentence-only figure mutations all went red except the verdict labels (finding 4, now checked). extract.mjs rerun in scratch reproduced readings.json byte-identical; the corpus sha256 matches upstream at b8594f81. `node assay/sources.mjs tang-poetry-tone-rules --online` NOT FOUND/PARTIAL results are wikitext markup against rendered HTML: every cited Wikipedia/Wikisource page fetched live with action=raw on 2026-09-29 is byte-identical to its kept copy, and every excerpt is in it. PREREGISTRATION.md is unchanged since 94a0e356.

Claims

What was done

The assay office: what a record is, and every layer re-read so far.