
French Transcription: Quebecois vs France Accuracy Gap
Summarize this article with:
The Short Answer
The dialect gap between Quebec and Metropolitan French is the largest accuracy cliff in French transcription. A well-configured engine on clean Parisian news audio will outperform the same engine on Montreal street speech by a meaningful margin, and the reasons are phonological, not just a matter of vocabulary. Set your language code correctly, pick an engine that distinguishes fr from fr-CA, and plan a review pass for joual-heavy content.

Why Quebec French Is a Different Problem Than "French"
The Organisation internationale de la Francophonie counted 396 million French speakers in 2026. Most AI training pipelines weight heavily toward Metropolitan French, the variety spoken in France, because it dominates broadcast media, available datasets, and subtitled content on the open web. Quebec French represents less than 5% of the French recordings in CommonVoice, the largest publicly sourced speech dataset. That training imbalance is the root cause of the accuracy gap.
But the gap is not only a data problem. The phonology genuinely diverges.
What affrication does to ASR
The single most disorienting feature for a Metropolitan-French-trained model is affrication. In Quebec French, the dental stops /t/ and /d/ become affricates before high front vowels and semivowels:
- /ty/ (tu) is pronounced [t͡sy]
- /ti/ (petit) is pronounced [pəˈt͡si]
- /dy/ (du) is pronounced [d͡zy]
- /di/ (dire) is pronounced [d͡ziʁ]
A model trained on Parisian /ty/ input expects that phone sequence. When it receives [t͡sy] instead, it may hallucinate a different word, drop the morpheme, or silently misalign the rest of the utterance. This is not an accent-tolerance issue, it is a distinct phoneme inventory issue.
Vowels: preserved distinctions and diphthongization
Metropolitan French has merged several vowel pairs that Quebec French keeps separate. The /a/ vs /ɑ/ distinction, maintained in Quebec, disappeared in Parisian speech. Close vowels (/i/, /y/, /u/) undergo laxing in closed syllables, becoming [ɪ], [ʏ], [ʊ]. Long vowels in closed syllables diphthongize: /ɛː/ can surface as [ɛɪ̯], /ɑː/ as [ɑʊ̯]. None of these diphthongs appear in standard Metropolitan French, so a model without exposure to them mis-segments or mislabels the vowel nucleus.
Joual: the basilect that breaks most tools
Joual is the working-class Montreal variety at the most colloquial end of the Quebec French continuum. The word itself comes from a rural/working-class pronunciation of cheval. Beyond affrication and diphthongization, joual has:
- Dropped bipartite negation: "je sais pas" replaces "je ne sais pas" at a rate so consistent that the standard form sounds formal
- Interrogative tu: "Il veut-tu manger?" (Does he want to eat?) where tu is a question particle, not the second-person pronoun
- Sacrés as discourse markers: religious terms used as expletives (tabernak, câlice, crisse, osti) that appear in ordinary spontaneous speech and are rarely in training data
- Reductions like m'as for je vais, mé for mais, pis for puis
A model that has never encountered these forms will not just mistranscribe them, it will often produce fluent-sounding but wrong output that is harder to catch in review.
The Anglicism Layer: Different in Quebec Than in France
Both Metropolitan and Quebec French absorb English loanwords, but the mechanisms differ in ways that affect transcription accuracy.
In Quebec, English phonology is adapted to French. A word like fun is pronounced with a French [œ̃] vowel. Gang rhymes with French rang. Chum (boyfriend/friend) sounds like the French word it has become. The borrowed word is phonologically domesticated, so the engine must recognize it as French output, not flag it as a code-switch.
In Metropolitan French, anglicisms often keep closer to English pronunciation. Le week-end preserves something closer to English vowels. The same word may surface differently in Paris and Montreal, and an engine expecting one may mis-segment the other.
Some words that look like anglicisms in Quebec are actually not borrowed from English at all. Char (car) derives from charette, not from English. Magasiner (to shop) is a Quebec coinage, not a borrowing. Mistaking these for anglicisms when reviewing transcripts leads to unnecessary corrections.
Key Quebec-specific vocabulary that trips up engines trained on Metropolitan French:
| Quebec term | Metropolitan French equivalent | English meaning |
|---|---|---|
| char | voiture | car |
| magasiner | faire du shopping | to go shopping |
| courriel | mail / e-mail | |
| fin de semaine | week-end | weekend |
| dépanneur | épicerie de quartier | corner store |
| piton | bouton | button |
| bienvenue | de rien | you're welcome |
| tuque | bonnet | winter hat |
When a model trained on Metropolitan French hears "fin de semaine", it may recognize the words individually but fail to parse the compound sense. When it hears "bienvenue" as a response to a thank-you, it may flag it as misplaced when it is perfectly correct Quebec usage.
Engine-by-Engine French Dialect Support
Deepgram Nova-3
Deepgram is the only major API that distinguishes fr from fr-CA as separate language codes. Specifying fr-CA routes the audio to a model variant trained with Canadian French data. For podcast, broadcast, and interview content from Radio-Canada or CJAD, fr-CA will outperform fr. The model supports code-switching detection across 10 languages including French. Deepgram's own benchmarks show approximately a 34% relative WER reduction for multilingual models versus predecessors, though language-specific French-vs-French-Canadian comparative numbers are not publicly published.
Whisper Large-v3
Whisper uses fr as its only French language code. It does not distinguish Canadian from Metropolitan French at the API level. A 2025 academic benchmark on the CommissionsQC dataset (spontaneous Quebec legislative speech) measured Whisper-large-v3 at 8.4% WER and Whisper-large-v3-turbo at 8.2% WER on Quebec French. Crucially, French-specific fine-tuned Whisper variants (trained exclusively on Metropolitan French data) performed worse than the base multilingual Whisper on Quebec French. This confirms that Metropolitan-French fine-tuning actively degrades Quebec French accuracy, because it narrows the phonological distribution the model can handle.
AssemblyAI Universal-3
AssemblyAI uses a single fr language code and states that its Universal-3 Pro model auto-detects regional speech patterns including Quebecois without requiring a separate dialect code. It explicitly lists Quebecois vocabulary and accent-specific pronunciation as handled automatically. This approach is convenient but means you cannot force a Quebec-specific model path.
Otter.ai
Otter supports French transcription across its plans. It is primarily a meeting-bot tool (joining Zoom, Meet, Teams calls via bot). Its French support covers the languages its speech engine handles, but it does not publish dialect-specific accuracy data for Quebec French, and its summary feature generates output in English regardless of the audio language. If you are transcribing French-language meetings and need summaries in French, this is a real limitation.
Happy Scribe
Happy Scribe advertises 150-plus language support via AI transcription. Its AI transcription plans are priced in EUR: Basic at €8.50/month (billed annually, 120 AI minutes), Pro at €19/month (billed annually, 600 AI minutes), Business at €59/month (billed annually, 6,000 AI minutes). Human proofreading is available from €1.75/minute. Happy Scribe does not publish dialect-specific accuracy data for Quebec vs Metropolitan French.
Trint
Trint is priced per seat and targets journalism and media workflows. Starter costs roughly $80/seat/month on annual billing (7 files per seat per month); Advanced runs roughly $100/seat/month (unlimited files). No permanent free plan. Trint does not publish Quebec-specific accuracy data.
Belgian and Swiss French: A Smaller But Real Gap
Belgium and Switzerland together add two specific friction points for ASR:
Numbers. Belgian French uses septante (70) and nonante (90). Swiss French uses septante and nonante universally, plus huitante (80) in Vaud, Valais, and Fribourg (Geneva uses quatre-vingts). A model expecting Metropolitan French will hear "septante-cinq" and have no trained representation for that token sequence, since the Metropolitan equivalent is "soixante-quinze". Depending on the engine, it may produce the correct digit string anyway (75) through a numeric normalization layer, or it may produce garbled output.
Delivery rate. Belgian French tends toward a slightly slower delivery and more syllabic stress than Parisian French. Swiss French in formal contexts is measured and clear, which generally helps ASR rather than hurting it. Accuracy on both varieties stays closer to Metropolitan French than Quebec French does, provided the number problem is handled.
Orthography: Where Diacritics Come From in Transcription
French uses five diacritic types and two ligatures: acute accent (é), grave accent (à, è, ù), circumflex (â, ê, î, ô, û), diaeresis (ï, ü, ë), cedilla (ç), and the ligatures œ and æ.
The problem for speech-to-text is that diacritics help on the spelling-to-sound direction, not the other way. From hearing /o/, you cannot tell whether to write o, au, eau, or ô. The ASR model must learn the mapping from acoustic input to correctly diacritized orthography through training data coverage. Engines trained heavily on Parisian written French generally restore diacritics well on Metropolitan vocabulary. On Quebec vocabulary with different spelling conventions, restoration quality varies.
Check your output for: ecole vs école, francais vs français, fete vs fête, and the rare oeuf vs œuf. Stripped diacritics on proper nouns are especially common and hardest to catch in review.
Practical Setup for French Audio
Set the language code before you upload, not after. For Metropolitan French content, use fr. For Quebec content including Radio-Canada broadcasts, legislative recordings, and podcasts from Montreal, use fr-CA if your engine supports it (Deepgram), or fr with the expectation that the engine auto-adapts (AssemblyAI, Whisper).
For joual-heavy content, plan a review pass regardless of engine. The combination of affrication, sacrés, and interrogative tu patterns produces error clusters that cannot be recovered by post-processing alone.
Providing a glossary of proper nouns helps significantly: Montreal neighborhood names (Rosemont, Hochelaga), Quebec City landmarks, and Quebec politician and journalist names are systematically under-represented in training data and frequently mistranscribed.
For speaker diarization on French content, the more formal the register, the better diarization accuracy. Quebec radio shows with frequent crosstalk and overlapping speakers are harder than structured two-person interviews. If you need speaker diarization explained in more detail, that post covers how the underlying models work.
For meeting content specifically, the meeting transcription tool handles French natively. For interview recordings, see how to transcribe an interview recording.
Comparing French Transcription Options
| Otter.ai | Happy Scribe | Trint | ConvertAudioToText | |
|---|---|---|---|---|
| fr-CA as distinct language code | No | Not published | No | Yes (via Deepgram Nova-3) |
| Quebec-specific training path | No | Not published | No | Yes |
| AI summary in French | No (English only) | Partial | No | Yes |
| Diacritics preserved | Yes | Yes | Yes | Yes |
| Free tier | 300 min/mo | 10-min trial only | 7-day trial, 3 files | 10 min/mo |
| Paid starting price | $8.33/mo annual | €8.50/mo annual (120 AI min) | ~$80/seat/mo annual | $9.99/mo unlimited |
My take: for Quebec French specifically, the engine choice matters more than the interface. Deepgram's fr-CA language code is the clearest production-grade signal that a model has been trained with Quebec data in scope. Otter's value is in the meeting-bot workflow, not in dialect accuracy. Trint's per-seat pricing at journalism-scale budgets is hard to justify when the underlying ASR quality on regional French is not differentiated.
If you are working with Metropolitan French broadcast content, most engines will give you acceptable accuracy. If your content is Quebec, the choice of engine and language code is load-bearing.
Tips Before You Transcribe
- Use
fr-CAwhen your engine supports it for any Quebec content. - Include a glossary of Quebec proper nouns and specialized vocabulary.
- For joual-heavy audio (street interviews, comedy, informal podcasts), budget review time proportional to audio length.
- Check that diacritics are intact on a short sample before processing a batch.
- For Belgian or Swiss content, verify that numbers are rendered as digits correctly, since septante, nonante, and huitante may confuse models trained on Metropolitan French.
For a broader look at how to pick a transcription tool by cost model, see the transcription pricing comparison. If you want to understand what accuracy metrics actually measure for real-world audio, transcription accuracy explained covers WER and its limits.
If you just need a clean French transcript without a meeting bot, the audio-to-text tool on ConvertAudioToText handles fr and fr-CA, preserves all diacritics, and generates summaries in French rather than in English.
Frequently Asked Questions
Does Whisper support Quebec French separately from Metropolitan French?
Whisper uses a single fr language code with no dialect distinction at the API level. It does not have a separate fr-CA path. Research benchmarks on spontaneous Quebec French (CommissionsQC dataset) show Whisper-large-v3 achieving 8.4% WER, which is competitive. Importantly, fine-tuned versions of Whisper trained exclusively on Metropolitan French actually perform worse on Quebec French than the base multilingual model, because Metropolitan fine-tuning narrows the phonological range the model can handle.
What makes Quebec French harder for AI transcription than Metropolitan French?
Two phonological features drive most of the accuracy gap. First, affrication: the dental stops /t/ and /d/ become [t͡s] and [d͡z] before high front vowels, so tu sounds like tsu and dire sounds like dzire. Second, vowel diphthongization in closed syllables, producing sounds like [ɛɪ̯] and [ɑʊ̯] that do not exist in Metropolitan French. A model trained on Metropolitan French encounters these phones as out-of-distribution input. Joual register adds dropped negation, interrogative tu, and sacrés as discourse markers, none of which appear in standard training corpora.
What are sacrés and why do they matter for transcription?
Sacrés are Quebec French expletives derived from Catholic religious terms: tabernak, câlice, crisse, osti, and roughly 2,000 recorded variants. In joual and informal Montreal speech, they appear as intensifiers and discourse markers at high frequency in spontaneous conversation. Because they are absent from or rare in training data for most ASR models, they are often transcribed as similar-sounding unrelated words, producing errors that are difficult to catch without knowledge of the register.
Does Belgian French cause the same problems as Quebec French for ASR?
No, the gap is much smaller. Belgian French phonology stays close to Metropolitan French. The main practical problem is the number vocabulary: septante (70), nonante (90) in Belgium, and septante, nonante, huitante (80 in some cantons) in Switzerland. A model trained on Metropolitan French has never seen "septante-cinq" as a token sequence for 75. Whether this produces a digit-level error depends on how the engine handles numeric normalization. Overall accuracy on Belgian and Swiss French is close to Metropolitan French accuracy, whereas Quebec French is a genuinely distinct challenge.
Should I use the fr or fr-CA language code for Canadian French content?
Use fr-CA wherever your engine supports it. Deepgram Nova-3 distinguishes these as separate language codes routing to different model variants. AssemblyAI and Whisper use a single fr code and apply dialect handling internally. For mixed content (a call center recording with both Quebec French speakers and a Metropolitan French script), fr-CA is the safer choice since Quebec's phonological divergence is larger and harder for a Metropolitan-trained model to handle when it encounters it unexpectedly.
Sources
- Deepgram Models and Languages Overview: https://developers.deepgram.com/docs/models-languages-overview
- Deepgram Nova-3 French, Spanish, Portuguese expansion: https://deepgram.com/learn/deepgram-expands-nova-3-with-spanish-french-and-portuguese-support
- Deepgram Nova-3 Multilingual WER improvements: https://deepgram.com/learn/nova-3-multilingual-major-wer-improvements-across-languages
- AssemblyAI Supported Languages: https://www.assemblyai.com/docs/supported-languages
- Benchmarking Large Pretrained Multilingual Models on Quebec French Speech Recognition (arxiv 2508.21193): https://arxiv.org/html/2508.21193v1
- Quebec French phonology (Wikipedia): https://en.wikipedia.org/wiki/Quebec_French_phonology
- Joual (Wikipedia): https://en.wikipedia.org/wiki/Joual
- Quebec French lexicon (Wikipedia): https://en.wikipedia.org/wiki/Quebec_French_lexicon
- Otter.ai Pricing: https://otter.ai/pricing
- Happy Scribe Pricing: https://www.happyscribe.com/pricing
- OIF Francophonie 2026 report (France Diplomatie): https://www.diplomatie.gouv.fr/en/french-foreign-policy/francophony-and-the-french-language/news/2026/article/international-francophonie-day-2026-french-is-now-the-fourth-most-widely-spoken
- Belgian and Swiss French numbers: http://numbersinfrench.com/regional/
Try transcription free
Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 30 minutes free, no account.
Related Articles

Arabic Transcription: MSA vs Dialects in ASR (2026 Guide)
How diglossia shapes Arabic speech-to-text accuracy. MSA vs Egyptian, Gulf, Levantine, and Maghrebi dialects: WER data, engine support, and script mechanics explained.

Mandarin Transcription: Simplified, Traditional, and Tones
Mandarin Chinese transcription: Simplified vs Traditional output, tone homophones, Cantonese honesty, and engine support in 2026.