Trial. You can make a few clips, have one conversation and try every drill. Recordings are never kept, and your practice stays in this browser, which clears it when you leave the trial. The server keeps a note of the visit for 14 days, and a safety log of what you ask the AI for (90 days): what's kept. For an account of your own, free, with your word bank on every device: Create a free account.
Prefer no account at all? The free tone lab at tinglilab.org has no limits.
TingliLab.org — free tone lab
Tone dictation, four tones, a pair quiz, and repeat-back with a tone judge that listens to your pitch; pinyin or zhuyin dictation on the HSK 1–3 words, with Mainland or Taiwan readings; and handwriting with stroke checking. No account, no limits. Everything stays on this device; recordings are never uploaded. Install it to your phone from the browser menu, and download a voice in Settings to practise offline. Built by a learner for his own practice — feedback welcome at hello@tinglilab.com.
Ready.
Reveal:
Listen first. Reveal the text when you've had a go.
Questions
Pick a mode and press Start. The voices take turns (Settings → Voices); each item is kept after its first play.
0 recordings kept
say it back, then it stops by itself
Recordings you keep are uploaded to the lab's server under your username, used only to test and improve the tone judge, and never shared; each is labelled with the speaker name above (a first name or initials is fine).
Recordings aren't kept on this account: you get the verdict, and the recording is thrown away.
Tone stats
nothing yet
Type what you hear as pinyin with tone numbers — Skritter style: ni3 hao3, nv3 for nǚ, 5 for neutral. Spaces between words are optional.
Dictation stats
nothing yet
Strictness and Pen are for this device only. With a pen, leave Pen on auto: once the pen comes near the square, fingers and palms are ignored there.
The lab's pen handling couldn't start in this browser, so a resting hand may interrupt strokes here. On paper mode always works.
Press Start for a round of about 12 characters.
Writing stats
nothing yet
AI conversation partner · 人工智能对话伙伴
Your partner is an AI playing a role so you can practise speaking; it isn't a real person. It keeps to everyday, classroom-friendly subjects and never asks for personal details. Conversations are logged on the server for safety review and kept for 90 days.
Your teacher can read these conversations, to give you feedback and to make sure the lab is used well.
Debrief
Add a text
Paste any Chinese: a reader page, a song, a dialogue, a Daodejing chapter. It's split into passages of about 120 characters, each word-spaced and translated by Claude, read by Azure, and then it plays in the Listen tab like any clip. Words met here are kept apart from your clip bank.
no texts yet
My texts
none yet
Text words
Words met in texts that are not in your bank and not HSK 1–3. Separate from the clip bank so difficulty scores stay clean.
Progress
Review
Prepared for offline
Rounds
Tone, dictation and writing rounds, most recent first. Per-tone accuracy and confusions live in the Tones tab.
none yet
Conversations
Most recent first. Tap one to see the transcript and its debrief.
none yet
Clips
Tap ▶ to reload a clip from the cache; it plays without network.
none yet
Words
"New" words appeared in clips but are not in your pool. Copy them (one per line) for a flashcard or writing app, then mark them as added so they count as known here too.
This site
TingliLab.org is the free tone lab: no account, and everything you do here stays in this browser, on this device. Help · Privacy
Account
Not signed in.
You'll be told if a paid version opens.
Your account is deleted now, and your saved file 28 days later (the conversation log keeps your lines up to 90 days, as it does for everyone). Download a backup first if you want one (Data, below).
With a confirmed address, a forgotten password can be reset by email (Forgot your password? on the sign-in screen). A new address is confirmed by a link sent to it; changing or removing it asks for your password.
Make a class, add your students, print their login cards, and give them lists. New to this? Read the teacher's guide first: it covers everything step by step.
none ticked
loading…
Students (tap one for its options)
none ticked
Lists
Lists of characters or words for the whole class: a lesson, a chapter, the week's words. Each is a source in its students' Tones, Dictation and Write, called Class: and its name, from their next sync; they can practise it and copy it, not change it. One a line, or several a line separated by spaces; a reading in tone numbers after one chooses among its readings: 长 zhang3, 银行 yin2 hang2.
Add students
Type or paste their first names (or nicknames), one per line; no surnames needed. Next you'll see the usernames the lab suggests, which you can change.
Name on the card · username (lower-case letters and digits; the class code is added for you)
Tap a student for their four-week trend, their conversations with the AI partner and any safety flags. Students with no practice in the last week are greyed. Each student can see these numbers about themselves too. Opening a student's page or one of their conversations is recorded.
The class's hardest items (marked misses: how many students, and where)
Rounds are those a student's devices have synced with this list as their source; once its items are on a student's ladder they also come back in Due today, and those rounds count as Due today's. Met, right, due and needs help are what the student's own Review card says about the list's items, whatever round they were answered in, as of their last sync. Tap a student for their page.
Trial · admin
Who tried the lab with Try it over the last 14 days, where they came from, and what they used of the trial's budget; and the switch that pauses Try it (v0.29). A visit is known by a code made from its internet address and the day, with a secret the sign-in service holds in memory for that day only (or a random code for each press of Try it, if visit_by is session); everyone behind one address shares a visit. The card shows no codes or addresses. Notes of visits are kept 14 days, then only the day's counts. Countries: IP Geolocation by DB-IP.
Free accounts · admin
Accounts people made themselves on the sign-in screen, over the last 14 days: sign-ups by day, by the link's ?from= tag, by linking site and by country (counts only); the places and the month's spending against its ceiling; the accounts by sign-up tag, with those still active after a week; and the waitlist with its invitations, which go by email. No names or addresses here: the accounts themselves are in Accounts · admin (filter: free).
Email · admin
The lab's own email, through Postmark: the links people ask for, the invitations, the alerts and the daily summary, and the two mailings. Counts only here, never an address but the lab's own. The token is POSTMARK_TOKEN in /etc/mandarin-auth.env (root's only); the addresses, the alerts' defaults and the summary's hour are the email section of /etc/mandarin/plans.json (then sudo systemctl restart mandarin-auth). The tick boxes below switch an alert at once, and the server keeps them.
Safety flags · admin
Every time the AI partner stopped a conversation with the support message, or changed the subject, in the last 90 days: students, adults and the trial. They come from the conversation service's own log, which no one's device can change. Marking one reviewed is recorded.
Accounts · admin
New accounts get a password made up here, shown once; they choose their own at their first sign-in. Tap an account for its options, or tick several and act on them together. Suspend signs someone out at once and keeps them out until you reactivate them; a teacher can't undo it for her students. Student accounts come with teachers' classes.
none ticked
loading…
Claude
Writes the clips. Leave the key blank to use the site's own key through the server (the normal case); a key entered here is used instead and stays in this browser only.
not tested
Azure speech
Reads the clips. Leave the key blank to use the site's own key through the server; a key entered here is used instead.
not tested
ClipsReadings
Topics
Voices
The voice for Tones, Dictation and Write. A rotation follows the Standard above: Mainland voices for Putonghua, Taiwan voices for Guoyu. Each item is marked by the standard of the voice that says it.
Prepare this voice keeps all of a voice's tones and HSK words on this device (about 34 MB), so tone practice, the judge, dictation and writing work offline.
Tones and Write play every syllable and word at this speed, the pitch kept, and so does 🔊 Hear it on a word's sheet; Dictation's rounds of words start at it (🐢 or 🐇 changes a round).
The voices are Microsoft Azure neural voices, not recordings of people. The tone library and the HSK words were synthesised once and are stored by TingliLab; anything else is synthesised when you ask for it.
Word pool
Words you are studying. Clips are built around them (about ten per clip, the least-seen first). Paste anything with Chinese in it — a Skritter list, a frequency list, a text — and only the Chinese words are kept; traditional forms are folded into simplified.
pool empty
My lists
Your own lists of characters or words (a lesson, a chapter, the week's words), each a source in Tones, Dictation and Write. One a line, or several a line separated by spaces. A reading in tone numbers after one chooses among its readings: 长 zhang3, 好 hao4, 银行 yin2 hang2.
Microphone
Level meter first, then a two-second recording played back. If the meter stays flat or recording never starts, press Reset audio, which does what a page refresh does without losing your place.
not tested
Tone scorer benchmark
An unattended check of the tone judge on the library's voices: each Mainland voice's syllables are judged against the other voices' templates. Works offline once the voices are prepared; otherwise about a minute per ten items.
not run
Credits
Founding Testers: Bangle Wu (Bernice, 吴帮乐), Kanghong Shi (史康宏), Yongfu (Deven) Huang. Voices: Microsoft Azure neural text to speech (prebuilt voices), used under the Microsoft Product Terms; the stored libraries were made on the paid tier. Word lists: HSK 3.0 (2025 revision). Pinyin: pinyin-pro. Stroke order and checking: Hanzi Writer (MIT), with stroke data from Make Me a Hanzi (Arphic Public License). Traditional forms: OpenCC (Apache 2.0).
Data
Everything except audio and API keys syncs automatically to your file on the server a few seconds after each change, and is pulled when the page opens. Audio is re-made on demand on the other device; keys are entered once per device.
Your practice log and settings are kept in this browser only, and nowhere else. Download a backup now and then: it's a small file, without audio, and Restore from file merges one back in, here or on another device (a free account at the full lab takes one too).
sync: not yet
Write
Tick the words you'd like to write:
听力实验室 TingliLab.com
Mandarin for tingli (听力) ears
Checking who's signed in…
A free account is yours on every device: your word bank, clips, drills, writing and conversations sync. Each day it can make 3 clips (a rewrite counts), 5 text passages, 10 photos of a page, and one conversation of up to 10 partner turns; tone practice and writing don't count against these. Anything you did on the trial isn't carried over.
Free accounts are offered as they are, as part of a test: they may change or pause, and your feedback is gratefully received — write to hello@tinglilab.com.
New here?
Free accounts are full for now. The free tone lab at tinglilab.org is always open.
or
Recordings are never kept. Pressing it notes the visit for 14 days (the day, your country, the site and link that brought you here, whether this browser has tried the lab before, which it will then remember, and whether it has had its Try it conversation), and what you ask the AI for is logged for safety (90 days): what's kept.
Are you a teacher or tutor who'd like to use this with your students? A limited number of teacher trial places are open now: write to hello@tinglilab.com with “teacher” in the subject.