We are making a fifteen-episode animated series set in a UAE village, and it has eleven speaking parts: two children, their parents, a grandmother and grandfather, and the neighbours along one lane. We did not hire an actor for any of them.
That needs saying carefully, because there is a version of this that is theft. We have no consented recordings of anyone, so nobody’s voice is being copied. Each character is designed from what the script already says about them — sex, age, how high or low they speak — and the synthetic result becomes the reference the production model imitates for every line. The cast is invented, and it belongs to the production.
This post is the part of that process we did not expect to be hard. Designing a voice is easy. Knowing whether it is the right voice turned out not to be, and the reason is not the one you would guess. You can listen to all of them below.
The failure that actually bites
The obvious worry is that a generated voice sounds bad. In practice that is easy to catch — you play it, you wince, you try again.
The expensive failure is subtler: two characters ending up with the same voice. Nothing sounds wrong when you audition them one at a time. It only surfaces later, in a scene where those two talk to each other, and by then you have animated the scene. Worse, our voice designer’s vocabulary is a short fixed list — female, child, elderly, low pitch, middle-aged and a handful more — so the natural description of a nine-year-old boy is the same description as the other nine-year-old boy. The collisions are not bad luck. They are the default.
So the candidates on this page are not chosen by ear. Each one is measured: the median pitch of the take, and its distance from every voice already cast. Under about fifteen hertz apart is not a close call, it is one voice doing two parts.
What the design does and does not fix
Worth being plain about a limitation, because it shapes everything below: the design vocabulary contains no Arabic and no Emirati accent. What it actually fixes is age, sex and timbre. The Arabic performance comes from the second stage — the model that imitates the reference for each line — not from the design itself. Every clip below is that full path, so what you hear is what ends up in an episode, not a demo of the designer.
It also means the obvious descriptions were already spent. female, elderly, low pitch is the grandmother. female, child is Noora, the girl the series follows. Each new character had to be pushed away from an existing one deliberately, by pitch and by random seed.
How to listen
Each candidate speaks that character’s own line from a finished episode, in Emirati Arabic and in English. One per character is marked Recommended, and every recommendation on this page is measured, not heard — the reasoning is shown so you can disagree with it.
The four voices already cast, for reference, measure: Noora 347 Hz, Yadda 235 Hz, Yaddi 158 Hz, Salem 149 Hz. Those are the numbers the new candidates have to stay clear of.
What the measurements cannot tell you is whether a voice sounds like the person. Nothing here settles that, and none of these picks is final.
aisha — the mother, about 35
The way isn’t for speed. It is to keep people’s dignity.
الطريقة مو للسرعة. هي لحفظ كرامة الناس.
Recommended: candidate 2. At 292 Hz it is the only one of the three clear of the grandmother, who sits at 235 Hz. Candidate 1 is a better age for a mother but lands 12 Hz from her, which is two characters with one voice.
Candidate 1 — female, young adult, low pitch
247 Hz designed, 241 Hz English, 222 Hz Arabic
Arabic
English
Candidate 2 — female, middle-aged, moderate pitch — RECOMMENDED
277 Hz designed, 292 Hz English, 248 Hz Arabic
Arabic
English
Candidate 3 — female, young adult, moderate pitch
294 Hz designed, 301 Hz English, 192 Hz Arabic
Arabic
English
rashid — the father, about 40
Don’t be afraid, today is our Eid and it’s all joy.
لا تخافي، اليوم عيدنا وكله فرح.
Recommended: candidate 3. The least bad of a weak set. All three cluster on the grandfather at 158 Hz — candidates 1 and 2 are 3 Hz and 6 Hz away — and this one is the furthest off at 13 Hz. See the note below: I would re-run this character.
Candidate 1 — male, middle-aged, low pitch
156 Hz designed, 156 Hz English, 147 Hz Arabic
Arabic
English
Candidate 2 — male, young adult, moderate pitch
164 Hz designed, 166 Hz English, 165 Hz Arabic
Arabic
English
Candidate 3 — male, middle-aged, moderate pitch — RECOMMENDED
172 Hz designed, 172 Hz English, 184 Hz Arabic
Arabic
English
moza — the girl in yellow, about 8
Noora! My mum says a girl fainted doing this last year.
نورة! أمي تقول بنت طاحت السنة اللي راحت من الصوم.
Recommended: candidate 3. The steadiest of the three: 272 Hz designed, 274 Hz in English, 269 Hz in Arabic, so the clone holds its pitch across both languages. It also sits well below Noora at 347 Hz, which is right — Moza is written as the sturdier of the two girls. Candidate 2 jumps to 494 Hz in English, which is a break, not a voice.
Candidate 1 — female, child, high pitch
285 Hz designed, 269 Hz English, 287 Hz Arabic
Arabic
English
Candidate 2 — female, child, very high pitch
311 Hz designed, 494 Hz English, 254 Hz Arabic
Arabic
English
Candidate 3 — female, child, moderate pitch — RECOMMENDED
272 Hz designed, 274 Hz English, 269 Hz Arabic
Arabic
English
umm khalid — the neighbour, an adult woman
Don’t worry about the food, the dish is what matters.
لا تهتم بالأكل، الطبق هو المهم.
Recommended: candidate 2. Candidate 1 is the most plausible age for a neighbour but lands 7 Hz from the grandmother, the worst collision in the whole set. This one is clear of everybody.
Candidate 1 — female, middle-aged, low pitch
228 Hz designed, 223 Hz English, 229 Hz Arabic
Arabic
English
Candidate 2 — female, elderly, moderate pitch — RECOMMENDED
292 Hz designed, 297 Hz English, 253 Hz Arabic
Arabic
English
Candidate 3 — female, middle-aged, moderate pitch
312 Hz designed, 311 Hz English, 236 Hz Arabic
Arabic
English
amm juma — the older neighbour, about 60
May God guide you, my girl. The road is long.
الله يوفقك يا بنتي. الطريق طويل.
Recommended: candidate 1. The only candidate that is actually an old man’s pitch: 116 Hz in English and 86 Hz in Arabic. Candidate 3 is 1 Hz from the grandfather and candidate 2, at 180 Hz, is not a sixty-year-old man at all.
Candidate 1 — male, elderly, very low pitch — RECOMMENDED
121 Hz designed, 116 Hz English, 86 Hz Arabic
Arabic
English
Candidate 2 — male, elderly, moderate pitch
180 Hz designed, 180 Hz English, 157 Hz Arabic
Arabic
English
Candidate 3 — male, elderly, low pitch
157 Hz designed, 158 Hz English, 151 Hz Arabic
Arabic
English
umm saeed — the elderly neighbour who lives alone, about 70
Greet your grandmother for me. Tell her Umm Saeed asked after her.
سلّم على يدّتك. قول لها أم سعيد تسأل عنها.
Recommended: candidate 1. The only one of the three that holds still: 197 Hz designed, 197 Hz in English, 180 Hz in Arabic. It also sits 38 Hz clear of the grandmother, which matters most for this character — two elderly women in one lane must not share a voice. Candidate 2 swings from 344 Hz to 247 Hz to 187 Hz across the same three takes and its reference lands 3 Hz from Noora; candidate 3’s reference reads 66 Hz, an octave below anything a woman of seventy speaks at. Neither is castable.
Candidate 1 — female, elderly, high pitch — RECOMMENDED
197 Hz designed, 197 Hz English, 180 Hz Arabic
Arabic
English
Candidate 2 — female, elderly, moderate pitch
344 Hz designed, 247 Hz English, 187 Hz Arabic
Arabic
English
Candidate 3 — female, elderly, very high pitch
66 Hz designed, 199 Hz English, 180 Hz Arabic
Arabic
English
hamad — the new boy from Al Ain, ten
No, it’s good here. It’s a big lane. There’s about twenty of us.
لا، زين هني. الفريج كبير. إحنا تقريبا عشرين.
Recommended: candidate 2. Candidate 1 is the trap. It is the steadiest of the three and it was the one I expected to recommend — a quiet, low boy for a quiet, watchful character — but at 142 Hz designed and 145 Hz in both languages it sits 4 to 7 Hz from Salem, and Salem is the other nine-year-old boy in the same courtyard. That is one voice doing two parts. Candidate 3 is worse in the same way: its reference is 2.5 Hz from the grandfather. Candidate 2, at 187/182/169 Hz, is the only one clear of both, and a slightly brighter boy reads as the newcomer rather than as the brother.
Candidate 1 — male, child, low pitch
142 Hz designed, 145 Hz English, 145 Hz Arabic
Arabic
English
Candidate 2 — male, child, moderate pitch — RECOMMENDED
187 Hz designed, 182 Hz English, 169 Hz Arabic
Arabic
English
Candidate 3 — male, teenager, low pitch
160 Hz designed, 159 Hz English, 132 Hz Arabic
Arabic
English
Two things the numbers caught that we would have missed
The father does not have a usable set. All three candidates land between 156 and 172 Hz — a light voice for a man of forty — and all three crowd the grandfather at 158 Hz, the nearest by three hertz. The recommendation is only the furthest from the collision, which is not the same as good. This character needs another round at a lower pitch, and we would rather say so than pretend a pick was made.
The grown women came out pitched above the child. The mother’s candidates measure 241–301 Hz and the neighbour’s 223–311 Hz, while the eight-year-old girl sits at 269–285 Hz. That is backwards, and the cause is worth knowing if you use tools like this: low pitch in the design vocabulary is relative to the voice the model is already making, not to any absolute scale. Ask for a low-pitched woman and you get a woman lower than that model’s default woman, which may still be above a child. The recommended three stay clear of each other and of the existing cast, but if the mother reads too young, this is why, and the fix is another round rather than a different pick from these three.
The seven shots that could never be made
Episode one turns on a song. During Hag Al Laila — the Gulf night when children go door to door for sweets — Noora sings a traditional couplet: عطونا الله يعطيكم، بيت مكة يوديكم, give to us and God will give to you, may He bring you to the house of Mecca. She rehearses it alone in the first scene, then sings it at four doors.
Seven shots are that song, and for weeks none of them could be produced. The reason is a rule we put in deliberately and then forgot to finish: a shot marked sung is never sent to the text-to-speech stage, because a children’s chant recited flatly by one synthetic child is worse than no audio at all. That rule works. What never got built was the other half — something that would actually sing it. So every sung shot was skipped, silently and correctly, forever. Episode one finished at 281 of its 288 shots, and the seven that were missing were all the same song.
It is a tidy example of a failure mode worth watching for: a guard clause with no matching implementation does not throw an error. It just quietly does nothing, and the gap looks exactly like work that has not come round yet.
These eight takes are a music model singing the couplet — four as a girl alone, four as children in unison. One take gets cut into all seven shots, so the same voice is heard rehearsing in the courtyard and calling at the doors. Generating each shot on its own would give seven different children singing the same song.
A girl alone — for the rehearsal in scene one
Take 1
Take 2
Take 3
Take 4
Children in unison — for the doors
Take 1
Take 2
Take 3
Take 4
What was measured
Pitch, the same way as the voice candidates above: median f0 over the voiced frames of the twenty-six seconds you are hearing. The spread matters as much as the middle — this is one short couplet repeated, so a wide spread is a voice breaking, not a melody.
| take | median f0 | spread | voiced | vs Noora (347 Hz) |
|---|---|---|---|---|
| solo t1 | 233 Hz | 208 Hz | 89% | -114 Hz |
| solo t2 | 166 Hz | 26 Hz | 92% | -181 Hz |
| solo t3 | 105 Hz | 157 Hz | 77% | -242 Hz |
| solo t4 | 353 Hz | 122 Hz | 87% | +6 Hz |
| group t1 | 157 Hz | 213 Hz | 78% | -190 Hz |
| group t2 | 171 Hz | 27 Hz | 91% | -176 Hz |
| group t3 | 157 Hz | 158 Hz | 79% | -190 Hz |
| group t4 | 353 Hz | 60 Hz | 91% | +6 Hz |
Which one we chose
Group take 4, and it was chosen on the numbers before anyone listened. It is one of only two takes in a child’s register at all: 353 Hz, six hertz from Noora’s own reference voice. Everywhere else on this page a candidate landing within fifteen hertz of an existing cast member is a collision — two characters with one voice. Here it is the opposite and it is the point, because this is Noora singing. Its spread is also the tighter of the two: 60 Hz against solo take 4’s 122 Hz, and it holds a voiced note 91% of the time.
Solo take 4 is the alternate, at the same 353 Hz, if a lone girl reads better than a group for the rehearsal beat.
The other six are not close. They sit between 105 and 233 Hz — adult range, and several of them within a few hertz of the grandfather at 158 Hz. Four of those also have spreads above 150 Hz, which is the pitch coming apart across a couplet that is only two lines long.
One disagreement worth stating. A speech-recognition pass over the same clips, forced to Arabic, read the words most clearly in group take 1 — which the pitch says is an adult. The two measurements disagree, and pitch is the one to trust here: the recogniser under-reads sung Gulf Arabic badly and its spellings never match the lyric exactly, so it ranks diction, not casting. All eight were confirmed to be singing in Arabic rather than English phonetics, which was the real risk with this model; beyond that the recogniser decides nothing.
Where this goes next
A chosen take becomes that character’s reference file, and every line they speak in all fifteen episodes is generated from it. That is why the collision check matters more than it sounds: a pick made in ten seconds is a voice you are stuck with for a season, in two languages.
If you listen and think one of the recommendations is wrong — particularly the father, where we have said the set is weak — we would rather hear it now than after the episodes are cut.


