Elamur: **Mova** · [Parse](https://mova.elamur.ai/free/en/parse/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Translate](https://md.translate.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · [Groupants](https://md.groupants.elamur.ai/free/en/)

[Mova](https://md.mova.elamur.ai/free/en/) · [this page in HTML](https://mova.elamur.ai/free/en/docs/languages/fr/01-consonants/)

[home](https://md.mova.elamur.ai/free/en/) / [docs](https://md.mova.elamur.ai/free/en/docs/) / [languages](https://mova.elamur.ai/free/en/docs/languages/) / [fr](https://md.mova.elamur.ai/free/en/docs/languages/fr/) / 01. Consonants

# 01. Consonants

**On this page**

1. [1. The inventory](#1-the-inventory)
2. [2. The phonemes one by one](#2-the-phonemes-one-by-one)
3. [3. Processes that change consonants](#3-processes-that-change-consonants)
4. [4. Final consonants, written and pronounced](#4-final-consonants-written-and-pronounced)
5. [5. How often letters occur](#5-how-often-letters-occur)
6. [6. Consonants and grammar](#6-consonants-and-grammar)
7. [7. Regional notes](#7-regional-notes)
8. [8. How Mova handles consonants](#8-how-mova-handles-consonants)
9. [Sources for this chapter](#sources-for-this-chapter)

Standard French has **17 consonant phonemes**, a marginal 18th (/ŋ/, in loanwords), and **three glides** (/j w ɥ/) that stand between consonants and vowels. The inventory is small and stable. Regions and registers differ less in the list of consonants than in how a few of them are pronounced (above all /ʁ/), in whether a final consonant is heard, and in which consonants drop out of rapid speech. Much of what French spelling does with consonants is hidden at the *end* of the word: the same letter may be silent in isolation and pronounced before a vowel, or pronounced in the feminine and silent in the masculine ([04. Connected speech: enchaînement, liaison, elision, the mute e and assimilation](https://md.mova.elamur.ai/free/en/docs/languages/fr/04-connected-speech/), [05. The writing system](https://md.mova.elamur.ai/free/en/docs/languages/fr/05-writing-system/)). This chapter describes the sounds; the vowels are in [02. Vowels](https://md.mova.elamur.ai/free/en/docs/languages/fr/02-vowels/), the syllable and the rhythm in [03. The syllable, stress, rhythm and intonation](https://md.mova.elamur.ai/free/en/docs/languages/fr/03-syllable-stress-intonation/).

## 1. The inventory

|  | bilabial | labiodental | alveolar | postalveolar | palatal | velar | uvular |
| --- | --- | --- | --- | --- | --- | --- | --- |
| plosive | p b |  | t d |  |  | k ɡ |  |
| fricative |  | f v | s z | ʃ ʒ |  |  | ʁ |
| nasal | m |  | n |  | ɲ | (ŋ) |  |
| lateral |  |  | l |  |  |  |  |
| approximant (glide) |  |  |  |  | j, ɥ | w |  |

In each obstruent pair the first member is voiceless and the second voiced. The glides have two places each: /ɥ/ is labial-palatal (the lips of /y/, the tongue of /i/) and /w/ labial-velar (the lips and tongue of /u/); the table lists each under its tongue position. Three points of analysis need a word.

- **/ŋ/** occurs only in words borrowed from English (*camping* /kɑ̃piŋ/, *parking* /paʁkiŋ/, *shopping*, *jogging*, *smoking*) and never begins a word. After it no /ɡ/ is pronounced.
- **/ɲ/**, spelled ⟨gn⟩, behaves as one consonant: *montagne* /mɔ̃taɲ/, *agneau* /aɲo/, *gnon* /ɲɔ̃/. In a minority of learned or foreign words ⟨gn⟩ is read /ɡn/: *gnou* /ɡnu/, *stagnant* /staɡnɑ̃/, *diagnostic* /djaɡnɔstik/. In casual speech some speakers replace /ɲ/ by /nj/.
- **No /h/ and no /x/.** The letter ⟨h⟩ is silent; its only effect is lexical (the *h aspiré*, [04. Connected speech: enchaînement, liaison, elision, the mute e and assimilation](https://md.mova.elamur.ai/free/en/docs/languages/fr/04-connected-speech/)).

Passy's *Les sons du français* (passy-1906) and Nyrop's *Manuel phonétique* (nyrop-1902), which describe the Parisian pronunciation of about 1900, give the same consonants, and still report a palatal /ʎ/ (the *l mouillé*) in places where Parisians already said /j/ (§2.5).

### 1.1 The phonemes with keywords and spellings

| phoneme | keyword | initial | medial | final | main spellings |
| --- | --- | --- | --- | --- | --- |
| /p/ | *pas* | *pas, peur* | *apprendre, épais* | *cap, loup* | p, pp |
| /b/ | *bas* | *bas, beau* | *abbé, robot* | *club, robe* | b, bb |
| /t/ | *tas* | *tout, thé* | *patte, vite* | *net, sept* | t, tt, th |
| /d/ | *dos* | *dos, deux* | *addition, idée* | *sud, rade* | d, dd |
| /k/ | *cas* | *café, qui, kilo* | *occuper, risque* | *sac, bec* | c, cc, k, qu, ch (*chœur*), ck |
| /ɡ/ | *gant* | *gant, guerre* | *aggraver, figure* | *drogue, zigzag* | g (before a, o, u or a consonant), gu (before e, i, y), gg |
| /f/ | *fait* | *fin, photo* | *effet, café* | *neuf, chef* | f, ff, ph |
| /v/ | *vais* | *vin, wagon* | *lave, avion* | *neuve, vive* | v, w (*wagon*) |
| /s/ | *sac* | *sac, ciel, ça* | *poisson, nation, dix-sept* | *bus, face* | s, ss, c (before e, i, y), ç, sc (before e, i), t (*nation*), x (*six, soixante*) |
| /z/ | *zéro* | *zéro, zone* | *rose, désir, deuxième* | *douze, quiz* | z, s between vowels, x (*deuxième*, liaison) |
| /ʃ/ | *chat* | *chat, schéma* | *acheter, cachet* | *poche, flash* | ch, sh, sch |
| /ʒ/ | *joue* | *jour, gens* | *manger, rouge* | *rouge, âge* | j, g (before e, i, y), ge (before a, o, u) |
| /m/ | *main* | *mal, mur* | *homme, amour* | *ferme, pomme* | m, mm |
| /n/ | *nain* | *nu, nous* | *année, donner* | *mine, reine* | n, nn |
| /ɲ/ | *digne* | *gnon* | *agneau, montagne* | *ligne* | gn |
| /l/ | *lait* | *lit, long* | *allumer, mêler* | *belle, mal* | l, ll |
| /ʁ/ | *rue* | *rue, rhum* | *arrêt, sourire* | *mer, porc* | r, rr, rh |

Two letters stand for a sequence of two phonemes: ⟨x⟩ is /ks/ (*taxe*, *index*) or /ɡz/ (*exact*, *examen*), and ⟨qu⟩ is /kw/ in a few learned words (*aquarium* /akwaʁjɔm/, *équateur* /ekwatœʁ/, *square* /skwaʁ/). The ⟨ill⟩ exceptions are in §2.5. The spelling side of the same facts, with the sound-to-spelling table, is in [05. The writing system](https://md.mova.elamur.ai/free/en/docs/languages/fr/05-writing-system/).

### 1.2 Minimal pairs

| contrast | pairs |
| --- | --- |
| /p/–/b/ | *pas–bas, pain–bain, pont–bon* |
| /t/–/d/ | *tout–doux, temps–dans, tard–dard* |
| /k/–/ɡ/ | *car–gare, cou–goût, quand–gant* |
| /f/–/v/ | *fin–vin, faux–veau, fer–ver* |
| /s/–/z/ | *dessert–désert, coussin–cousin, ruse–russe* |
| /ʃ/–/ʒ/ | *cher–gère, chou–joue, cache–cage* |
| /m/–/n/ | *mon–non, mou–nous, ma–na* |
| /n/–/ɲ/ | *dîne–digne*; fully minimal pairs are few |
| /l/–/ʁ/ | *loue–roue, lit–riz, laid–raie* |
| /s/–/ʃ/ | *sou–chou, seau–chaud, sa–chat* |
| /j/–/w/–/ɥ/ | /ɥ/–/w/: *lui–Louis, enfuir–enfouir*; /j/–/ɥ/: *nier–nuer*; the three glides carry little load, and *Louis* is /lui/ for many speakers |
| /ʁ/–∅ | *part–pas, serre–sait, mourrais–mourais* (see §3.2) |

The /ʃ/–/ʒ/ and /n/–/ɲ/ contrasts have few minimal pairs and low functional load, which is why they are the first to blur in the speech of learners and children. Nyrop adds that a sequence /nj/ is sometimes heard where /ɲ/ is written (nyrop-1902).

## 2. The phonemes one by one

### 2.1 Plosives /p b t d k ɡ/

- **No aspiration.** French voiceless stops are short and unaspirated, with voicing beginning almost at once after the release: [p t k], not English [pʰ tʰ kʰ]. The voiced stops are voiced through the closure: [b d ɡ]. The cue that separates the two series is therefore voicing lead against short lag, not aspiration. A study of late English–French bilinguals in conversation (cameron-2020) measured the voice onset time (VOT) of word-initial /p t k/: for the French-first speakers, the /p/ of English words was longer, and the /t/ shorter, at a switch from French into English than in monolingual English talk, while the English-first speakers showed no such effect; VOT is the cue by which the two systems are told apart.
- **Dentality.** /t d n l/ are dental or laminal, with the tongue tip or blade at the back of the upper teeth: another audible difference from English /t d/, which are alveolar.
- **No final devoicing.** Unlike German or Russian, French keeps a voiced final stop voiced: *robe* /ʁɔb/, *rade* /ʁad/, *drogue* /dʁɔɡ/.
- **Affrication in Québec.** In Québec and some other North-American speech /t d/ before the close front vowels /i y/ and the glides /j ɥ/ are affricated: *petit* [pəts͡i], *dur* [dz͡yʁ]. European standard French has none ([08. National and regional varieties of French](https://md.mova.elamur.ai/free/en/docs/languages/fr/08-national-varieties/)).
- **Weakening in connected speech.** An automated study of about 1,000 hours of speech in five Romance languages (vasilescu-2020) used forced alignment with non-canonical pronunciation variants allowed. For all five languages, including French, voiceless stops were more often realised as voiced inside a word (lenition), and voiced stops more often as voiceless at the start of a word (fortition). The spelled consonant is therefore an unsafe guide to voicing in running speech (§3.1).
- **Glottal stop.** In emphatic or careful speech a glottal stop [ʔ] may separate two vowels (*c'est ʔincroyable*, *les ʔhéros*); it is not a phoneme and is not written.

### 2.2 Affricates

French has no affricate phoneme. The sequences [t͡s d͡z] are allophones in Québec (§2.1). In loanwords the English affricates /tʃ dʒ/ occur in some speakers' *match* [matʃ], *jazz* [dʒaz], *job*, *djinn*, *tchèque* /tʃɛk/, and others replace them by /ʃ ʒ/ or by a stop plus fricative; these words are on the edge of the system and do not enlarge the inventory above.

### 2.3 Fricatives /f v s z ʃ ʒ ʁ/

- **/f v/** are ordinary labiodentals. /v/ is spelled ⟨v⟩ and, in a few loanwords, ⟨w⟩ (*wagon* /vaɡɔ̃/). Word-final /v/ is rare (*neuve, vive, lave*) and is written with a mute ⟨e⟩.
- **/s z/** are sibilants; they are also the main liaison and plural consonants (*les amis* /le.za.mi/, [04. Connected speech: enchaînement, liaison, elision, the mute e and assimilation](https://md.mova.elamur.ai/free/en/docs/languages/fr/04-connected-speech/)). Between vowels ⟨s⟩ is /z/ and ⟨ss⟩ is /s/ (*poison, poisson*), which is why a verb stem ending in /s/ writes ⟨ss⟩ before a vowel ending: *je finis, nous finissons* /finisɔ̃/.
- **/ʃ ʒ/** are produced with rounded and slightly protruded lips. The letter ⟨g⟩ before ⟨e, i, y⟩ and ⟨ge⟩ before ⟨a, o, u⟩ both spell /ʒ/ (*gens, géant, mangeons*).
- **/ʁ/** is §2.6.

### 2.4 Nasals /m n ɲ (ŋ)/

- /m/ and /n/ are as in English, dental for /n/. A final /m/ after a vowel occurs mainly in learned or foreign words (*rhum* /ʁɔm/, *album* /albɔm/, *forum*).
- **/ɲ/** is a single palatal nasal; the blade of the tongue is flat against the hard palate.
- **Nasal letter, nasal vowel.** A ⟨n⟩ or ⟨m⟩ after a vowel letter usually stands for the nasality of the vowel, not for a consonant ([02. Vowels](https://md.mova.elamur.ai/free/en/docs/languages/fr/02-vowels/) §6). The consonant is heard when it is doubled or followed by a vowel: *bon* /bɔ̃/, *bonne* /bɔn/, *bonté* /bɔ̃te/, *ennemi* /ɛnmi/.
- **No place assimilation across words.** *un pain* is [œ̃ pɛ̃]; the regressive assimilation of English *ten boys* [tem bɔɪz] is not a feature of French.

### 2.5 The lateral /l/ and the old *l mouillé*

- /l/ is a **clear dental lateral** in every position. There is no dark [ɫ]: *belle*, *bal*, *table* have the same /l/ as *lit*. A velarised /l/ is a mark of foreign accent.
- **Devoicing in clusters.** After a voiceless obstruent a /l/ or /ʁ/ is partly devoiced (*plat, clair, trop*), and in word-final clusters in casual speech it may be dropped (*table* → [tab], *quatre* → [kat]).
- **The palatal /ʎ/.** In nineteenth-century grammar ⟨ill⟩ and final ⟨il⟩ stood for a palatal lateral [ʎ]. By 1900 Parisians mostly said /j/; Passy and Nyrop describe this as the usual pronunciation, with /ʎ/ surviving regionally (passy-1906, nyrop-1902). Today ⟨ill⟩ is /j/ (or /ij/ after a consonant): *travail* /tʁavaj/, *bouteille* /butɛj/, *fille* /fij/, *famille* /famij/, *brillant* /bʁijɑ̃/. The words where ⟨ill⟩ is /il/ form a short list: *ville, mille, tranquille* and their derivatives (*village, million, tranquillité*).
- **Lengthening.** Passy notes that the vowel before final /j/ is long in the Parisian speech he describes (*œil* [œːj]), but that in Switzerland and at Lyon the /j/ does not lengthen it (passy-1906, §115).

### 2.6 /ʁ/

/ʁ/ varies more than any other French consonant, and is the hardest for English speakers.

- **Standard.** A **voiced uvular fricative** [ʁ] (the back of the tongue raised towards the uvula) or a uvular approximant [ʁ̞]. Bourciez calls the uvular *r* "the normal *r* of present French" (bourciez-1921). After a voiceless consonant or before a pause it is devoiced: *trop* [tχo], *quatre* [katχ], *pour* [puχ] in slow speech.
- **Variants.** An apical trill [r] survives in parts of the south, in some rural speech of Belgium, Switzerland and Québec, and in the singing tradition. Weak, vocalised realisations after a vowel occur in casual speech.
- **Terminology.** Nyrop avoids the old term *r grasseyé* ("burr"), which he found used in contradictory ways in different handbooks, and names the articulation instead (nyrop-1902).
- **Distribution.** /ʁ/ is the last consonant of the clusters /pʁ tʁ kʁ bʁ dʁ ɡʁ fʁ vʁ/ and the commonest consonant at the end of a word (*mer, pour, porc, car*). It lengthens a preceding vowel in a stressed final syllable (*mère* [mɛːʁ]) (passy-1906, §115).

### 2.7 Glides /j w ɥ/

| glide | spelling | examples |
| --- | --- | --- |
| /j/ | i, y, ill, final il | *pied* /pje/, *yeux* /jø/, *travail* /tʁavaj/, *ancien* /ɑ̃sjɛ̃/ |
| /w/ | ou, oi | *oui* /wi/, *moi* /mwa/, *jouer* /ʒwe/, *Louis* /lwi/ |
| /ɥ/ | u | *lui* /lɥi/, *nuit* /nɥi/, *huit* /ɥit/, *suave* /sɥav/ |

The glides correspond to the vowels /i, u, y/ and replace them before another vowel in the same syllable. Nyrop observes that at the moment of greatest constriction the ear cannot always decide whether a consonantal noise is present at all (nyrop-1902). For the grammar their behaviour matters: *oui* and *onze* are words that block elision and liaison like an *h aspiré* word (*le oui, le onze*, [04. Connected speech: enchaînement, liaison, elision, the mute e and assimilation](https://md.mova.elamur.ai/free/en/docs/languages/fr/04-connected-speech/)).

- **Glide or hiatus.** A close vowel before another vowel is a glide after at most one onset consonant, but keeps its vowel value, followed by a glide, after an obstruent plus /l/ or /ʁ/: *lier* /lje/, but *plier* /plije/ and *trier* /tʁije/; *nous lions* /ljɔ̃/ but *nous plions* /plijɔ̃/. The same verb shows the alternation: *il joue* /ʒu/, *nous jouons* /ʒwɔ̃/ (or, in careful speech, /ʒu.ɔ̃/). Verse counts the two readings as one syllable (*synérèse*) or two (*diérèse*), see [03. The syllable, stress, rhythm and intonation](https://md.mova.elamur.ai/free/en/docs/languages/fr/03-syllable-stress-intonation/) §7.
- **Diaeresis.** The spelling marks the vowel reading in a few words: *naïf* /na.if/, *haïr* /a.iʁ/, *Noël* /nɔ.ɛl/, *aiguë* /e.ɡy/.

## 3. Processes that change consonants

### 3.1 Voicing assimilation

Within a cluster of obstruents the voicing of the first assimilates to that of the second (regressive assimilation). It applies inside words and across closely linked words, and it applies after a schwa has been dropped.

| case | spelling | phonemic | spoken |
| --- | --- | --- | --- |
| voiced + voiceless | *absent, obtenir, subtil* | /absɑ̃, ɔbtəniʁ, sybtil/ | [apsɑ̃, ɔptəniʁ, syptil] |
| voiceless + voiced | *anecdote, chaque jour* | /anɛkdɔt, ʃak ʒuʁ/ | [anɛɡdɔt, ʃaɡ ʒuʁ] (in *second* ⟨c⟩ is simply /ɡ/ by spelling, not by assimilation) |
| after schwa deletion | *médecin* | /medəsɛ̃/ | [metsɛ̃] |
| fast speech | *je suis, je pense, tout de suite* | /ʒə sɥi, ʒə pɑ̃s, tu də sɥit/ | [ʃɥi, ʃpɑ̃s, tutsɥit] ("chuis, chpense, tsuit") |

Two points are specific to French. First, voicing is not neutralised at the end of a word. Second, the same assimilation is what turns the clitic *je* into [ʃ] before a voiceless consonant. In Québec French, Riverin-Coutlée found that absolutely final /v z ʒ/ are shorter than /f s ʃ/, voiced for a smaller share of their duration than earlier reports had it, and lengthen the preceding vowel even when it is already long (coutlee-2020); the lengthening effect of voiced fricatives is the one Passy described for Paris in 1906 ([03. The syllable, stress, rhythm and intonation](https://md.mova.elamur.ai/free/en/docs/languages/fr/03-syllable-stress-intonation/) §3).

### 3.2 Consonant length

French has no phonemic consonant length of the English kind; a doubled letter is normally one sound (*homme, pomme, belle, appeler* /aple/). Real geminates appear in four places.

1. **At a word boundary or after a deleted schwa**, when two identical consonants meet: *il l'a vu* [il la vy], *quelle laideur*, *il y a*. Passy treats a French long consonant as a single consonant prolonged and divided by a dip; he says its length depends entirely on position and need not be written (passy-1906, §§124–126).
2. **In the future and conditional of *courir, mourir*** (and of *acquérir, envoyer* in older usage), where the written ⟨rr⟩ is a real /ʁʁ/ in careful speech: *il courait* /kuʁɛ/ against *il courrait* /kuʁʁɛ/, *il mourait* /muʁɛ/ against *il mourrait* /muʁʁɛ/.
3. **In learned prefixed words**, where a prefix ends in the consonant that begins the stem: *illégal* [il legal] and *immense, innombrable* often have a long consonant in careful speech, while *illisible* /ilizibl/ has a single one.
4. **Emphasis**: *c'est formidable* [fːɔʁmidabl].

### 3.3 Reduction and loss

- **Final clusters.** The liquid of a word-final obstruent+liquid cluster is dropped or devoiced in rapid speech (*table, quatre, autre, peuple*), more readily before a consonant than before a vowel (*quatre‿ans* keeps /ʁ/).
- **Function words.** *il* → [i] before a consonant (*il vient* [i vjɛ̃]), *tu* before a vowel → [t] (*t'as vu*), *parce que* → [pask(ə)], *je ne sais pas* → [ʃ(ə)nsepa] → [ʃɛpa] ("chais pas"). The loss of *ne* belongs to register ([27. Negation](https://md.mova.elamur.ai/free/en/docs/languages/fr/27-negation/), [08. National and regional varieties of French](https://md.mova.elamur.ai/free/en/docs/languages/fr/08-national-varieties/)).
- **Schwa loss**, with its consequences for clusters and voicing, is treated as a vowel phenomenon in [02. Vowels](https://md.mova.elamur.ai/free/en/docs/languages/fr/02-vowels/) §8.

## 4. Final consonants, written and pronounced

The written and the spoken language diverge most here, and the facts are lexical, not rule-governed. The text gives the pattern and the exceptions.

**The silent majority.** Most final consonant letters are mute: *petit* /pəti/, *grand* /ɡʁɑ̃/, *temps* /tɑ̃/, *nez* /ne/, *sang* /sɑ̃/, *banc* /bɑ̃/, *tabac* /taba/, *estomac* /ɛstɔma/, *porc* /pɔʁ/, *chaud* /ʃo/, *beaucoup* /boku/. The plural ⟨s⟩ is silent in nouns and adjectives, so the number of a noun is often audible only in the determiner (*le chat–les chats* /lə ʃa–le ʃa/). In the written treebank UD French GSD (train, dev and test together, 345,183 word tokens excluding punctuation, numerals and symbols, counted 2026-11-06) the last letter of a token is ⟨e⟩ in 31.6% of tokens (109,220), ⟨s⟩ in 17.3% (59,598), ⟨t⟩ in 11.5% (39,551), ⟨n⟩ in 7.6% (26,367), ⟨r⟩ in 5.3% (18,408) and ⟨a⟩ in 5.3% (18,380). Tokens ending in a vowel letter number 161,090 (46.7%); the other 53.3% end in a consonant letter, most of them silent.

**The pronounced finals.**

| final | pronounced | silent |
| --- | --- | --- |
| ⟨c⟩ | *sac, bec, lac, avec, truc, choc* | *tabac, estomac, blanc, franc, accroc* |
| ⟨r⟩ | *mer, hiver, fer, amer, cher, hier, enfer, car, pour, par, sur* | verbs in *-er* (*parler*), nouns in *-ier* (*premier, cahier*), *monsieur* |
| ⟨f⟩ | *neuf, bref, chef, vif, œuf* (singular), *cerf, nerf* | *clef*, *œufs* and *bœufs* (plural) |
| ⟨l⟩ | *mal, bal, sel, ciel, animal, hôtel, seul* | *gentil, outil, fusil, persil, sourcil, cul* (and ⟨ls⟩ in *pouls*) |
| ⟨t⟩ | *sept, huit, net, est* ("east"), *ouest, brut, dot* | *petit, haut, et, est* (verb), *art, effort, mort*; *but* and *août* vary between speakers |
| ⟨d⟩ | *sud, Alfred, David* | *grand, froid, pied, chaud, nid, quand* |
| ⟨s⟩ | *fils* /fis/, *ours* /uʁs/, *bus* /bys/, *hélas* /elas/ | nearly all plurals and verb forms |

The mnemonic "CaReFuL" (⟨c, r, f, l⟩ are the consonants most often heard at the end of a word) states a tendency, not a rule. In GSD the tokens ending in ⟨c⟩ number 2,583, in ⟨f⟩ 732, in ⟨l⟩ 8,330 and in ⟨r⟩ 18,408 (2026-11-06), but the ⟨r⟩ figure includes 6,081 tokens in *-er* where ⟨r⟩ is silent, and the very frequent *pour* (2,530), *par* (2,469) and *sur* (1,685), where it is pronounced; the spelling distinguishes the two only by the *-er* ending. Words in *-er* are /e/ (*parler, premier*) except for a short list in /ɛʁ/ (*hiver, mer, fer, amer, cher, hier, enfer*).

**Alternation with the plural, and a lexical oddity.**

| singular | plural | gloss |
| --- | --- | --- |
| *œuf* /œf/ | *œufs* /ø/ | egg |
| *bœuf* /bœf/ | *bœufs* /bø/ | ox |
| *os* /ɔs/ | *os* /o/ | bone |
| *tous* /tu/ (adjective) | *tous* /tus/ (pronoun) | one spelling, two readings |

**Feminine and verb forms.** The feminine adds a pronounced consonant to a masculine that ends in a silent one: *petit–petite* /pəti–pətit/, *grand–grande* /ɡʁɑ̃–ɡʁɑ̃d/, *vert–verte*, *long–longue* /lɔ̃–lɔ̃ɡ/, *gros–grosse*, *heureux–heureuse*. In many verbs the third person plural differs from the singular by a consonant: *il part–ils partent* /paʁ–paʁt/, *il sort–ils sortent*, *il finit–ils finissent* /fini–finis/, *il dort–ils dorment*. The consonant that is mute at the end of the masculine is the *liaison consonant* before a vowel (*petit ami* /pə.ti.ta.mi/, [04. Connected speech: enchaînement, liaison, elision, the mute e and assimilation](https://md.mova.elamur.ai/free/en/docs/languages/fr/04-connected-speech/)). The spoken treebank ParisStories (UD 2.18) records what is audible in its MISC column, following Kahane et al. (kahane-2025), who argue that a spoken treebank should annotate the features of the spoken form, not of its transcription. `HasSpokenNumber=OnlyWithLiaison` is on 1,108 words, mostly prenominal adjectives (*tout* 78, *petit* 52, *tous* 36, *première* 32, *petite* 32): their number is heard only through the liaison consonant (*petits‿enfants*). `HasSpokenGender=OnlySingExceptWithLiaison` is on 2,490 words, mostly determiners: *le / la*, *ce / cette*, *mon / ma* show gender in the singular, but not in the plural (*les*) and not before a vowel (*l'ami, l'amie*; *mon ami, mon amie*; *cet ami* and *cette amie* are both [sɛt]) (three files, 2026-11-06). Kahane et al. go further for nouns: since the plural *-s* of a noun is heard only in a liaison that spontaneous speech almost never makes, they treat spoken nouns as having no number except the *-al / -aux* type (*cheval / chevaux*), which gives only 49 occurrences of 9 lemmas among the 5,195 nouns of Rhapsodie (kahane-2025).

## 5. How often letters occur

Mova holds no open French pronunciation lexicon, so no phoneme counts can be given as the English chapter does with CMUdict. What can be measured is the consonant *letters* of written text. In UD French GSD (345,183 word tokens, 1,629,465 letters, three files, counted 2026-11-06; accented capitals such as *É* are counted separately, 585 for *É*):

| letter | count | share of letters |
| --- | --- | --- |
| s | 125,293 | 7.7% |
| n | 119,569 | 7.3% |
| t | 112,467 | 6.9% |
| r | 110,158 | 6.8% |
| l | 105,858 | 6.5% |
| d | 66,944 | 4.1% |
| c | 54,648 | 3.4% |
| p | 47,116 | 2.9% |
| m | 44,913 | 2.8% |
| v | 20,868 | 1.3% |
| g | 19,202 | 1.2% |
| f | 17,404 | 1.1% |
| b | 15,932 | 1.0% |
| h | 15,014 | 0.9% |
| q | 13,100 | 0.8% |
| j | 5,436 | 0.3% |
| x | 4,931 | 0.3% |
| k | 2,853 | 0.2% |
| z | 1,932 | 0.1% |
| w | 1,458 | 0.1% |

Letters are not phonemes: ⟨h⟩ (0.9%) stands for no sound, ⟨q⟩ is always followed by ⟨u⟩ and spells /k/. Common digraph sequences in the same tokens (tokens containing the sequence): ⟨ch⟩ 6,669, ⟨ss⟩ 5,870, ⟨ill⟩ 2,943, ⟨gn⟩ 1,885, ⟨th⟩ 1,513, ⟨ph⟩ 1,136, ⟨ç⟩ 1,063. A run of three or more consonant letters occurs in 15,535 tokens (4.5%); the commonest are ⟨ntr⟩ (2,303), ⟨nts⟩ (1,557), ⟨str⟩ (1,091), ⟨mbr⟩ (1,052) and ⟨ndr⟩ (764). Many of these contain a nasal letter that marks vowel nasality rather than a consonant, so the true consonant clusters of speech are fewer than the letter runs (§5 of [03. The syllable, stress, rhythm and intonation](https://md.mova.elamur.ai/free/en/docs/languages/fr/03-syllable-stress-intonation/)).

## 6. Consonants and grammar

Consonants carry a surprising share of French grammar, because written inflection is often supported by a consonant that is heard only in some contexts.

- **Gender.** The audible feminine is a final consonant (§4). In ParisStories 421 words are marked `HasSpokenGender=No` (their gender is never audible) and 618 `HasSpokenGender=YesExceptSingWithLiaison` (2026-11-06).
- **Number.** The plural ⟨s⟩ is audible only through liaison before a vowel, otherwise through the determiner.
- **Liaison.** In ParisStories 766 words carry `LiaisonPossibleBefore=Yes` (738 nouns, 27 adjectives, 1 adverb) and 526 carry `LiaisonAfter=Yes` (467 determiners, 58 adjectives, 1 pronoun); the commonest bearers of `LiaisonAfter=Yes` are *l'* (200), *les* (55), *un* (44), *une* (42), *des* (29), *mon* (22). In Rhapsodie the counts are 1,217 and 853. The annotation is concentrated on determiner–noun and adjective–noun pairs.
- **Elision.** Elided forms (*l', j', d', qu', n', s', c', m', t'*) leave a consonant to join the next word. In GSD 16,486 of 345,183 tokens end in an apostrophe (4.8%). Subject clitics show the register difference: *j'* against *je* is 203 against 279 in GSD train, 248 against 343 in ParisStories train; *ne* against *n'* is 722 against 713 in GSD but 18 against 31 in ParisStories (train files, 2026-11-06).
- **Derivation.** Consonant alternations such as *neuf–neuve, vif–vive, heureux–heureuse, directeur–directrice, long–longueur* are covered in the word-formation chapters and in [06. Spelling rules: inflection, compounds, hyphens and the 1990 rectifications](https://md.mova.elamur.ai/free/en/docs/languages/fr/06-spelling-rules/).

## 7. Regional notes

A full account is in [08. National and regional varieties of French](https://md.mova.elamur.ai/free/en/docs/languages/fr/08-national-varieties/). The consonant points in brief:

- **Québec**: affrication of /t d/ before /i y j ɥ/ (§2.1); voiced final fricatives lengthen the preceding vowel and the high vowels /i y u/ have lax allophones [ɪ ʏ ʊ] in a syllable closed by a non-lengthening consonant (*petite* [pətsɪt], *jupe* [ʒʏp], *poule* [pʊl]), which Lancien tests in clipped words ending in a lengthening consonant (coutlee-2020, lancien-2020a); an apical /r/ in traditional rural speech.
- **Belgium and Switzerland**: the vowel before a final /j/ is not lengthened in Switzerland (passy-1906); a trilled /r/ survives in places.
- **South of France**: the mute ⟨e⟩ is often pronounced (*table* [tabl(ə)]) and a nasal vowel may be followed by a nasal consonant (*vin* [vɛ̃n]) (these are Midi features known from the general literature; the public-domain sources we hold treat them only in passing).

## 8. How Mova handles consonants

**Mova has no model of French sounds.** It reads written French. There is no grapheme-to-phoneme component, no pronunciation lexicon, no liaison model and no syllable counting for French. The English side of Mova uses CMUdict and Britfone; nothing equivalent is held for French. The tables of §1.1 and §4 are the rules a first French grapheme-to-phoneme module would start from.

- **Only spelling reaches the parser.** French goes through the English tokenizer (`en/src/tok.rs`) and the tagger, after `en xpos-fill` has mapped the treebank's UPOS and FEATS to Penn-style tags (`xpos_of` in `en/src/main.rs`). Consonant letters, silent letters and accents are letters of word forms. A form absent from the training data is an unknown word: on UD French GSD (train → dev, 2026-10-22) the tagger is 84.8% accurate on unknown words, and a spelling variant counts as unknown.
- **The spoken-gender and liaison keys are not used.** ParisStories and Rhapsodie carry `LiaisonPossibleBefore`, `LiaisonAfter`, `HasSpokenGender` and `HasSpokenNumber` in the MISC column. The CoNLL-U view that training reads (`conllu::read`) drops MISC, and no code refers to these keys.
- **The tokenizer sees the apostrophe as a joiner.** In the finite-state tokenizer the apostrophe is a letter-joining class, so *l'arbre* stays one token, where UD French cuts *l'* | *arbre*. `en tok-eval` trained on GSD train and tested on GSD dev gives token F1 88.84% (exact sentence match 26.1%) and on GSD test 88.16% (21.9%); two runs of 2026-11-06 are identical. Contractions such as *aux* = *à* + *les* are another source of the mismatch ([07. Punctuation, typography, capitals, abbreviations and numbers](https://md.mova.elamur.ai/free/en/docs/languages/fr/07-punctuation-typography/)).
- **No phonetic spelling key.** Homophones (*vert, verre, vers, ver*) are told apart by spelling only.

**What would be needed.** A rule-based grapheme-to-phoneme model for the regular part (§1.1 and the nasal rules of [02. Vowels](https://md.mova.elamur.ai/free/en/docs/languages/fr/02-vowels/)), with a closed list of exceptions for final consonants and foreign words (§4), tested against a pronunciation list with an open licence. The French Wiktionary (CC BY-SA) carries IPA for many headwords and is available as a raw dump for learning and tests only. None of this is built, and no figure in this chapter comes from such a model.

## Sources for this chapter

- Passy, Paul. 1906. *Les sons du français*, 6th ed. Paris: Firmin-Didot. Public domain (`passy-1906`). Library: `books/p/pa/passy-1906-les-sons-du-fran`. Duration and consonants §§111–126; symbols.
- Nyrop, Kristoffer. 1902. *Manuel phonétique du français parlé*, 2nd ed. Public domain (`nyrop-1902`). Library: `books/n/ny/nyrop-1902-manuel-phonetique-du-fran`. The glides; the term *r grasseyé* (§58).
- Bourciez, Édouard. 1921. *Précis historique de phonétique française*, 5th ed. Public domain (`bourciez-1921`). Library: `books/b/bo/bourciez-1921-precis-historique-de-phonetique`. The uvular *r* as the normal French *r*.
- Vasilescu, Ioana, Yaru Wu, Adèle Jatteau, Martine Adda-Decker & Lori Lamel. 2020. Alternances de voisement et processus de lénition et de fortition. *TAL* 61(1). CC BY 4.0 (`vasilescu-2020`).
- Riverin-Coutlée, Josiane. 2020. Sur le voisement des consonnes fricatives finales en français du Québec. JEP-TALN-RECITAL 2020. CC BY 4.0 (`coutlee-2020`).
- Cameron, Marguerite. 2020. Voice Onset Time en code-switching anglais-français. JEP-TALN-RECITAL 2020. CC BY 4.0 (`cameron-2020`).
- Kahane, Sylvain, Bruno Guillaume, Léna Brun & Simeng Song. 2025. Status of morphosyntactic features: illustration with written and spoken French UD treebanks. TLT / SyntaxFest 2025. CC BY 4.0 (`kahane-2025`). The features of the spoken form; nouns without spoken number.
- Lancien, Mélanie. 2020. De la possibilité d'un relâchement des voyelles hautes dans les troncations finissant par /v, z, ʒ, ʁ/ en français québécois. JEP-TALN-RECITAL 2020. CC BY 4.0 (`lancien-2020a`).
- UD French GSD, ParisStories and Rhapsodie, UD 2.18 (CC BY-SA 4.0): letter, final-letter, token and MISC-key counts made with `grep` and `awk` on the `.conllu` files under ud-treebanks-v2.18, 2026-11-06.
- Mova: `en/src/tok.rs`, `en/src/conllu.rs`, `en/src/main.rs` (`xpos_of`, `tok_eval`); `en tok-eval` run 2026-11-06 with the release binary of 2026-10-22.
- [← previous 00. Introduction: what French is, and how this manual writes it](https://md.mova.elamur.ai/free/en/docs/languages/fr/00-introduction/)
- [next → 02. Vowels](https://md.mova.elamur.ai/free/en/docs/languages/fr/02-vowels/)
- [↑ back to Modern Standard French (fr) — a reference manual for Mova](https://md.mova.elamur.ai/free/en/docs/languages/fr/)
