# Phase 5: French Linguistic Engine - Research

**Researched:** 2026-04-10
**Domain:** French phonetics, syllable counting (versification), rhyme classification (IPA-based), Suno pronunciation optimization
**Confidence:** MEDIUM-HIGH

## Summary

Phase 5 extends the foundation French linguistic reference files (created in Phase 1, plan 01-03) into a complete, executable verification system. The three existing files -- `syllables.md`, `rhymes.md`, and `pronunciation.md` -- already contain the core rules in SI/ALORS format with IPA notation and worked examples. Phase 5's job is to deepen them: add edge cases, expand reference tables, formalize the verification procedure into a step-by-step checklist Claude can execute reliably, and validate that Claude can actually perform phonetic analysis with acceptable accuracy.

The critical research finding is that LLMs (including Claude) have documented weaknesses in phonological tasks. PhonologyBench (2024) found a 45-percentage-point gap between Claude-3-Sonnet (55%) and humans (90%) on syllable counting, and a 17-point gap on rhyme generation. This does NOT mean the system is unworkable -- it means the reference files must be designed to compensate for LLM weaknesses. Specifically: (1) rules must be extremely explicit with worked examples for every edge case, (2) dierese/synerese decisions must use lookup tables rather than relying on Claude's phonological intuition, (3) the verification procedure must force step-by-step decomposition (showing work) rather than letting Claude estimate, and (4) the system should acknowledge uncertainty for ambiguous cases rather than presenting false confidence.

The second key finding is that French songwriting syllable counting is more flexible than classical poetry versification. In modern chanson, e muet handling is driven by musicality, not rigid rules. The existing files already handle this with genre-dependent adjustments (rap = e muet almost always silent, pop/ballade = classical rules). Phase 5 should extend this flexibility while keeping the verification rigorous enough to catch genuine errors.

**Primary recommendation:** Expand the three existing French reference files with: (1) comprehensive dierese/synerese lookup table replacing ambiguous etymology-based rules, (2) formalized step-by-step verification procedures that Claude executes showing all work, (3) expanded pronunciation watchlist with Suno-specific mitigations, (4) validation examples that test Claude's IPA accuracy on known edge cases. The output is reference files, not code -- Claude reads and applies them.

## Standard Stack

This phase produces no code -- only enhanced markdown reference files that Claude reads and applies during track verification.

### Core

| Component | Location | Purpose | Why Standard |
|-----------|----------|---------|--------------|
| French syllable rules | `reference/linguistic/french/syllables.md` | Syllable counting with e muet, dierese, synerese, hiatus | Already exists from Phase 1. Phase 5 expands edge cases and adds verification procedure. |
| French rhyme classification | `reference/linguistic/french/rhymes.md` | Phonetic rhyme scoring (pauvre/suffisante/riche/richissime) | Already exists. Phase 5 adds pre-classified rhyme tables and suggestion engine. |
| French pronunciation guide | `reference/linguistic/french/pronunciation.md` | Suno rendering optimization | Already exists. Phase 5 expands the watchlist and adds rewrite strategies. |

### Supporting (Read Only)

| Component | Location | Purpose | When to Use |
|-----------|----------|---------|-------------|
| Suno format reference | `reference/suno/format.md` | Character limits, language handling | When verifying pronunciation guidance against Suno constraints |
| English linguistic files | `reference/linguistic/english/*.md` | Structural pattern reference | To ensure consistent format and approach across languages |
| Glossary | `reference/glossary.md` | Canonical terminology | Section names for quality thresholds |

### Alternatives Considered

