41 languages · works in your browser

Learn to speak a language
in your own voice.

Reference audio is always someone else’s voice, at someone else’s pitch. In a tonal language that means hearing a tone, transposing it into your register, and only then trying to say it. Polly removes that step: record one sentence, and hear every language played back at your own absolute pitch.

The recording demo needs JavaScript enabled.

How it works

Three steps, about a minute.

1

Create your voice profile

Read one sentence out loud. We measure your median fundamental frequency by autocorrelation — the pitch a listener actually perceives as your register.

2

Hear it in your register

Any sentence, any of 41 languages. The synthesized speech is resampled to land on your pitch, so tone contours keep their exact shape and only the register moves.

3

Say it back and get scored

Record your attempt. Speech recognition hears what you actually said, and the model scores accuracy and fluency word by word, with specific corrections.

Why pitch

In a tonal language, the wrong register costs you a whole step.

Mandarin and Cantonese carry meaning in the tone contour. When your reference audio sits a fifth above your speaking voice, you have to hear the relative shift, map it onto your own absolute pitch, and then produce it — every single time.

It gets worse in practice: Amazon Polly ships exactly one Mandarin voice and one Cantonese voice, both in a high register. If you speak lower, there is no voice to switch to. Transposing is your only option.

So we resample instead. Scaling the frequency axis uniformly moves the whole voice into your register while preserving every interval ratio — a rising second tone stays the identical rise, just centred where you speak. You hear the target, not a puzzle to solve first.

The same second tone, two registers
reference voiceyour registerpitch

Identical contour, identical interval — moved onto the learner’s pitch. That is the whole trick.

Coverage

41 languages, and nothing hardcoded per language.

Translation, romanization, per-word glosses and tone numbers all come from the model at request time — so every language gets the same depth of explanation, and adding one is a single row of configuration.

Gulf ArabicArabic (MSA)CatalanMandarin ChinesetonalCzechWelshDanishGerman (Austria)German (Switzerland)GermanEnglish (Australia)English (UK)English (Ireland)English (India)English (New Zealand)English (Singapore)English (US)English (South Africa)Spanish (Spain)Spanish (Mexico)Spanish (US)FinnishFrench (Belgium)French (Canada)FrenchHindiIcelandicItalianJapaneseKoreanNorwegianDutch (Belgium)DutchPolishPortuguese (Brazil)PortugueseRomanianRussianSwedishTurkishCantonesetonal

Stop transposing. Start speaking.

One sentence is all it takes to build your profile.

Try it now