Record your voice
Text-to-speech models for any language need voice recordings from native speakers. Kurmanji comes first because that is where the project started, but Sorani, Zazaki and every other language, Kurdish or not, are welcome. The voices are used by blind people with NVDA, often at two to three times normal speed, so every sound has to stay clear. Consistency matters more than expressiveness.
Anyone who speaks the language natively can volunteer. To start, open an issue on the voice-models repository saying which language you speak. GitHub issues are public, so post only your language, the terms line and your credit choice, never contact details or recordings; the terms below do not cover what you write in an issue. If you prefer not to use a public issue, contact a maintainer through the organization page. We reply with access to the upload folder and help setting up your recording app. Start with batch 1: it is useful on its own, and you can continue from there.
The guide below applies to every language. Details that belong to one language, such as its script and pronunciation notes, are under Language notes. For a language that has no script yet, we prepare one with you.
Recording terms
By recording for Zirek you agree to the following. Confirm it in your opening issue with the line "I agree to the recording terms".
-
Licence. You release your recordings under CC0 1.0, the same dedication as the sentences you read. Anyone may use, train on and redistribute them without asking or crediting you.
-
Published voices. Models trained on your recordings may be published and used by anyone, including other projects. A published model cannot be recalled.
-
Withdrawal. You can ask us to remove your recordings from the dataset at any time before they go into a training run. Once a model is released, your voice stays in it.
-
Your data. A voice identifies you. We keep your audio, your name or pseudonym, and your language. Only the maintainers can access them. They stay in the shared Drive folder until they go into a training run. To have your data deleted, open an issue on the voice-models repository that names only the pseudonym or credit you gave in your opening issue, never your real name or contact details if you have not already made them public.
-
Credit. You choose whether the voice credits you by name or does not name you. Say which in your opening issue.
What you read
Each language has a script: a list of sentences split into batches of about one hour of finished audio each.
-
Each line has an id. Save each recording as
<id>.wav. -
Every speaker of a language reads the same sentences in the same order.
-
The first batch covers the common sound pairs of the language, so it alone is enough to train a test voice.
-
The core set is about 10 hours per speaker. We train on it first and decide afterwards whether more hours are worth recording. More than 10 to 20 hours per speaker barely improves a Piper voice, and long sessions make voice and pace drift, which hurts clarity.
-
If a sentence is wrong in your language, has a typo, or is something you would not say, skip it and add its id to a
skipped.txtfile. Do not fix it while reading.
Room and equipment
-
Use a small, quiet room with soft furnishings such as curtains, a sofa or a bed. Turn off fans, fridges and heating noise, and silence your phone.
-
Use the same microphone, in the same position, in the same room, for every session. A USB condenser microphone with a pop filter is fine.
-
Keep the microphone 15 to 20 cm from your mouth, slightly to the side.
-
Record 48 kHz, 24-bit or 16-bit, mono WAV.
-
Set the input level so normal speech peaks around -12 to -6 dBFS and never clips.
-
Apply no processing: no noise reduction, compression, EQ, normalisation or reverb, in the app or afterwards. We clean up in one place.
How to read
-
Read in a calm, neutral, informative voice, like a news reader or audiobook narrator. Don’t act or add emotion, even for exclamations.
-
Keep a steady, moderate pace. Don’t speed up as the session goes on.
-
Say every consonant fully, especially at the ends of words. Don’t let sentence endings fade into a whisper.
-
Use your natural native pronunciation, including every sound distinction your language makes.
-
Leave about half a second of silence before and after each sentence.
-
If you stumble, re-record the whole sentence. Don’t correct yourself mid-sentence.
-
Read names, abbreviations and foreign words the way a news reader in your language would.
Sessions
-
Record at most 1 to 1.5 hours of actual reading per day, in sessions of 30 to 45 minutes with breaks. A tired voice changes how you sound, and that hurts the model.
-
Record at the same time of day when you can. Keep water nearby, and avoid dairy and caffeine just before recording.
-
Start every session by reading the reference sentence for your language, which is listed under Language notes or sent with your script. Save it as
ref_YYYY-MM-DD_N.wav, where N counts that day’s sessions (_1,_2), so two sessions on one day never overwrite each other. We use it to check that your voice and setup stay the same between sessions. -
After batch 1, upload it and wait for feedback before continuing. Setup problems are cheap to fix at that point.
Recording app
-
Piper Recording Studio is the easiest option. It shows one sentence at a time, records it and saves it under its id. We load the batch files into it for you. Whichever app you use, upload mono WAV files in the format above. Check what your app saves, and tell us if it saves anything else; we check the format on your batch 1 before you continue.
-
Audacity also works if you export one file per sentence, named by id.
Handing in recordings
Upload each batch to the shared Drive folder ziman/recordings/<speaker name>/batch_XX/, together with that batch’s skipped.txt and your session reference files.
Language notes
Kurmanji
The Kurmanji script is public, in data/recording-script/ in this repository.
-
It has 12,944 sentences in 13 batches. Each batch file, such as
batch_01.txt, has one sentence per line: the id, a tab, then the text.kurmanji_recording_script.csvholds every sentence in one file. -
Batches 1 to 10 are the core, about 10 hours per speaker. Batches 11 to 13 are optional extensions.
-
Batch 1 covers every common Kurmanji sound pair.
-
Ids look like
kmr_00042, so you save that recording askmr_00042.wav. -
The sentences come from Common Voice (CC0) and an earlier Kurmanji script.
-
Reference sentence: Yek, du, sê, çar, pênc, şeş, heft, heşt, neh, deh.
-
Keep the difference between aspirated and plain p, t, k and ç (for example çadir and çav), and h/ḧ and x/ẍ where you make them.
-
Read names, abbreviations and foreign words the way a Kurmanji news reader would.
Notes for other languages are added here as their scripts are prepared.
What happens next
Your recordings go into a dataset manifest under data/manifests/, which maps each sentence id to its audio.
The voices are trained with the recipes under tts/ and scored on the shared benchmark in eval/ for latency and for clarity at fast speech rates.
Published voices are listed on the overview.