Yesterday I published my third research paper on Zenodo. It showed that Japanese AI-generated text swings its sentence lengths far less than human text does, and that all seven models I tested drift the same direction. I called the phenomenon a "machine accent."
One thing kept nagging at me after publishing. An accent belongs to the speaker. It follows you into whatever language you attempt. But all I had measured was Japanese. If the monotony vanished in English or Portuguese, my "accent" was never an accent. It was a fact about Japanese.
A name like that has to earn its metaphor.
So today I published paper number four. These are the field notes, landmines included, same as last time.
The setup
Two hypotheses. H1: if the accent is real, AI monotonization shows up in English and Portuguese with the same direction (d < 0) on every model. H2: the direction holds but the magnitude may differ by language.
The human corpora had to be pre-ChatGPT. For English I took 853 of Dev.to's all-time most popular posts, January 2019 through October 2022. If you wrote a well-liked Dev.to post back then, congratulations: you are now a scientific baseline.
Portuguese got lucky. TabNews, the Brazilian dev forum, opened in May 2022. ChatGPT landed November 30 of the same year. That leaves a seven-month window where every post is guaranteed human, so I took the entire window: 403 posts. Short, but airtight.
The AI side is 7 models × 10 themes × 5 attempts × 2 languages, using the same zero-shot prompt as the Japanese study, translated. Metric definitions carried over unchanged: burstiness, sentence-length CV, paragraph-structure CV. Two adaptations only. Japanese mora counts became pyphen syllable approximations, and sentence splitting uses one shared regex for both languages instead of pysbd, which does not support Portuguese. Mixing splitters would have confounded the language difference with a tooling difference.
New measurements: 1,202 English + 751 Portuguese documents, 1,953 total. The Japanese numbers come straight from the published third paper.
Landmine 1: my models had retired
The moment generation started, Claude 3 Haiku, Sonnet 4, and Opus 4 all returned 404. The three Claude models from the Japanese study had been retired from the API.
For a replication-style design this hurts. Same models, different language: broken. I substituted the current tiers (Haiku 4.5, Sonnet 5, Opus 4.8) and restricted the direct Japanese comparison to the four models both studies share (GPT-3.5 Turbo, GPT-4o, GPT-OSS 20B, Llama 3.2 1B). The paper discloses the substitution plainly.
Annoying at the time. It ends up delivering the most interesting finding in the study.
Landmine 2: GPT-4o wraps entire documents in a code fence
Early in measurement, 35 GPT-4o documents came back as "0 sentences." Opening them explained why: the entire document sat inside a
```markdown
fence. My code-block exclusion, which exists so that code doesn't pollute rhythm stats, was eating the whole article as one giant block. The fix unwraps only an outer fence that carries the markdown tag. A bare fence stays untouched, because it might be actual code.
It sounds like a footnote. It is not: left alone, a third of GPT-4o's sample (35 of 100 documents) disappears silently, and nearly half on the Portuguese side. Preprocessing for multilingual measurement doubles as a catalog of model quirks.
Results: 70 cells, 70 negative
Five core metrics (three burstiness variants, two sentence-length CVs) × 7 models × 2 languages gives 70 cells. Every one of them came out d < 0: AI more monotone than humans. The direction survives length residualization in all 70. Zero exceptions.
Pooled effect sizes, next to the Japanese result:
| burstiness (char) | Japanese | English | Portuguese |
|---|---|---|---|
| Cohen's d | −0.96 | −1.12 | −1.03 |
Three languages, one band around −1. And the ordering carries over too. Across the four shared models, GPT-3.5 Turbo is the most monotone in every language and GPT-OSS 20B sits closest to the human band in every language. A model's accent strength follows it across languages, rank and all.
The accent travels.
The comma is the exception
One metric refused to line up: commas per sentence. In English, AI uses more commas than humans (d = +0.45). In Portuguese, fewer (d = −0.83).
The explanation lives on the human side. Portuguese writers average 1.14 commas per sentence; English writers 0.58. The models settle around 0.6 to 0.7 in both languages, a kind of textbook middle. Against comma-light English humans that looks excessive. Against comma-loving Brazilians it looks starved. Identical behavior, opposite sign, decided entirely by the local convention it gets compared against.
Rhythm crosses languages with its direction intact. Punctuation flips depending on where you stand. That contrast became the paper's framework.
Three layers: signature, accent, dialect
The third paper sorted AI text traces into two layers: vocabulary as a model-specific signature, rhythm as a shared machine accent. The comma result is a third kind of trace that fits neither.
- Signature (vocabulary): diverges per model. Tells you which machine wrote it
- Accent (rhythm): shared by all models, persists across languages. Tells you a machine wrote it
- Dialect (punctuation): the behavior is shared, but its visible sign flips with the conventions of the language you compare against
One machine-written document carries all three kinds of traces, in separate layers. That is the paper's central claim.
The accent is fading
Here is the gift from landmine 1. Because the model roster changed, the data holds both GPT-3.5 from 2023 and the current Claude tier from 2026, side by side.
On English burstiness (char), GPT-3.5 Turbo scores d = −2.59. The current Claude generation scores −0.59 to −0.96, roughly a third of that on average. Portuguese shows the same ratio. Newer models write rhythm much closer to the human band.
So rhythm-based AI detection probably has a shelf life.
The accent gets trained away, generation by generation. For writing improvement the same trend cuts the other way: the closer models get to the human band, the more precisely a rhythm metric points at whatever monotony remains. Detection value and editing value move in opposite directions, which is exactly the shape of the third paper's conclusion.
The practical part: rhythm lint crosses languages, thresholds don't
The takeaway for tooling is short. The direction of rhythm metrics is shared across all three languages, so lint logic ports as-is. The distributions differ, so thresholds need per-language calibration.
rhythm-lens, the small CLI I released last week, ships the English and Portuguese baselines from this study as of v0.2.0.
pip install rhythm-lens
rhythm-lens draft.md # language auto-detected (ja/en/pt)
rhythm-lens --lang en draft.md # or explicit
I ran this post through it before publishing. It flagged me on the first pass, and I rewrote my own paragraph structure to satisfy my own linter. The tool biting its author feels like a good sign for the tool.
Paper and data
The paper is on Zenodo (text CC-BY 4.0, code and data MIT on GitHub). Human corpus texts are not redistributed; the repo ships metadata plus recollection scripts instead.
- Paper: 10.5281/zenodo.21424903
- Code and data: github.com/kenimo49/llm-rhythm-crosslingual
- The third paper (Japanese lexical vs. rhythm fingerprints): 10.5281/zenodo.21413035
This ended up being a sequel published 24 hours after the original. Working while the question is still warm meant every scraper, metric, and mistake was fresh in memory. And none of it works without communities that kept their pre-ChatGPT writing intact, so if your 2021 Dev.to post is in the baseline: thanks for the rhythm.

Top comments (0)