| Instead of | Could Use | Tradeoff |
|------------|-----------|----------|
| Expanding existing 3 files | Creating additional files (e.g., `dierese-table.md`, `verification-procedure.md`) | Keeping everything in 3 files maintains the established pattern and avoids cross-file fragmentation. The files are well-structured with clear sections. Adding new sections is cleaner than new files. |
| Etymology-based dierese/synerese rules | Lookup table with explicit word lists | Lookup table is mandatory. LLMs cannot reliably determine Latin etymology on the fly. A table of common words with their dierese/synerese treatment is far more reliable than a rule that says "check the Latin origin." |
| Trusting Claude's IPA transcription ability | Including validation examples as self-checks | Claude's IPA accuracy for French is not benchmarked but general LLM phonological performance is weak. Including "known-answer" examples lets the verification procedure double as a calibration check. |

## Architecture Patterns

### What Phase 5 Modifies

```
reference/linguistic/french/
  syllables.md          # EXTEND: add edge cases, dierese/synerese table, verification procedure
  rhymes.md             # EXTEND: add pre-classified rhyme frequency table, suggestion workflow
  pronunciation.md      # EXTEND: expand watchlist, add rewrite strategies, liaison rules
```

No new files. No new directories. Phase 5 is purely about deepening the existing reference content.

### Pattern 1: Step-by-Step Verification Procedure (Syllable Counting)

**What:** A formalized, numbered procedure that Claude follows every time it counts syllables in French lyrics. Each step produces visible output, creating an audit trail.

**When to use:** Every time the create-track skill generates or verifies French lyrics.

**Why step-by-step matters:** PhonologyBench research shows LLMs perform significantly worse on phonological tasks when estimating vs. when decomposing step by step. The procedure forces decomposition.

**Structure:**

```markdown
## Procedure de Verification des Syllabes

**SI** les lyrics sont en francais, **ALORS** executer cette procedure ligne par ligne:

### Etape 1: Segmenter la ligne en mots
Ecrire chaque mot separement.

### Etape 2: Transcrire chaque mot en IPA
Utiliser la notation IPA standard francaise. Consulter la table de dierese ci-dessous pour les mots ambigus.

### Etape 3: Appliquer les regles e muet
Pour chaque e /ə/ dans la ligne:
- **SI** e final de vers → ne compte pas
- **SI** e avant voyelle du mot suivant → ne compte pas (elision)
- **SI** e avant h non-aspire → ne compte pas
- **SI** e avant consonne du mot suivant → compte (1 syllabe)
- **SI** e avant h aspire → compte (1 syllabe)
- **SI** terminaison -ent 3e pers. pluriel → ne compte pas
- **SI** e apres voyelle dans le meme mot → ne compte pas

### Etape 4: Appliquer dierese/synerese
**SI** le mot contient deux voyelles adjacentes:
- Consulter la table de dierese/synerese ci-dessous
- **SI** le mot est dans la table → appliquer la valeur de la table
- **SI** le mot n'est pas dans la table → appliquer la synerese (francais parle)
- **SI** genre = rap → toujours synerese sauf exception explicite

### Etape 5: Appliquer hiatus
**SI** deux voyelles de mots differents se rencontrent sans elision → chaque voyelle compte separement.

### Etape 6: Compter et presenter
Presenter la decomposition complete: mot1(N) + mot2(N) + ... = Total syllabes
Comparer au range cible pour le genre.
```

### Pattern 2: Phonetic Rhyme Verification Procedure

**What:** A formalized procedure for classifying French rhymes using IPA, not spelling.

**Why formalized:** The existing rhymes.md already has the procedure but Phase 5 must make it more robust against LLM weaknesses -- specifically, Claude may match orthographic similarity rather than phonetic similarity if not forced through the IPA step.

**Structure:**

