RecFlow is our own text-to-speech model for the Quran. Give it an ayah, the tajweed we want and a voice, and it recites. In two rounds it has rendered the training data for our recitation model:
Two rounds
TimingLettersWhole wordsOther tajweed rules
VowelsHeavy and light raa, and the lam of AllahSeveral changes at onceMadd lengthGhunnahHamzat al-waslLam shamsiyya and qamariyyaMeem sakinah rules
Bars to scale. Under each round, the kinds of change it asked for.
Voices
One recitation, two voices
The voice is chosen separately from the recitation. Here is Quraysh in Voice 2 and in Voice 3: switch while it plays, and the recitation carries on from the same word in the other voice.
Each word lights up as it is recited. Tap a word to hear it from there.
The voices are synthetic, each built from the averaged voice characteristics of more than a hundred reciters, so none of them is a real person's voice.
Duration
Two, four or six counts, as asked
RecFlow reads the same tajweed-aware phonetic layer our recognition models use. Every sound, each madd, ghunnah and qalqalah included, is a unit with its own length, so a madd is held for the counts we give it.
Stopping at the end of this ayah, a reciter may hold the final madd for 2, 4 or 6 counts, and all three are correct in Hafs. Here is the same ayah three times in one voice, at each length in turn.
Each count lights up as the madd is held. Beside it, the madd with the letter before it as measured in the model's own output before restoration, and the length that was asked for.
Changes on request
What it can change on request
RecFlow can also get one thing wrong on purpose. Ask for a different vowel, a swapped letter, a madd cut short or a ghunnah dropped, and it changes that site and leaves the rest of the ayah as it was.
Those renders are training data, not listening material, so this page plays none of them. This is what the 554,988 of them asked for.
Checked
How we know it works
Asking for a change is not the same as getting one, so nothing becomes a training label on the model's word.
Every requested change is checked site by site against a correct twin with acoustic tests, and a separate phone model checks vowel and consonant identity. Of 635,045 requested sites, 588,291 pass. The rest become uncertain labels, never false ones.
The clips on this page passed their own checks before they went up: a separate Quran speech recognizer had to write each one back to its ayah, and our phonetic labeler had to confirm each sound and measure each madd.
Why
What it is for
A model that catches mistakes has to hear a great many of them first.
Real recordings hold the common mistakes and very few of the rare ones, and none of them arrive labelled site by site.
RecFlow writes them to order: the same ayah correct and with one change, every site labelled. That is the training data that teaches our recitation model to hear real mistakes, including the rare ones no recording archive holds enough of.
Listen once more
RecFlow is a research preview.
It is not released. It writes training data for our recitation model, and the samples you can hear on this site.