← Blog · 5 August 2026 · Lire en français

Liaison: the hardest test for machine-read French

Liaison is where a French synthetic voice gives itself away. Five trap phrases, required, optional and forbidden liaison, and what the engine actually does with each.

If you want to know in a minute whether a speech tool truly reads French or merely pronounces it, do not hand it a nice paragraph. Hand it liaisons. That is where a voice gives itself away, because liaison is not decided letter by letter: it depends on grammar, on meaning, and sometimes on the single fact that a word starts with an "h" you never hear but which changes everything.

A liaison is the sound added between two words when the first ends in a silent consonant and the second starts with a vowel. "Les enfants" is said "lay-z-enfants". The trap is that there are three regimes: required liaison, which you must make, forbidden liaison, which you must not, and optional liaison, which depends on register. A machine that fails to tell them apart sounds either robotic or wrong. Here are five phrases to check it with, and what our engine does with each, without claiming perfection.

Phrase 1, required liaison: "Ils en ont assez"

Here everything links up: "ils-z-en-n-ont-t-assez". Three required liaisons in a row. It is the easiest case for a human and a good tell for a machine: a voice that detaches "ils / en / ont / assez" sounds instantly artificial. This is the first level, the one no serious tool should miss.

What the engine does: these liaisons between determiners, pronouns and verbs are systematic, and they are the foundation of the preparation described on the French text to speech page. If a tool fails here, there is no point going further.

Phrase 2, required liaison: "Les anciens élus"

"Lay-z-anciens-z-élus" (the former elected officials). Two liaisons, after the determiner and after the adjective. This is a notch above the first phrase, because the second liaison depends on the adjective sitting before the noun. A voice can nail "les enfants" and still miss "anciens élus" by reading "anciens / élus".

What the engine does: liaison between a pre-posed adjective and its noun is treated as required. It is audible, and it is exactly what separates, to use our phrase, a voice you listen to from a voice you put up with.

Phrase 3, forbidden liaison: "Les haricots" and "les héros"

Here is the trap most generic voices fall into. The "h" of "haricot" (bean) and "héros" (hero) is an "aspirated h": it forbids the liaison. You must say "lay / aricot", with a slight break, and above all not "lay-z-aricot". The very same determiner "les" that required the liaison in phrase 2 forbids it here, and nothing in the spelling flags it: you have to know that this particular word has an aspirated h.

What the engine does, honestly: this is the hard point of machine-read French, because it does not follow from a rule but from a list of words. The engine knows the common cases. For a rare word, a proper noun or a local usage, the guarantee comes not from the voice but from the pronunciation lexicon, where you declare the expected behaviour once and for all.

Phrase 4, forbidden liaison: "Du pain et un café"

After the word "et" (and), liaison is always forbidden, no exception. You say "et / un café", never "et-t-un café". It is a simple rule, and yet a voice that mechanically applies "make the liaison whenever a vowel follows" gets caught, because "et" ends in a "t" that calls for liaison everywhere else.

What the engine does: "et" is treated as a systematic block. This is the kind of rule we would rather code once, cleanly, than hope the voice "feels" the right break.

Phrase 5, optional liaison: "Ce n'est pas encore fini"

Here there is no single right answer. "Pas-z-encore" is correct in formal register, "pas / encore" is correct in everyday register. The liaison is optional, meaning it is a matter of register, not grammar. This is the subtlest case, because there is nothing to "fix": there is a choice to make.

What the engine does, without overpromising: it settles on a register and holds it, rather than alternating at random from one sentence to the next, which would be the real fault. The lexicon does not settle this point, because it is not a mispronunciation, it is a stylistic intent. We would rather say so than pretend a tool guesses your register.

What this test teaches you

Have any tool read these five phrases, ours included. The first two weed out voices that pronounce without reading. The third and fourth separate those applying real knowledge of French from those that guess. The fifth tells you whether the tool has a stance on style or improvises. It is a two-minute protocol, more predictive than any impression of the timbre, and it follows the logic of our piece on how to evaluate a neural voice: what matters plays out on your difficult text, not on the demo.

Give your articles a voice with WeDispatch

This blog is itself voiced by WeDispatch. Curious how it sounds on your content?

Book a demo

Read next