```markdown
## Procedure de Verification des Rimes

### Etape 1: Identifier les paires de fin de ligne
Extraire les mots en fin de chaque ligne. Identifier les paires selon le schema de rimes (AABB, ABAB, etc.).

### Etape 2: Transcrire en IPA
Pour chaque mot de la paire, transcrire en IPA.
ATTENTION: NE PAS se fier a l'orthographe. "temps" = /tɑ̃/, "dent" = /dɑ̃/.

### Etape 3: Identifier la derniere voyelle accentuee
En francais, l'accent tombe toujours sur la derniere syllabe pleine.

### Etape 4: Compter les phonemes partages
Depuis la derniere voyelle accentuee jusqu'a la fin du mot, compter les phonemes identiques.

### Etape 5: Classifier
- 1 phoneme partage → pauvre
- 2 phonemes partages → suffisante
- 3 phonemes partages → riche
- 4+ phonemes partages → richissime

### Etape 6: Comparer au seuil de la section
- Chorus/Hook: minimum riche (3+)
- Verse/Pre-Chorus: minimum suffisante (2+)
- Bridge: flexible, suffisante minimum
- **SI** sous le seuil → signaler et suggerer un remplacement
```

### Pattern 3: Pronunciation Risk Scanner

**What:** A systematic scan of French lyrics for Suno rendering risks, producing a risk report.

**Structure:**

```markdown
## Procedure de Scan de Prononciation

### Scan 1: Lettres silencieuses
**SI** 2+ mots avec lettres silencieuses dans une meme ligne → ALERTE
Consulter la table "Mots a surveiller"

### Scan 2: Clustering de nasales
**SI** 3+ voyelles nasales consecutives → ALERTE
Suggerer de redistribuer sur plusieurs lignes ou alterner avec voyelles orales

### Scan 3: Mots en -tion
**SI** mot en -tion present → RAPPEL: "All lyrics in French" dans le style prompt

### Scan 4: Densite syllabique
**SI** ligne > 12 syllabes ET tempo > 120 BPM → ALERTE: risque de slurring

### Scan 5: Liaisons rares
**SI** liaison rare ou interdite detectee → signaler

### Scan 6: Homographes
**SI** homographe ambigu dans le contexte → signaler
```

### Anti-Patterns to Avoid

- **Relying on Claude's phonological intuition without decomposition:** LLMs perform dramatically worse when estimating syllable counts vs. decomposing step by step. NEVER allow a "this line has approximately N syllables" shortcut. Every count must show its work.

- **Using etymology to determine dierese/synerese:** Claude cannot reliably trace Latin origins on the fly. A lookup table is the only reliable approach. If a word is not in the table, default to synerese (modern spoken French).

- **Treating spelling as phonetics:** The single most common LLM error in French rhyme analysis. "temps" and "dent" share no letters but rhyme phonetically (/tɑ̃/ and /dɑ̃/). The verification procedure must force IPA transcription before any comparison.

- **Applying classical poetry rules to rap lyrics:** Classical versification demands full e muet counting before consonants. Rap uses spoken French where e muet is almost always dropped. The genre adjustment is critical and already present in the existing files -- Phase 5 must preserve it.

- **Over-engineering with external tools:** The system is 100% markdown executed by Claude. No Python scripts, no plint integration, no API calls. The reference files must make Claude self-sufficient.

## Don't Hand-Roll

| Problem | Don't Build | Use Instead | Why |
|---------|-------------|-------------|-----|
| Dierese/synerese decisions | Rule saying "check Latin etymology" | Explicit lookup table in syllables.md | LLMs cannot reliably determine word etymology. A table of 50-100 common words is far more reliable. |
| IPA transcription | Asking Claude to "guess" pronunciation | Reference the IPA notation already in pronunciation.md; force step-by-step transcription | Claude's phonological accuracy improves with explicit step-by-step decomposition vs. estimation. |
| Rhyme quality thresholds | Per-track custom thresholds | Section-dependent thresholds already in rhymes.md | Already decided: chorus=riche(3+), verse=suffisante(2+). Don't re-decide per track. |
| Suno language tag | Manual user remembering | Automatic "All lyrics in French" rule in pronunciation.md | Already a rule. Phase 5 just needs to reinforce it in the verification procedure. |
| Liaison risk assessment | Claude "knowing" which liaisons are problematic | Explicit liaison table (obligatory/forbidden/optional) in pronunciation.md | Liaison rules are finite and listable. A table is more reliable than LLM knowledge. |

