← Back to competition briefing
Workstream · RISE Scenario Development Competition 2026

Voices: native English, in Simon & Lucia's 音色

The MiniMax clones sound less fluent because a voice clone reproduces the speaker's accent as faithfully as their timbre. Re-cloning makes that worse, not better. We fixed it with voice conversion: keep a native speaker's delivery, swap in Simon's or Lucia's voice. Below — listen, then look at the measurements.

Seed-VC · MIT-adjacent, runs locally on the M2 音色 kept: 0.93–0.95 Pitch moved to the speaker's own range No cloud, no GPU
1 · Diagnosis

It is an accent problem, not a cloning problem

A voice clone is trained to reproduce how the reference speaker actually sounds — including their non-native English pronunciation and rhythm. That is the point of cloning, and it is exactly why re-cloning from more or better recordings cannot fix the accent: the clone would learn the accent again, more accurately.

PropertyShould come fromCurrently comes from
音色 — who it sounds likeSimon / LuciaSimon / Lucia ok
Accent, rhythm, stress — how the words are saida native English speakerSimon / Lucia the bug

So the job splits in two

Take a native-English reading of the script and replace only the speaker identity with Simon's or Lucia's.

That is voice conversion (VC) — a different technology from text-to-speech cloning. The words and the delivery come from the source recording; the voice comes from the reference.

The control that makes it falsifiable. Because VC preserves the source delivery, the accent out = the accent in. Convert the accented clone and you get Simon's voice still accented; convert a native reading and you get Simon's voice native. Same voice, same words, one variable — so the comparison below is evidence, not taste.
2 · Listen

Before / after — identical sentence, identical loudness

Both halves of each pair say the same words. Loudness is normalised to −16 LUFS in both, so one is not winning by simply being louder. Press Before, then After.

Simon

“That is a very good question. Start by grouping the sources by theme, and look for where the researchers agree, and where they disagree.”
Before — 音色 0.947 · pitch 120 Hz
accent inherited from the clone
Timbre similarity to Simon's own reference: 0.947 (before) → 0.931 (after). The voice does not change; the delivery does.

Lucia

“Hi, Dr Wang. To be honest, it is a little challenging. I found many articles, but I am not sure how to organise them.”
Before — 音色 0.945 · pitch 271 Hz
accent inherited from the clone
Lucia's native source is a female voice, so the pitch shift is small (243 → 268 Hz) and the result stays clean.

Or watch the full A/B, labelled

36 s · four labelled segments: Simon before, Simon after, Lucia before, Lucia after. Encoded H.264/AAC, 1280×720.

3 · Measurements

What we can prove without listening

We cannot hear the audio, so every claim here is a number. sim_ref = cosine similarity to the speaker's own reference (higher = 音色 preserved). sim_narr = similarity to the native narrator (lower = the narrator's identity is gone). f0 = median pitch.

Simon

Clipsim_refsim_narrf0dur
MiniMax clone before0.9470.469120.09.50
Seed-VC after0.9310.515114.68.50
native narrator (source)0.5121.000121.48.50

Output duration 8.50 s = the narrator's 8.50 s, not the clone's 9.50 s — the native rhythm came across.

Lucia

Clipsim_refsim_narrf0dur
MiniMax clone before0.9450.413271.08.24
Seed-VC after0.9340.522267.88.95
female native source (Flo)0.3990.592242.88.59

Pitch lands at 267.8 Hz against Lucia's own 271.0 Hz — the model re-pitched the source into her range.

✓ Timbre transplant works

Conversions land at 0.92–0.95 similarity to the owner while the native source sits at 0.40–0.51. The output is Simon/Lucia, not the narrator.

✓ Pitch + rhythm follow the source

Pitch moves into the owner's range; durations match the source to the centisecond, and DTW-aligned pitch contours correlate 0.95–0.97 with the source they came from.

! WER could not judge the accent

The accented clone and the native reading both transcribe at WER 0.000 / 0.042 — Whisper is too robust on clean TTS. The accent verdict is yours to make by ear.

Honest scope. The numbers prove the mechanism: 音色 kept, pitch and rhythm swapped. They do not prove it “sounds native” — that needs listening, which is what section 2 is for. If the After clips are not good enough, the next lever is a better native source (a real actor read, or a stronger native TTS), not a different cloning model.
4 · Method

How it works, and why this tool

Write the scriptKeep each line short — competition clips cap at 60 s.
Produce a native read of each lineMiniMax's system narrator, or macOS say -v Flo for a fully offline path. This carries the accent we want.
Convert to Simon / Lucia's timbreSeed-VC takes the native clip as --source and a 10–30 s reference of the person as --target.
QC automaticallyRe-transcribe and compare; any line that regresses gets re-run with more diffusion steps. No silent bad takes.
Mux into the videoDrop-in replacement for the TTS step in the existing sample pipeline — everything downstream is unchanged.

Why Seed-VC

Reviewed from the GitHub survey. Three families exist, and only one fixes an accent:

FamilyFixes accent?
Text→speech zero-shot cloning (F5-TTS, IndexTTS, Chatterbox, Fish-Speech)no — clones the accent too
Voice conversion (Seed-VC, RVC)yes — keeps source delivery
Tone-colour conversion (OpenVoice)yes

Seed-VC was picked because it ships accent conversion as a first-class feature and documents Apple Silicon support — it runs here on the M2's GPU with no CUDA and no cloud.

Two models, and why we chose the simpler one

ModeResult
v1 · timbre onlychosen sim_ref 0.93 / 0.93
v2 · --convert-style false0.95 (Simon) / 0.82 (Lucia)
v2 · --convert-style true (accent model)worse on Lucia — WER 0.042 → 0.083

When the source is already native there is nothing for the accent model to fix, so v1 is the right default.

Reproduce it

cd projects/Scenario/voice-cloning
uv venv --python 3.11 .venv          # torch + MPS, no CUDA needed
.venv/bin/python prep_refs.py        # clean 10–30 s references per speaker
.venv/bin/python make_sources.py     # native read of each line (MiniMax / say)
./run_v1_all.sh                      # native source -> speaker timbre
.venv/bin/python score.py            # WER + speaker similarity + pitch
.venv/bin/python prosody_match.py    # did the source's prosody survive?
.venv/bin/python make_ab_video.py    # the labelled before/after video
One rule to remember: match the source's pitch to the speaker. A male narrator is ideal for Simon (121 Hz → 115 Hz, barely any shift) but a ~1-octave forced shift for Lucia (136 → 256 Hz). Give Lucia a female native source and the result is cleaner. This is the single biggest quality lever we found.
5 · Decisions

What we need from you, Lucia

#DecisionOur recommendation
1Does the After delivery sound native enough to use?Listen in section 2 and say yes / no. If no, we escalate the source (a real actor read), not the model.
2Whose voice narrates the competition entry?Use a consented voice. Simon's and Lucia's own voices are fine for internal samples; a student-facing platform should not ship recognisable third-party clones.
3Native source: cloud narrator or offline?Start with MiniMax's system narrator; keep say -v Flo as the offline fallback so the pipeline never depends on a clone staying alive.
4Do we re-render the existing scenario samples with these voices?Yes — it is a drop-in swap of the TTS step. ~12 min per video for the VRM avatars.
5Ship voice quality as part of the helper platform?Yes — "your 音色, native delivery" is a strong selling point for students joining the competition.

Full technical write-up and raw data: projects/Scenario/voice-cloning/voice-cloning.md and scores.json.