Irish IPA Transcription - Help
← Back to Irish transcription ↑ All Languages
Table of Contents
- Getting Started
- Quick Reference (Glossary)
- How to Read IPA Symbols
- Irish Pronunciation Guide
- Orthography to IPA Mapping
- Dialect Comparison
- For Developers
About This Tool
Irish Dialects
Irish (Gaeilge) has three major dialect groups — Connacht, Munster, and Ulster — each with distinct phonological patterns. This tool supports all three dialects. Key dialectal differences include vowel quality (e.g., Connacht /aː/ vs Munster /æː/), consonant realization (e.g., word-final broad bh/mh → vˠ/vʲ in Connacht, weakened to w in some Ulster varieties), and stress placement (Munster attracts stress to sonorant-onset syllables). See the Wiktionary IPA/Irish module for the full reference.
This Irish transcription app uses a custom 17-pass phonological rule engine to generate IPA (International Phonetic Alphabet) transcriptions for Irish text. Unlike other languages on this site, there is no Wiktionary pronunciation module for Irish — Irish IPA on Wiktionary is hand-entered per word. This engine provides automatic grapheme-to-phoneme (G2P) conversion for all three major dialects, making it the first browser-based automatic Irish IPA generator.
The engine uses a hybrid architecture: a 17-pass phonological rule pipeline based on Irish linguistics literature (Hickey 2014, Fuaimeanna na Gaeilge) plus a generated per-dialect lexical exception layer for known words. When a word is in the exception dictionary, the lexicon entry overrides the rule output for maximum accuracy. For unknown words, the rule-only output provides the best available generalization.
Dialects: Connacht, Munster & Ulster
Irish has three major spoken dialects, each with distinct phonological systems. This tool supports all three:
- Connacht (primary target, most tuned): Spoken in counties Galway and Mayo. Features include anticipatory raising (coláiste → [kʊlˠaːʃtʲə]), broad l/n as denti-alveolar [l̪ˠ]/[n̪ˠ], and slender coda vowel gradation.
- Munster (Southern, Kerry/Cork): Distinctive stress attraction to long vowels in non-initial syllables (cailín → [kaˈlʲiːnʲ]), éa-breaking ([eː] → [iːa̯]), epenthesis in obstruent+sonorant clusters, final -igh/-aigh → [ɪɟ], and verbal -f(e)adh → [əx].
- Ulster (Northern, Donegal): Extensive post-tonic long-vowel shortening (scadán → [ˈsˠkad̪ˠənˠ]), a-fronting before slender consonants (baile → [ˈbˠælʲə]), o/u merger to [ʌ], ch-weakening [x]→[h], final vowel realizations (-adh→[u], -igh→[i]), and vowel nasalization before surviving mh.
Phonemic vs Phonetic
- Phonemic: A broad transcription based on the rule pipeline + lexical exceptions. Represents the abstract phoneme system of the selected dialect.
- Phonetic: Not currently available for Irish. The engine produces phonemic output with some allophonic detail (quality diacritics, stress placement).
Quick Reference (Glossary)
- Broad / Slender (Caol / Leathan)
- The fundamental distinction in Irish phonology. Consonants are marked as broad (velarized, ˠ) when adjacent to broad vowels (a, o, u) or slender (palatalized, ʲ) when adjacent to slender vowels (e, i). This distinction changes meaning: bó [bˠoː] (cow) vs beo [bʲoː] (alive).
- Lenition (Séimhiú)
- A grammatical mutation that turns stops into fricatives: b→bh [vˠ/vʲ], c→ch [x/ç], d→dh [ɣ/ɟ/j], g→gh [ɣ/ɟ/j], m→mh [w/vˠ/vʲ], p→ph [fˠ/fʲ], s→sh [h/ç], t→th [h/ç]. Marked by adding ⟨h⟩ after the consonant.
- Eclipsis (Urú)
- A grammatical mutation where voiced stops become nasals and voiceless stops become voiced: b→mb [m], c→gc [g], d→nd [n], f→bhf [w/vˠ], g→ng [ŋ], p→bp [b], t→dt [d]. Marked by a prefix.
- Velarization (Broad)
- A secondary articulation marked by ˠ, where the back of the tongue is raised toward the velum during consonant articulation. Gives a "dark" quality, noticeable on l [l̪ˠ] vs [lʲ].
- Palatalization (Slender)
- A secondary articulation marked by ʲ, where the tongue body is raised toward the hard palate during consonant articulation. Gives a "light" or "y-like" quality.
- Dental Consonant
- Broad coronal consonants (t, d, l, n) are articulated with the tongue against the upper teeth in Irish, marked with ̪: t̪ˠ, d̪ˠ, l̪ˠ, n̪ˠ.
- Postalveolar Consonant
- Slender coronal consonants (t, d, l, n) are articulated with the tongue blade against the postalveolar region in many dialects, marked with ̠: t̠ʲ, d̠ʲ, l̠ʲ, n̠ʲ.
- Schwa
- A neutral vowel sound ə, common in unstressed syllables — the default reduced vowel in Irish.
- Fada (Síneadh Fada)
- The acute accent over vowels (á, é, í, ó, ú) marking them as long. This is phonemic: cas [kasˠ] (turn) vs cás [kɑːsˠ] (case).
- Diphthong
- A gliding vowel sound where the tongue changes position during articulation. Irish has several from vowel+fricative vocalization: əu (from -abh/-amh), iə (from -ia-), uə (from -ua-).
- Anticipatory Raising
- A Connacht feature where short /a/ or /o/ in the first syllable raises to [ɪ]/[ʊ] when followed by a syllable with long [aː]: coláiste [kʊlˠaːʃtʲə], caisleán [kɪʃlʲɑːnˠ].
- Svarabhakti (Epenthesis)
- An epenthetic vowel [ə] inserted between heterorganic sonorant+obstruent clusters: dearg [ˈdʲaɾˠəɡ], gorm [ˈɡɔɾˠəmˠ]. In Munster, extends to obstruent+sonorant clusters: ocrach [ˈɔkɾˠəx] → [ˈɔkəɾˠəx].
- Primary Stress
- The main emphasis in a word (marked ˈ). Defaults to the first syllable in Connacht and Ulster, but attracted to long vowels in Munster.
- Secondary Stress
- Weaker emphasis (marked ˌ) on later syllables in long words or compounds.
- Devoicing
- Word-final devoicing of voiced stops: díobh → final [vʲ]→[fʲ]. Also applies regressively before certain suffixes.
- Glide Insertion
- Insertion of [j] or [w] between vowels in hiatus, or in Ulster word-final position after gh/dh vocalization: brúigh → [bˠɾˠuːj].
How to Read IPA Symbols
This table helps you understand the IPA symbols used in Irish transcriptions. For each symbol, we provide approximate English equivalents where possible.
Vowel Symbols
Irish vowels come in short/long pairs. Quality varies significantly by dialect — the values below show the Connacht system; see the Dialect Comparison section for Munster and Ulster variants.
| IPA | Orthography | English Approximation | Notes |
|---|---|---|---|
| /a/ | a (short) | "cup" (UK) | Short front vowel |
| /ɑː/ | á (long a) | "father" | Long back vowel (Connacht) |
| /aː/ | á (long a) | "father" | Long central vowel (Ulster) |
| /ɛ/ | e (short) | "bed" | Short mid front |
| /eː/ | é, éa, eo | "say" (without glide) | Pure long /e/ |
| /ɪ/ | i (short) | "sit" | Short lax high front |
| /iː/ | í, ao, aí | "see" (without glide) | Long high front |
| /ɔ/ | o (short) | "law" (UK) | Short mid back |
| /oː/ | ó, eo | "go" (without glide) | Long mid back |
| /ʊ/ | u (short) | "put" | Short lax high back |
| /uː/ | ú | "food" (without glide) | Long high back |
| /ə/ | unstressed vowels | "about" | Schwa, reduced vowel |
| /əu/ | -abh-, -amh- | "goat" (Scottish) | Diphthong from bh/mh vocalization |
| /au/ | -abh-, -amh- (Ulster) | "cow" | Ulster open diphthong |
| /iə/ | ia | "fear" (without r) | Diphthong, i-glide to schwa |
| /uə/ | ua | "truant" (without r) | Diphthong, u-glide to schwa |
| /iːa̯/ | éa (Munster broken) | No English equivalent | Munster éa-breaking; prolonged i + a offglide |
| /ʌ/ | o/u (Ulster short) | "cup" | Ulster o/u merger |
| /æ/ | a before slender C (Ulster) | "cat" | Ulster a-fronting |
Consonant Symbols
Irish consonants come in broad (velarized, ˠ) and slender (palatalized, ʲ) pairs. The place of articulation shifts as well — broad coronal consonants are dental, slender coronal consonants are postalveolar.
| IPA | Orthography | English Approximation | Notes |
|---|---|---|---|
| /pˠ/ | p (broad) | "pot" (velarized) | Voiceless bilabial stop, broad |
| /pʲ/ | p (slender) | "pew" | Voiceless bilabial stop, palatalized |
| /t̪ˠ/ | t (broad) | "top" (dental) | Voiceless dental stop, broad |
| /t̠ʲ/ | t (slender) | "tune" (postalveolar) | Voiceless postalveolar stop, slender |
| /d̪ˠ/ | d (broad) | "dog" (dental) | Voiced dental stop, broad |
| /d̠ʲ/ | d (slender) | "dew" (postalveolar) | Voiced postalveolar stop, slender |
| /k/ | c (broad) | "cat" | Voiceless velar stop |
| /c/ | c (slender) | "cute" (without glide) | Voiceless palatal stop |
| /ɡ/ | g (broad) | "got" | Voiced velar stop |
| /ɟ/ | g (slender) | "argue" (without glide) | Voiced palatal stop |
| /fˠ/ | f (broad) | "fog" (velarized) | Voiceless labiodental fricative |
| /fʲ/ | f (slender) | "few" | Voiceless labiodental fricative, palatalized |
| /vˠ/ | bh/mh (broad) | "vow" (velarized) | Voiced labiodental fricative, broad |
| /vʲ/ | bh/mh (slender) | "view" | Voiced labiodental fricative, palatalized |
| /w/ | bh/mh (broad, lenited) | "wow" | Approximant realization after vowel |
| /sˠ/ | s (broad) | "saw" (velarized) | Voiceless alveolar fricative, broad |
| /ʃ/ | s (slender), sh | "show" | Voiceless postalveolar fricative |
| /h/ | h, th, sh (initial) | "hat" | Voiceless glottal fricative |
| /ç/ | ch (slender), th (slender) | "huge" (stronger) | Voiceless palatal fricative |
| /x/ | ch (broad) | Scottish "loch" | Voiceless velar fricative |
| /ɣ/ | dh/gh (broad, lenited) | Spanish "amigo" | Voiced velar fricative |
| /j/ | dh/gh (slender, lenited) | "yes" | Voiced palatal approximant |
| /ɾˠ/ | r (broad) | "row" (tap, velarized) | Broad alveolar tap |
| /ɾʲ/ | r (slender) | "rye" (tap, palatalized) | Slender alveolar tap |
| /l̪ˠ/ | l (broad, dental) | "call" (dental, dark) | Broad denti-alveolar lateral |
| /lˠ/ | l (broad, non-dental) | "call" (dark) | Broad alveolar lateral (non-dental contexts) |
| /l̠ʲ/ | l (slender, postalveolar) | "million" (retracted) | Slender postalveolar lateral |
| /lʲ/ | l (slender, plain) | "million" | Slender palatal lateral |
| /n̪ˠ/ | n (broad, dental) | "no" (dental, dark) | Broad denti-alveolar nasal |
| /nˠ/ | n (broad, non-dental) | "no" (dark) | Broad alveolar nasal |
| /n̠ʲ/ | n (slender, postalveolar) | "onion" (retracted) | Slender postalveolar nasal |
| /nʲ/ | n (slender, plain) | "onion" | Slender palatal nasal |
| /ŋ/ | ng, n before g/c | "sing" | Velar nasal |
| /mˠ/ | m (broad) | "mow" (velarized) | Bilabial nasal, broad |
| /mʲ/ | m (slender) | "mew" | Bilabial nasal, palatalized |
| /ɟ/ | -igh (Munster) | "argue" (without glide) | Munster palatal stop from -igh/-aigh |
Diacritical Marks
| Symbol | Name | Meaning | Example |
|---|---|---|---|
| ˈ | Primary stress | Main emphasis in word | ˈkalʲiːnʲ (cailín, Connacht) |
| ˌ | Secondary stress | Weaker emphasis | ˌciːlʲ vˠɑn̪ˠˈt̪ˠɑːnʲ (Cill Mhantáin) |
| ː | Length mark | Vowel is long | aː vs a |
| ˠ | Velarized (broad) | Consonant has velar quality | t̪ˠ, l̪ˠ, n̪ˠ, sˠ |
| ʲ | Palatalized (slender) | Consonant has palatal quality | t̠ʲ, l̠ʲ, n̠ʲ, pʲ |
| ̪ | Dental | Consonant articulated at teeth | t̪ˠ, d̪ˠ, l̪ˠ, n̪ˠ |
| ̠ | Postalveolar | Consonant articulated behind alveolar ridge | t̠ʲ, d̠ʲ, l̠ʲ, n̠ʲ |
| ̃ | Nasalized | Vowel has nasal quality | ɑ̃ː (Ulster, before mh) |
| e̯ | Non-syllabic | Part of diphthong | iːa̯ (Munster éa-breaking) |
| j | Palatal glide | Glide after vowel | bˠɾˠuːj (Ulster, brúigh) |
Interactive Features
- Dialect selection: Choose Connacht, Munster, or Ulster from the Style dropdown to see dialect-specific transcriptions. The same word can produce very different IPA across dialects.
- Audio playback: Click the speaker icon next to any word or line to hear text-to-speech pronunciation (requires browser TTS support for Irish, language code ga-IE).
- Export results: Use PDF or CSV buttons to save transcriptions in your preferred format.
Irish Pronunciation Guide
This guide explains the fundamental rules of Irish pronunciation. Irish has a complex but largely regular orthography once the rules of broad/slender consonant quality, vowel length, stress, and mutation are understood.
Broad vs Slender (Caol vs Leathan)
The single most important concept in Irish phonology: every consonant has two varieties depending on the adjacent vowels. The rule is summarized: "caol le caol agus leathan le leathan" (slender with slender and broad with broad).
The Polarity Rule
- Broad vowels: a, á, o, ó, u, ú — make adjacent consonants velarized [ˠ] and dental/coronal
- Slender vowels: e, é, i, í — make adjacent consonants palatalized [ʲ] and postalveolar
Effect on Consonant Quality
| Consonant | Broad (velarized) | Slender (palatalized) |
|---|---|---|
| t | t̪ˠ | t̠ʲ |
| d | d̪ˠ | d̠ʲ |
| l | l̪ˠ (dental) or lˠ | l̠ʲ (postalveolar) or lʲ |
| n | n̪ˠ (dental) or nˠ | n̠ʲ (postalveolar) or nʲ |
| r | ɾˠ | ɾʲ |
| s | sˠ | ʃ |
| g | ɡ | ɟ |
| c | k | c |
Minimal Pairs
Broad vs slender quality distinguishes meaning:
| Broad (velarized) | IPA | Meaning | Slender (palatalized) | IPA | Meaning |
|---|---|---|---|---|---|
| bó | bˠoː | cow | beo | bʲoː | alive |
| cá | kɑː | where | cé | ceː | who |
| lán | l̪ˠɑːn̪ˠ | full | léan | l̠ʲeːn̪ˠ | sorrow |
| geal | ɟalˠ | bright | gil | ɟɪlʲ | gel |
Vowel Length & Quality
Irish distinguishes long and short vowels phonemically. Short vowels are lax; long vowels are tense.
Long Vowels
- Fada-marked: á, é, í, ó, ú are always long (á → [ɑː], é → [eː], í → [iː], ó → [oː], ú → [uː])
- Digraphs: Many vowel digraphs represent a single long vowel or diphthong: ao → [iː], eo → [oː]/[ɔː], ía → [iə], úa → [uə]
- Vowel lengthening before geminates: Short vowels lengthen before heavy sonorant clusters in monosyllables: ceann → [cɑːn̪ˠ], poll → [pˠoːl̪ˠ]
Short Vowels
- a → [a] (front), o → [ɔ], u → [ʊ], i → [ɪ], e → [ɛ]
- Unstressed reduction: Unstressed short vowels reduce to schwa [ə]
- Vowel gradation: Short vowels can raise/lower depending on coda consonant quality (Connacht: broad coda keeps [a], slender coda raises to [ɛ])
The Pairing Principle
| Letter | Long IPA | Short IPA | Long Example | Short Example |
|---|---|---|---|---|
| a/á | /ɑː/ | /a/ | cás /kɑːsˠ/ | cas /kasˠ/ |
| e/é | /eː/ | /ɛ/ | sé /ʃeː/ | se /ʃɛ/ |
| i/í | /iː/ | /ɪ/ | sí /ʃiː/ | si /ʃɪ/ |
| o/ó | /oː/ | /ɔ/ | bó /bˠoː/ | bo /bˠɔ/ |
| u/ú | /uː/ | /ʊ/ | tú /t̪ˠuː/ | tu /t̪ˠʊ/ |
Stress Patterns
Irish stress patterns vary dramatically by dialect — this is one of the most distinctive differences.
Connacht & Ulster: Initial Stress
- Default rule: Primary stress falls on the first syllable: cailín [ˈkalʲiːnʲ], Gaeltacht [ˈɡeːl̪ˠt̪ˠəxt̪ˠ]
- Compounds: First component carries primary stress: Gaeltacht [ˈɡeːl̪ˠt̪ˠəxt̪ˠ], deirfiúr [ˈdʲɛɾʲəfʲuːɾʲ]
- Second syllable stress: A small set of a-prefixed adverbs take second-syllable stress: arís [əˈɾʲiːʃ], amach [əˈmˠax]
Munster: Stress Attraction
Munster stress is attracted to the first long vowel or diphthong after the first syllable (Hickey II.3, Ó Sé):
- Long vowel in σ₂: Stress moves to σ₂ — cailín [kaˈlʲiːnʲ], Tomáisín [t̪ˠəˌmˠɑːˈʃiːnʲ]
- Short + short + long (σ₃): Stress lands on σ₃ — ceannasaí [canˠəˈsˠiː]
- -(e)acht attraction: Short σ₁ + -(e)acht in σ₂ attracts stress unless the σ₂ onset is a sonorant (r/l/n/h): portach [pəɾˠˈt̪ˠɑx] vs ocrach [ˈɔkɾˠəx]
- Verbal resistance: Synthetic verb endings resist attraction: freastalaím [ˈfʲɾʲasˠt̪ˠəlˠiːmʲ]
Lenition (Séimhiú)
Lenition is a grammatical mutation triggered by specific contexts (possessive adjectives, past tense, etc.). It adds ⟨h⟩ after the consonant and changes its pronunciation:
| Radical | Lenited | IPA Broad | IPA Slender | Note |
|---|---|---|---|---|
| b | bh | /vˠ/ | /vʲ/ | Often [w] after vowels |
| c | ch | /x/ | /ç/ | Velar/palatal fricative |
| d | dh | /ɣ/ | /j/ | Often silent in codas |
| f | fh | /∅/ | Always silent (leaves quality trace) | |
| g | gh | /ɣ/ | /j/ | Same as dh when lenited |
| m | mh | /vˠ/ | /vʲ/ | Often [w] after vowels, nasalized in Ulster |
| p | ph | /fˠ/ | /fʲ/ | Labiodental fricative |
| s | sh | /h/ | /ç/ | Glottal/palatal fricative |
| t | th | /h/ | /h/ or /ç/ | Often silent word-finally |
Lenition Realizations
- After vowels: bh/mh weaken to [w] (or [vˠ]/[vʲ] if sustained): leabhar [l̠ʲauɾˠ], scríobh [ʃcɾʲiːw]
- Intervocalic dh/gh: Silent or [j]/[ɣ]: fidheall [ˈfʲiːəl̪ˠ], laghad [ˈl̪ˠəid̪ˠ]
- Word-final th: Silent after short vowels: rath [ɾˠa], both [bˠɔ]
- fh-: Always silent: fhuil [wɪlʲ], fhiacail [ˈiəkəlʲ]
Eclipsis (Urú)
Eclipsis is triggered by possessive adjectives (ár, bhur, a), numbers (seacht, ocht, naoi, deich), and certain prepositions. The eclipsing consonant is a prefix that replaces or modifies the original sound:
| Radical | Eclipsed | IPA | Example |
|---|---|---|---|
| b | mb | /mˠ/ | ár mbád [ɑːɾˠ mˠɑːd̪ˠ] |
| c | gc | /ɡ/ | i gcathair [ə ˈɡahəɾʲ] |
| d | nd | /n̪ˠ/ | ar ndóigh [ɛɾʲ n̪ˠoː] |
| f | bhf | /w/ or /vˠ/ | i bhfeirm [ə ˈwɛɾʲəmʲ] |
| g | ng | /ŋ/ | ár ngarraí [ɑːɾˠ ˈŋaɾˠiː] |
| p | bp | /bˠ/ | i bpáirc [ə ˈbˠɑːɾʲc] |
| t | dt | /d̪ˠ/ | ar dtús [ɛɾʲ d̪ˠuːsˠ] |
T-Prefix Mutation (not eclipsis)
Word-initial ts- and tch- are T-prefix mutations (Hickey III.2.2.2), not eclipsis. The first consonant survives while the second is silenced: ts→t, tch→t (e.g. túis → [t̪ˠuːʃ]).
Vowel Digraphs & Diphthongs
Irish has many vowel digraphs whose pronunciation varies by dialect:
| Digraph | Connacht | Munster | Ulster | Example (Connacht) |
|---|---|---|---|---|
| ao | iː | eː | iː | aon [iːn̪ˠ] |
| ai | a | a | a | caint [kan̠ʲtʲ] |
| ea | a | a | a | fear [fʲaɾˠ] |
| eo | oː | oː | ɔː | beo [bʲoː] |
| ío | iː | iː | iː | críochnaigh [ˈkɾʲiːxn̪ˠiː] |
| oi | ɔ | ɔi | ɔi | scoil [skɔlʲ] |
| ui | ʊ | ʊi | ʊi | suil [sˠʊlʲ] |
| ua | uə | uə | uə | cuan [kuən̪ˠ] |
| ia | iə | iə | iə | biadh [bʲiə] |
| éi | eː | eː | eː | réis [ɾˠeːʃ] |
Consonant Clusters
Irish simplifies complex initial and medial clusters through phonological rules:
Initial Cluster Simplification
- cn→cr, gn→gr, mn→mr, tn→tr: The non-coronal element survives and a liquid appears: cnoc → [kɾˠɔk], gnáth → [ɡɾˠɑːh]
- ts- / tch-: T-prefix mutation → first consonant survives, second silenced: tsúil → [t̪ˠuːlʲ], tsean → [t̠ʲanˠ]
Medial Clusters
- s+stop heterosyllabic: s closes the preceding syllable, stop starts the next: aistriú → [aʃ.ˈtʲɾʲuː]
- Sonorant+obstruent: May trigger epenthesis (see below)
- n→ŋ before velar stops: seanchaí → [ˈʃanˠxiː] but slán go fóill → [sˠl̪ˠɑːŋ ɡə fˠoːlʲ]
Epenthesis (Svarabhakti)
Irish inserts a short epenthetic vowel [ə] (or [ɪ] in some contexts) between consonants in certain clusters:
Connacht & Ulster
- Heterorganic sonorant+obstruent: Insert [ə] when the preceding vowel is short and stressed: dearg [ˈdʲaɾˠəɡ], gorm [ˈɡɔɾˠəmˠ], seilg [ˈʃɛlʲəɟ]
- Exclusions: Homorganic clusters (rd, rl, rn, nd, ld, nn, ll, rr) do not epenthesize
- Lexical exceptions: -airg, -eirg → [ɪ] not [ə]: tairg [ˈt̪ˠaɾʲɪɟ]
Munster (Extended Epenthesis)
Munster extends epenthesis to obstruent+sonorant clusters after the stressed syllable (Ó Sé):
- m+n: feamnach [ˈfʲamˠən̪ˠəx]
- g+l: eagla [ˈaɡəl̪ˠə]
- d+r: eadrainn [ˈad̪ˠəɾˠən̠ʲ]
- th+r: cathrach [ˈkahəɾˠəx]
- ch+r: achrann [ˈaxəɾˠən̪ˠ]
- s+r: lasrach [ˈl̪ˠɑsˠəɾˠəx]
- th+n: aithne [ˈahənʲə]
- Also applies in pre-stress position when stress attraction moves stress off the cluster's syllable: Colmán [kəl̪ˠəˈmˠɑːn̪ˠ], purgóid [pˠəɾˠəˈɡoːdʲ]
Sonorants: L, N, R
Irish has a famously complex sonorant system with four-way l/n distinctions and three-way r distinctions:
L and N
| Context | Broad l | Slender l | Broad n | Slender n |
|---|---|---|---|---|
| Before consonant (coda) | l̪ˠ | l̠ʲ | n̪ˠ | n̠ʲ |
| Intervocalic / initial | l̪ˠ | lʲ | n̪ˠ | nʲ |
| Geminate (ll, nn) | l̪ˠ | l̠ʲ | n̪ˠ | n̠ʲ |
R
- Broad r: Alveolar tap [ɾˠ] — rá [ɾˠɑː], carraig [ˈkaɾˠəɟ]
- Slender r: Palatalized tap [ɾʲ] — rí [ɾʲiː], tirim [ˈtʲɪɾʲəmʲ]
- Geminate rr: Broad only [ɾˠ] (lengthening effect on preceding vowel) — carraig [ˈkaɾˠəɟ]
Vowel Lengthening Before Sonorants
Short vowels lengthen in monosyllables before geminate sonorants (ll, nn, rr, mm) and heavy clusters (rd, rl, rn):
- ceann [cɑːn̪ˠ], poll [pˠoːl̪ˠ], corr [koːɾˠ]
- ard [ɑːɾˠd̪ˠ], bord [bˠoːɾˠd̪ˠ], tarna [ˈt̪ˠɑːɾˠn̪ˠə]
Word-Final Codas
Several phonological processes apply at the end of words:
- -adh vocalization: [ə] or [uː] (Ulster: [u]) — margadh [ˈmˠaɾˠəɡuː] (Connacht)
- -igh/-aigh: [iː] or [i] — ceannaigh [ˈcanˠiː] (Connacht), Munster: [ɪɟ]
- -th deletion: After short vowels — rath [ɾˠa], both [bˠɔ]
- bh/mh→w: After long vowels — scríobh [ʃcɾʲiːw], sníomh [ʃnʲiːw]
- Ulster final -ach→[ah]: Éireannach [ˈeːɾʲən̪ˠah]
- Munster final -adh→[əx]: d'fhágadh [ˈd̪ˠɑːɡəx]
- Ulster j-glide: Final long vowel + gh/dh → [j] offglide: brúigh [bˠɾˠuːj]
Comprehensive Spelling-to-IPA Mapping
1. Single Vowels (by Dialect)
| Letter | Length | Connacht | Munster | Ulster | Example (Connacht) |
|---|---|---|---|---|---|
| a | short | /a/ | /a/ | /a/ | cas /kasˠ/ |
| á | long | /ɑː/ | /ɑː/ | /aː/ | cás /kɑːsˠ/ |
| e | short | /ɛ/ | /ɛ/ | /ɛ/ | te /tʲɛ/ |
| é | long | /eː/ | /eː/ | /eː/ | sé /ʃeː/ |
| i | short | /ɪ/ | /ɪ/ | /ɪ/ | si /ʃɪ/ |
| í | long | /iː/ | /iː/ | /iː/ | sí /ʃiː/ |
| o | short | /ɔ/ | /ɔ/ | /ʌ/ | bo /bˠɔ/ |
| ó | long | /oː/ | /oː/ | /ɔː/ | bó /bˠoː/ |
| u | short | /ʊ/ | /ʊ/ | /ʌ/ | tú /t̪ˠuː/ |
| ú | long | /uː/ | /uː/ | /uː/ | tú /t̪ˠuː/ |
2. Vowel Digraphs
| Digraph | Connacht | Munster | Ulster | Example |
|---|---|---|---|---|
| ao | iː | eː | iː | aos /iːsˠ/ |
| ai | a | a | a | caint /kan̠ʲtʲ/ |
| ea | a | a | a | bean /bʲan̪ˠ/ |
| eo | oː | oː | ɔː | beo /bʲoː/ |
| ío | iː | iː | iː | críochnaigh /kɾʲiːxn̪ˠiː/ |
| oi | ɔ | ɔi | ɔi | scol /skɔl̪ˠ/ |
| ui | ʊ | ʊi | ʊi | subh /sˠʊw/ |
| ua | uə | uə | uə | cuan /kuən̪ˠ/ |
| ia | iə | iə | iə | fia /fʲiə/ |
| éi | eː | eː | eː | éis /eːʃ/ |
| ae | eː | eː | eː | tae /t̪ˠeː/ |
3. Consonant Graphemes
| Grapheme | Context / Rule | IPA Broad | IPA Slender | Example |
|---|---|---|---|---|
| b (radical) | Initial / medial | bˠ | bʲ | bó [bˠoː], beo [bʲoː] |
| bh | Lenited b, after V | w | w | leabhar [l̠ʲauɾˠ], scríobh [ʃcɾʲiːw] |
| bh | Lenited b, onset | vˠ | vʲ | bheadh [vʲɛx], bhean [vʲanˠ] |
| c (radical) | All positions | k | c | cá [kɑː], cé [ceː] |
| ch | Lenited c | x | ç | ach [ax], cheist [çɛʃtʲ] |
| d (radical) | Initial / medial | d̪ˠ | d̠ʲ | dó [d̪ˠoː], deo [d̠ʲoː] |
| dh | Lenited d, onset | ɣ | j | dha [ɣa], dheas [jasˠ] |
| dh | Lenited d, coda | ∅ | ∅/j | fidheall [ˈfʲiːəl̪ˠ], brúigh [bˠɾˠuːj] (Ulster) |
| f (radical) | All positions | fˠ | fʲ | fá [fˠɑː], fé [fʲeː] |
| fh | Lenited f | ∅ | fhuil [wɪlʲ], fhiacail [ˈiəkəlʲ] | |
| g (radical) | All positions | ɡ | ɟ | gá [ɡɑː], gé [ɟeː] |
| gh | Lenited g (see dh) | ɣ | j | gha [ɣa], gheall [jal̪ˠ] |
| h | All positions | h | haon [hiːn̪ˠ] | |
| l | Broad, dental context | l̪ˠ | — | lá [l̪ˠɑː], slán [sˠl̪ˠɑːn̪ˠ] |
| l | Broad, non-dental | lˠ | — | alpán [ˈalˠpˠɑːn̪ˠ], dúlra [ˈd̪ˠuːlˠɾˠə] |
| l | Slender, postvocalic | — | l̠ʲ | coill [kɛl̠ʲ], beilt [bʲɛl̠ʲtʲ] |
| l | Slender, prevocalic | — | lʲ | léigh [lʲeː], líon [lʲiːn̪ˠ] |
| ll | Geminate | l̪ˠ | l̠ʲ | gall [ɡal̪ˠ], coill [kɛl̠ʲ] |
| m (radical) | All positions | mˠ | mʲ | má [mˠɑː], mé [mʲeː] |
| mh | Lenited m (see bh) | w | vʲ/w | samhradh [sˠəuɾˠə], nimhe [n̠ʲɨ̃vʲə] |
| n | Broad, dental context | n̪ˠ | — | ná [n̪ˠɑː], cnoc [kɾˠɔk] |
| n | Broad, non-dental | nˠ | — | cónra [ˈkoːnˠɾˠə], lán [l̪ˠɑːnˠ] |
| n | Slender, postvocalic | — | n̠ʲ | crainn [kɾˠan̠ʲ], beinn [bʲɛn̠ʲ] |
| n | Slender, prevocalic | — | nʲ | ní [nʲiː], neart [nʲaɾˠt̪ˠ] |
| nn | Geminate | n̪ˠ | n̠ʲ | ceann [cɑːn̪ˠ], cinn [ciːn̠ʲ] |
| ng | Geminate nasal | ŋ | ɲ | cing [ciŋ], ingne [ˈiŋɲə] |
| p (radical) | All positions | pˠ | pʲ | pós [pˠoːsˠ], pé [pʲeː] |
| ph | Lenited p | fˠ | fʲ | phós [fˠoːsˠ], phéint [fʲeːn̠ʲtʲ] |
| r | All positions | ɾˠ | ɾʲ | rá [ɾˠɑː], rí [ɾʲiː] |
| s (radical) | All positions | sˠ | ʃ | sá [sˠɑː], sé [ʃeː] |
| sh | Lenited s | h | ç/h | shé [çeː], shúil [huːlʲ] |
| t (radical) | All positions | t̪ˠ | t̠ʲ | tá [t̪ˠɑː], té [t̠ʲeː] |
| th | Lenited t | h | h/ç | thá [hɑː], théid [çeːdʲ] |
| th | Word-final coda | ∅ | rath [ɾˠa], both [bˠɔ] | |
Dialect: Connacht Features
Connacht is the primary, most-tuned dialect. Key phonological rules in the engine:
- Anticipatory raising (pass 06d): Short /a/→[ɪ], /o/→[ʊ] when the second syllable has long [aː]: coláiste → [kʊlˠˈaːʃtʲə], caisleán → [kɪʃlʲˈɑːnˠ]
- Vowel gradation (pass 08): Short vowels before a coda consonant raise/lower based on the coda's quality: slender coda → [ɪ]/[ɛ], broad coda → [a]/[ɔ]
- Broad l/n → denti-alveolar (pass 13): Dental diacritic [̪] in coda position and after stops
- -íocht suffix: [iːçtʲ] → [iəxt̪ˠ]: ríocht [ɾʲiəxt̪ˠ], draíocht [d̪ˠɾˠiːəxt̪ˠ]
- w→vˠ after long vowel: Broad mh coda retains friction: snámh [sˠn̪ˠɑːvˠ]
- Function word reduction: do→[ɡə], is→[sˠ], agam→[uɡəmˠ]
Dialect: Munster Features
- Stress attraction (pass 02): Stress moves to the first long vowel after the first syllable. Exception: verbal synthetic endings resist attraction.
- éa-breaking (pass 15): [eː] → [iːa̯] under stress (méar [mʲiːa̯ɾˠ]), [ia̯] pretonic (éadóchas [ia̯ˈd̪ˠoːxəsˠ]). Only first-syllable éa breaks.
- -igh/-aigh → [ɪɟ] (not [iː] as in Connacht/Ulster): ceannaigh [ˈcan̪ˠɪɟ], balaigh [ˈbˠɑlˠɪɟ]
- Extended epenthesis (pass 12/15): Obst+son clusters get [ə] even in unstressed syllables
- Verbal -f(e)adh → [əx]: d'fhágadh [ˈd̪ˠɑːɡəx], beireadh [ˈbʲɛɾʲəx]
- Final -th → [h] (not silent): tláith [t̪ˠl̪ˠɑːh], dlúth [d̪ˠl̪ˠuːh]
- Geminate diphthongization (pass 13): Short vowel + geminate in closed syllable breaks to diphthong: fonn [fˠɑun̪ˠ], tonn [t̪ˠɑun̪ˠ]
- o before nasal → [ɔ] (not [ʊ]): sona [ˈsˠɔn̪ˠə], long [l̪ˠɔŋ]
- First-syllable ai → [a] (not [ai])
- Sonorant notation: Broad l/n → dental [l̪ˠ]/[n̪ˠ]; slender l/n → plain [lʲ]/[nʲ] (not postalveolar as in Connacht/Ulster). ~73 lexical exceptions
Dialect: Ulster Features
- Post-tonic long-vowel shortening (pass 11): Long vowels after the stressed syllable shorten: scadán [ˈsˠkad̪ˠənˠ], dochtúir [ˈd̪ˠɔxt̪ˠuɾʲ]. ~197 lexical exceptions resist shortening.
- Short o/u merger → [ʌ] (Hickey I.2.3): sop [sˠʌpˠ], cur [kʌɾˠ]. Lexical set of ~100 words keeps [ɔ].
- á→aː (not [ɑː] as in Connacht): cás [kaːsˠ]. Post-tonic á fronts to [æ] before slender consonants: úsáid [uːsˠædʲ], ofráil [ɔfˠɾˠælʲ]
- a→æ before slender consonant (pass 15): baile [ˈbˠælʲə], maide [ˈmˠædʲə]. ~55 lexical exceptions keep [a] (taibhse, caipín, aimsir).
- ó→ɔː (not [oː]): bróg [bˠɾˠɔːɡ], mór [mˠɔːɾˠ]
- -ach→[ah] (weakening [x]→[h]): Éireannach [ˈeːɾʲən̪ˠah]. Lexical set of ~77 words.
- Final -adh→[u] (short, not [uː]): ghearradh [ˈjaɾˠu], canadh [ˈkanˠu]. ~33 lexical exceptions keep long [uː] (glacadh, margadh).
- Final -igh/-aigh→[i] (short, not [iː]): ceannaigh [ˈcanˠi]. ~12 exceptions keep [iː] (bradaigh, fiafraigh).
- Final -ach→[a] (not schwa): casach [ˈkasˠa], bocht [bˠʌxt̪ˠ]
- bh/mh diphthong → [au] (not [əu]): amhras [ˈauɾˠəsˠ], leabhar [l̠ʲauɾˠ]. [au]→[oː] before r: tabhair [t̪ˠoːɾʲ] (22 vs 4 keepers).
- Vowel nasalization before surviving mh: nimhe [n̠ʲɨ̃vʲə], crumhóg [kɾˠʊ̃wɔɡ]. Lexical set of ~13 words.
- j-glide after final long vowel from gh/dh: brúigh [bˠɾˠuːj], cruaidh [kɾˠuəj]. Only u/a-vocalic roots; iː-final excluded.
- rs-leveling: [ɾˠ]+[ʃ] → [ɾˠ]+[sˠ]: tuirseach [ˈt̪ˠʌɾˠsˠax]
- Verbal -im → broad [mˠ]: éistim [ˈeːʃtʲəmˠ] (including -ím words with strip_fadas)
Implementation Details (for Developers)
The engine is implemented as a 17-pass token-array pipeline in Lua. Each pass receives the token array and context, modifies tokens in place (or replaces the array), and returns it.
- Polarity (pass 01): Determines broad/slender quality from flanking vowels. Simplifies initial clusters (cn→cr, gn→gr, mn→mr, tn→tr).
- Stress (pass 02): Primary stress on first syllable (Connacht/Ulster) or attracted to long vowel (Munster). Computes syllable count.
- Eclipsis (pass 03): Word-initial mutation clusters (mb→m, gc→g, dt→d, bp→b, bhf→w, ng→ŋ, nn→n). T-prefix silencing (ts→t, tch→t).
- Cluster simplification (pass 04): Merges adjacent consonants from compound clusters.
- Mutated fricatives (pass 05): Lenited fricative realizations after vowels.
- Vocalization (pass 06): Vowel+fricative sequences → diphthongs/long vowels.
- Anticipatory raising (pass 06d): Connacht-only /a/→[ɪ], /o/→[ʊ] before long [aː].
- Nasalization (pass 07): o/u/ó/ú → [uː] before geminate nasals.
- Slender coda (pass 08): Vowel gradation before slender ng/nn.
- Consonants (pass 09): Resolves all consonant tokens to IPA. Lenition, quality, clusters.
- Vowel adjunct (pass 09b): Resolves vowel + mutated fricative sequences.
- Vowels (pass 10): Dialect-specific vowel resolution with allophonic rules.
- Unstressed reduction (pass 11): Reduces unstressed short vowels to [ə]. Epicene exceptions.
- Epenthesis (pass 12): Svarabhakti vowel [ə] in sonorant+obstruent clusters.
- Sonorants (pass 13): 4-way l/n diacritic system; lengthening before geminates.
- Final cleanup (pass 14): Silent fricatives, devoicing, j-glides, function word overrides, multi-word sandhi, -íocht override.
- Dialect finalize (pass 15): Per-dialect surface normalizations (Ulster aː→æ, Munster éa-breaking, sonorant flatten, etc.) — last pass, immune to later overwrites.
Lexical Exception Layer
In addition to the rule pipeline, the engine has a generated per-dialect exception dictionary
(passes/lex_subs_<dialect>.lua) applied after rendering. This standard hybrid G2P design
covers ~1166 Connacht, ~1524 Munster, and ~2049 Ulster words that the rules cannot derive. The exception
layer is regenerated after every major rule change to only cover words that genuinely need per-word treatment.
Benchmark Accuracy
| Metric | Connacht (6,598 words) | Munster (4,102) | Ulster (4,785) |
|---|---|---|---|
| Exact match (rules + exceptions) | 96.92% | 93.76% | 94.84% |
| Exact, stress-insensitive | 97.26% | 94.39% | 95.21% |
| Exact, diacritic skeleton | 97.59% | 94.59% | 95.26% |
| Rule-only exact match | 79.52% | 56.73% | 52.33% |
| Phone Error Rate (PER) | 1.45% | 3.09% | 2.97% |
Benchmark dictionaries are built from dialect-tagged Wiktionary IPA (data/all_regions.csv,
17,281 rows / 9,719 words). Rule-only accuracy on Munster/Ulster is capped at roughly 70–75% by per-word
transcriber disagreements in the multi-transcriber benchmark source — identical phonological contexts
transcribed both ways by different transcribers, not by missing rules.
Cross-Dialect Reference
| Word | Connacht | Munster | Ulster |
|---|---|---|---|
| caisleán | ˈkiʃlʲɑːnˠ | kəˈʃlʲɑːn̪ˠ | ˈkaʃl̠ʲanˠ |
| cailín | ˈkalʲiːnʲ | kɑˈlʲiːnʲ | ˈkælʲinʲ |
| baile | ˈbˠalʲə | ˈbˠɑlʲə | ˈbˠælʲə |
| anam | ˈanˠəmˠ | ˈɑn̪ˠəmˠ | ˈanˠəmˠ |
| sláinte | ˈsˠl̪ˠɑːn̠ʲtʲə | ˈsˠl̪ˠɑːnʲtʲə | ˈsˠl̪ˠaːn̠ʲtʲə |
| Gaeltacht | ˈɡeːl̪ˠt̪ˠəxt̪ˠ | ˈɡeːl̪ˠt̪ˠəxt̪ˠ | ˈɡeːl̪ˠt̪ˠaxt̪ˠ |
| uisce | ˈiʃcə | ˈiʃcə | ˈiʃcə |
| Gaeilge | ˈɡeːl̠ʲɟɪ | ˈɡeːlʲəɟɪ | ˈɡeːlʲɪc |
Common Issues & Limitations
Known Transcription Problems
| Issue | Description | Status |
|---|---|---|
| Multi-word phrase contractions | Lexicalized phrases like tá a fhios ag → [t̪ˠɑːsˠ eɟ] are not fully handled | ~215 errors; extended FUNCTION_WORDS_OVERRIDE needed |
| Monosyllable stress inconsistency | The benchmark has inconsistent stress marking on monosyllables (some expected, some not) | Known; handled by lexical tables |
| Dialect benchmark contradictions | Munster and Ulster benchmarks contain internal contradictions from different transcribers (e.g., identical context transcribed as both [a] and [æ], long and short) | Documented; limits rule-only accuracy to ~70–75% |
| Dental/sonorant diacritics | L and N dental/postalveolar marking is lexically diffuse; some words use different conventions in the benchmark | Handled by lexical exception tables |
| w→vˠ after long vowel | Broad mh coda after long vowel (e.g., snámh) may retain friction [vˠ] instead of [w] | ~23 errors; conflicts with FINAL_BH_V_TO_W table |
| Ulster -f(a)idh → [i] | Verbal future endings: majority want short [i] but mixed with [iː] | ~38 errors; lexically conditioned |
For technical issues or suggestions, please visit our GitHub repository.