**Key insight:** The core challenge of Phase 5 is not linguistic knowledge -- the rules are well-established in French versification. The challenge is making them reliably executable by an LLM. Every rule must be a lookup or a step-by-step procedure, never a "use your judgment" instruction.

## Common Pitfalls

### Pitfall 1: LLM Syllable Counting Inaccuracy

**What goes wrong:** Claude miscounts syllables, especially on complex lines with multiple e muet interactions, dierese/synerese words, and hiatus.

**Why it happens:** PhonologyBench (2024) documented a 45-percentage-point gap between the best LLM (Claude-3-Sonnet at 55%) and humans (90%) on syllable counting. LLMs process text as tokens, not phonemes -- they lack native phonological processing.

**How to avoid:**
1. Force step-by-step decomposition (show every word, every IPA transcription, every e muet decision)
2. Use lookup tables for ambiguous cases instead of relying on Claude's judgment
3. Include validation examples at the end of the file -- known-answer problems Claude should solve correctly as a self-check
4. Default to synerese for unlisted words (safer -- matches spoken French)

**Warning signs:** Syllable counts that don't match manual verification. Inconsistent counts for the same word in different contexts. Counts that skip the decomposition step.

### Pitfall 2: Orthographic Rhyme Matching Instead of Phonetic

**What goes wrong:** Claude matches rhymes by spelling similarity rather than phonetic similarity. "temps" /tɑ̃/ and "dent" /dɑ̃/ are classified as non-rhyming because they share no letters, while "amour" /amuʁ/ and "jour" /ʒuʁ/ are over-rated because they share "-our" visually.

**Why it happens:** LLMs are trained on text, not speech. Token-level processing favors orthographic pattern matching over phonetic analysis.

**How to avoid:**
1. The verification procedure MUST require IPA transcription before any rhyme comparison
2. Include counter-intuitive examples (words that look different but rhyme, words that look similar but don't)
3. The rhyme table should include IPA for every entry, not just the word spelling
4. Add a "Pieges orthographiques" section with common false-friend examples

**Warning signs:** Rhyme classifications that seem to correlate with spelling similarity rather than sound similarity. Missing nasal vowel rhymes (/ɑ̃/ words rhyming across different spellings: an/en/am/em).

### Pitfall 3: Over-Strict Classical Rules on Modern Lyrics

**What goes wrong:** Every e muet before a consonant is counted, every dierese from classical poetry is applied, resulting in inflated syllable counts that don't match how the lyrics would actually be sung.

**Why it happens:** The classical versification rules (alexandrine, e muet counting, mandatory dierese) are well-documented and Claude may default to them. But modern chanson and pop lyrics follow spoken French more than classical poetry.

**How to avoid:**
1. Genre-dependent rule sets are already in the existing files -- Phase 5 must preserve and extend them
2. For rap/spoken word: default to spoken French (e muet almost always silent, synerese preferred)
3. For pop/ballade: apply classical rules with flexibility for melodic needs
4. For all genres: the target syllable range (e.g., 8-16 for rap, 6-10 for pop) is a better quality signal than rigid counting

**Warning signs:** Syllable counts consistently 2-3 higher than what a French speaker would naturally sing.

### Pitfall 4: Incomplete Dierese/Synerese Table

**What goes wrong:** A word not in the lookup table causes Claude to either guess wrong or default silently, producing an incorrect syllable count without flagging the ambiguity.

**Why it happens:** French has hundreds of words with ambiguous vowel clusters. Any finite table will miss some.

**How to avoid:**
1. The table should cover the 80-100 most common words in song lyrics (not academic French)
2. Include a clear default rule: "SI le mot n'est pas dans la table, ALORS appliquer la synerese (1 syllabe) et signaler l'ambiguite"
3. The Notes section should explicitly state the table covers ~90% of cases and will be expanded over time
4. Phase 7 integration should flag ambiguous cases in the verification report

**Warning signs:** Words with -ion, -ien, -ieux, -uel suffixes not in the table producing inconsistent counts.

### Pitfall 5: Pronunciation Guidance Without Actionable Mitigations

**What goes wrong:** The pronunciation file flags risks ("this word has silent letters") but doesn't tell the user what to DO about it.

**Why it happens:** The existing file already has mitigations but they are generic ("redistribuer" / "simplifier"). Phase 5 needs specific rewrite strategies.

**How to avoid:**
1. For every flagged risk, provide a concrete rewrite suggestion (e.g., "Replace 'temps' with 'moment' if the silent letters cause issues")
2. Include "safe alternatives" for the most commonly flagged words
3. The Suno-specific strategies (phonetic spelling, hyphenation) from HookGenius should be documented
4. Distinction between "flag for awareness" and "must fix" severity levels

**Warning signs:** Pronunciation reports that flag issues but leave the user unsure what to change.

## Code Examples

These are markdown reference file examples -- the system is zero-code.

### Example 1: Dierese/Synerese Lookup Table (for syllables.md)

```markdown
### Table de reference dierese/synerese

**SI** le mot est dans cette table, **ALORS** appliquer le traitement indique.
**SI** le mot n'est pas dans cette table, **ALORS** appliquer la synerese par defaut et signaler l'ambiguite.

| Mot | Traitement | Syllabes | IPA | Notes |
|-----|-----------|----------|-----|-------|
| passion | dierese | 3 (pa-ssi-on) | /pa.sjɔ̃/ | -ion toujours en dierese classique |
| nation | dierese | 3 (na-ti-on) | /na.sjɔ̃/ | -tion = -sion en IPA |
| creation | dierese | 4 (cre-a-ti-on) | /kʁe.a.sjɔ̃/ | Double dierese: e-a et i-on |
| emotion | dierese | 4 (e-mo-ti-on) | /e.mo.sjɔ̃/ | |
| lion | dierese | 2 (li-on) | /li.ɔ̃/ | |
| violet | dierese | 3 (vi-o-let) | /vi.ɔ.lɛ/ | |
| cruel | dierese | 2 (cru-el) | /kʁy.ɛl/ | -uel en dierese |
| hier | synerese | 1 (hier) | /jɛʁ/ | Francais moderne |
| pied | synerese | 1 (pied) | /pje/ | Diphtongue etablie |
| beau | synerese | 1 (beau) | /bo/ | Diphtongue -eau |
| ciel | synerese | 1 (ciel) | /sjɛl/ | |
| pluie | synerese | 1 (pluie) | /plɥi/ | |
| nuit | synerese | 1 (nuit) | /nɥi/ | |
| bien | synerese | 1 (bien) | /bjɛ̃/ | -ien en synerese dans parle |
| rien | synerese | 1 (rien) | /ʁjɛ̃/ | -ien en synerese dans parle |
| ancien | dierese | 3 (an-ci-en) | /ɑ̃.sjɛ̃/ | -ien en dierese classique |
| essentiel | dierese | 4 (e-ssen-ti-el) | /e.sɑ̃.sjɛl/ | -iel en dierese |
| experience | dierese | 5 (ex-pe-ri-en-ce) | /ɛks.pe.ʁi.ɑ̃s/ | |
| science | dierese | 2 (sci-ence) | /sjɑ̃s/ | Synerese en parle courant |
| patience | dierese | 3 (pa-ti-ence) | /pa.sjɑ̃s/ | |
| conscience | dierese | 3 (con-sci-ence) | /kɔ̃.sjɑ̃s/ | |
| influence | dierese | 3 (in-flu-ence) | /ɛ̃.fly.ɑ̃s/ | |
| silence | synerese | 2 (si-lence) | /si.lɑ̃s/ | Pas de voyelles adjacentes |
| violence | dierese | 3 (vi-o-lence) | /vi.ɔ.lɑ̃s/ | |
| confiance | dierese | 3 (con-fi-ance) | /kɔ̃.fi.jɑ̃s/ | |
| alliance | dierese | 3 (al-li-ance) | /a.li.jɑ̃s/ | |
| habitude | synerese | 3 (ha-bi-tude) | /a.bi.tyd/ | Pas de voyelles adjacentes |
| poesie | dierese | 4 (po-e-si-e) | /po.e.zi/ | e final ne compte pas |
| intuition | dierese | 5 (in-tu-i-ti-on) | /ɛ̃.tɥi.sjɔ̃/ | |
| revolution | dierese | 5 (re-vo-lu-ti-on) | /ʁe.vo.ly.sjɔ̃/ | |
| situation | dierese | 5 (si-tu-a-ti-on) | /si.ty.a.sjɔ̃/ | |
| communication | dierese | 6 (co-mmu-ni-ca-ti-on) | /ko.my.ni.ka.sjɔ̃/ | |
```

### Example 2: Liaison Risk Table (for pronunciation.md)

```markdown
### Liaisons: regles pour Suno

#### Liaisons obligatoires (Suno les gere bien)
| Contexte | Exemple | Prononciation |
|----------|---------|---------------|
| Determinant + nom | "les amis" | /le.za.mi/ |
| Pronom sujet + verbe | "nous avons" | /nu.za.vɔ̃/ |
| Adjectif + nom | "petit ami" | /pə.ti.ta.mi/ |
| Nombre + nom | "deux enfants" | /dø.zɑ̃.fɑ̃/ |
| Preposition monosyllabique | "dans un" | /dɑ̃.zœ̃/ |

#### Liaisons interdites (Suno peut les faire a tort)
| Contexte | Exemple | ATTENTION |
|----------|---------|-----------|
| Apres "et" | "et il" | JAMAIS /e.til/ — toujours /e.il/ |
| Nom singulier + verbe | "le chat arrive" | JAMAIS /ʃa.ta.ʁiv/ |
| Devant h aspire | "les heros" | JAMAIS /le.ze.ʁo/ — /le.e.ʁo/ |
| Devant onze, oui | "les onze" | JAMAIS /le.zɔ̃z/ |

#### Liaisons facultatives (a eviter pour Suno)
**SI** la liaison est facultative, **ALORS** preferer la non-liaison pour reduire l'ambiguite Suno.
```

### Example 3: Validation Examples (Self-Check for syllables.md)

```markdown
## Exemples de Validation (Self-Check)

Ces exemples ont des reponses connues. Claude doit les resoudre correctement en appliquant la procedure ci-dessus. Si le resultat diverge, revoir la procedure pas a pas.

### Test 1: "Je me souviens de cette nuit etoilee"
**Reponse attendue:** 11 syllabes
- Je(1) me(1-avant "sou"=consonne, donc compte) sou-viens(2) de(1-avant "cette"=consonne) cet-te(2-e avant "nuit"=consonne) nuit(1) e-toi-lee(2-e final ne compte pas)
- je-me-sou-viens-de-cet-te-nuit-e-toi-le = 11

### Test 2: "La passion de la creation"
**Reponse attendue:** 10 syllabes (avec dierese sur passion et creation)
- La(1) pa-ssi-on(3-dierese) de(1-avant "la"=consonne) la(1) cre-a-ti-on(4-dierese)
- la-pa-ssi-on-de-la-cre-a-ti-on = 10

### Test 3: "Belle amie, tu me manques ce soir"
**Reponse attendue:** 8 syllabes
- bel(1-"belle" e avant voyelle "amie"=elision) a-mie(2) tu(1) me(1-avant "manques"=consonne) manques(1-e interne apres voyelle non compte, "manqu"=1) ce(1-avant "soir"=consonne) soir(1)
- Note: recompter — bel-la-mie-tu-me-manque-ce-soir = 8
```

### Example 4: Rhyme Counter-Examples (for rhymes.md)

```markdown
### Pieges orthographiques (faux amis phonetiques)

**Rimes qui SEMBLENT ne pas rimer (orthographe differente, mais riment en IPA):**

| Mot 1 | IPA | Mot 2 | IPA | Phonemes partages | Classification |
|-------|-----|-------|-----|-------------------|---------------|
| temps | /tɑ̃/ | dent | /dɑ̃/ | /ɑ̃/ = 1 | Pauvre |
| sang | /sɑ̃/ | vent | /vɑ̃/ | /ɑ̃/ = 1 | Pauvre |
| eau | /o/ | haut | /o/ | /o/ = 1 | Pauvre |
| faim | /fɛ̃/ | vin | /vɛ̃/ | /ɛ̃/ = 1 | Pauvre |

**Rimes qui SEMBLENT rimer (orthographe similaire, mais ne riment PAS en IPA):**

| Mot 1 | IPA | Mot 2 | IPA | Pourquoi pas |
|-------|-----|-------|-----|-------------|
| fille | /fij/ | ville | /vil/ | /ij/ vs /il/ — voyelles differentes |
| femme | /fam/ | flamme | /flam/ | Ces deux RIMENT en fait: /am/ = suffisante. Exemple de ou l'orthographe peut induire en erreur dans l'autre sens. |
```

## State of the Art

| Old Approach | Current Approach | When Changed | Impact |
|--------------|------------------|--------------|--------|
| Classical poetry versification (strict e muet, mandatory dierese) | Hybrid approach: classical rules as baseline, genre-dependent relaxation | Modern chanson tradition | Song lyrics are more flexible than poetry. Genre determines strictness. |
| Orthographic rhyme matching | IPA-based phonetic analysis | Standard in computational linguistics | Eliminates false matches. Critical for French with its complex spelling-sound relationship. |
| Manual verification (songwriter knows the rules) | AI-assisted verification with forced decomposition | 2024-2025 (LLM era) | LLMs need explicit procedures, not intuition. Step-by-step decomposition compensates for phonological weakness. |
| Single pronunciation standard | Suno-aware pronunciation guidance | 2023-2025 (AI music generation) | Suno has specific failure modes (silent letters, nasal clustering, -tion anglicization) that classical pronunciation guides don't address. |

**Deprecated/outdated:**
- **Pure etymology-based dierese/synerese:** Unreliable for LLM execution. Replace with lookup tables.
- **Single syllable count per line:** Modern lyrics can have variable counts depending on delivery. Range-based targets are more appropriate.

## Open Questions

1. **Claude's IPA accuracy for French**
   - What we know: PhonologyBench tested Claude-3-Sonnet on English phonological tasks and found 55% syllable accuracy. No French-specific benchmarks exist.
   - What's unclear: How accurate is Claude at IPA transcription of French words specifically? Is it better or worse than English?
   - Recommendation: Include validation examples in the reference files. If Claude consistently gets the known-answer examples right, the system is usable. If not, flag it and consider simplifying the procedure. This was already identified as a research blocker in the roadmap.

2. **Dierese/synerese table completeness**
   - What we know: Classical French prosody has hundreds of dierese/synerese decisions. The table in Phase 1 has ~25 entries.
   - What's unclear: How many more words commonly appear in song lyrics that need explicit entries?
   - Recommendation: Expand to 50-100 entries focusing on words common in French chanson, pop, rap. Include a default rule (synerese for unlisted words). The table is extensible -- add entries as edge cases arise in actual track production.

3. **Suno V5.5 French rendering quality**
   - What we know: Suno handles French as one of its best-supported non-English languages. The pronunciation.md file documents known pitfalls.
   - What's unclear: Has V5.5 specifically improved French pronunciation over V4? Are there new pitfalls?
   - Recommendation: The existing pronunciation guidance from format.md and HookGenius is the best available. Accept MEDIUM confidence and update the file when empirical data becomes available from actual track production.

4. **Richissime threshold in practice**
   - What we know: Richissime is defined as 4+ shared phonemes. It's the ideal for chorus/hook.
   - What's unclear: How often is richissime achievable in practice without forcing awkward word choices? Is it a realistic target or an aspirational one?
   - Recommendation: Keep richissime as "recommended for maximum impact" but don't make it a hard requirement for any section. Riche (3+) as the chorus minimum is already strict enough.

## Sources

### Primary (HIGH confidence)
- `reference/linguistic/french/syllables.md` -- existing foundation rules, IPA notation, worked examples
- `reference/linguistic/french/rhymes.md` -- existing rhyme classification, section thresholds, verification procedure
- `reference/linguistic/french/pronunciation.md` -- existing Suno pitfalls, nasal vowels, silent letters
- `reference/suno/format.md` -- Suno V5.5 constraints, language handling, character limits
- [PhonologyBench: Evaluating Phonological Skills of Large Language Models (2024)](https://arxiv.org/html/2404.02456v1) -- LLM phonological performance benchmarks

### Secondary (MEDIUM confidence)
- [French versification rules - etudes-litteraires.com](https://www.etudes-litteraires.com/versification/vers) -- classical versification reference
- [E muet en chanson - Academie de la Chanson](https://academiedelachanson.fr/e-muet-en-chanson/) -- e muet flexibility in modern songwriting
- [Compagnie Litteraire - e caduc, synerese/dierese](https://www.compagnie-litteraire.com/poesie-lecon-decriture-2-e-caduc-syneresedierese-enjambement/) -- dierese/synerese rules with examples
- [Rime riche - Wikipedia](https://en.wikipedia.org/wiki/Rime_riche) -- rhyme classification definitions
- [Rime riche - Britannica](https://www.britannica.com/art/rime-riche) -- rhyme classification authoritative source
- [French liaison rules - Coffee Break Languages](https://coffeebreaklanguages.com/2024/07/french-liaison-rules-when-not-to-make-the-liaison/) -- obligatory/forbidden/optional liaison categories
- [French required liaisons - The Perfect French](https://theperfectfrench.com/pronunciation/french-required-liaisons/) -- liaison rule details
- [French forbidden liaisons - Master Your French](https://www.masteryourfrench.com/french-pronunciation/forbidden-liaisons/) -- forbidden liaison list

### Tertiary (LOW confidence)
- [Suno Pronunciation Fix Guide - HookGenius](https://hookgenius.app/learn/fix-suno-pronunciation/) -- English-focused but general phonetic spelling technique applicable to French
- [Suno v5 Multilingual Guide - Jack Righteous](https://jackrighteous.com/en-us/blogs/guides-using-suno-ai-music-creation/suno-v5-multilingual-english-pronunciation-guide) -- general multilingual tips, not French-specific
- [plint - French poetry checker](https://plint.a3nm.net/en/about) -- reference for how computational French versification works (not usable directly, Python-based)

## Metadata

**Confidence breakdown:**
- Standard stack: HIGH -- the 3 existing files are well-structured, IPA-based, with SI/ALORS rules. Phase 5 extends, not replaces.
- Architecture (verification procedures): MEDIUM-HIGH -- step-by-step decomposition is the right approach for LLM phonological tasks, well-supported by PhonologyBench findings. Exact procedure details may need iteration.
- Pitfalls: HIGH -- LLM phonological weaknesses are well-documented. The mitigations (lookup tables, forced decomposition, validation examples) are evidence-based.
- Dierese/synerese table completeness: MEDIUM -- the table covers the most common cases but will need extension during actual use.
- Suno pronunciation: MEDIUM -- based on community guides and format.md, not direct V5.5 French testing.

**Research date:** 2026-04-10
**Valid until:** 2026-05-10 (30 days -- stable domain, classical French phonetics don't change, but Suno behavior may evolve)
