Phonomaton: Phonological rule engine

logo

Inputs

Phonological rules

Underlying representations


Sample rules


Click to add the rule to the current ruleset.

Sample derivations


Click to invoke a sample derivation on some underlying representations.

IPA chart

Click on any symbol to select/deselect; when two symbols are selected, their differing features are displayed. Double-click any symbol to move to its row in the table of features and segments. Symbols that are in the inventory are shown with a border.

Vowels

  Front Near-front Central Near-back Back
Close i y ɨ ʉ ɯ u
Near-Close ɪ ʏ ʊ
Close-mid e ø ɘ ɵ ɤ o
Mid ə
Open-mid ɛ œ ɜ ɞ ʌ ɔ
Near-Open æ ɶ ɐ
Open a ä ɑ ɒ

Consonants

Bi­labial Labio­dental Dental Alveolar Post alveolar Retroflex Palatal Velar Uvular Pharyngeal Glottal
Plosive p b t d ʈ ɖ c ɟ k ɡ q ɢ ʔ
Nasal m ɱ n ɳ ɲ ŋ ɴ
Trill ʙ r ʀ
Tap or Flap ɾ ɽ
Fricative ɸ β f v θ ð s z ʃ ʒ ʂ ʐ ç ʝ x ɣ χ ʁ ħ ʕ h ɦ
Lateral fricative ɬ ɮ
Approximant ʋ ɹ ɻ j ɰ
Lateral approximant l ɭ ʎ ʟ

Other Symbols

ʍVoiceless labial-velar fricative
wVoiced labial-velar approximant
ɥVoiced labial-palatal approximant
ʜVoiceless epiglottal fricative
ʢVoiced epiglottal fricative
ʡEpiglottal plosive
ɕVoiceless alveolo-palatal fricative
ʑVoiced alveolo-palatal fricative
ɺAlveolar lateral flap
ɧSimultaneous ʃ and x
ɫSimultaneous palatal and uvular

Affricates

VoicelessVoiced
ʦAlveolar ʣ
ʧPalato-alveolar ʤ
ʨAlveolo-palatal ʥ
ʈ͡ʂRetroflex ɖ͡ʐ
t͡ɬAlveolar-lateral d͡ɮ
t͡ɬ̠
p͡fBilabial-labiodental b͡v
p͡ɸBilabial-dental b͡β
t̪͡θDental d̪͡ð
c͡çPalatal ɉ͡ʝ
k͡xVelar ɡ͡ɣ
q͡χUvular ɢ͡ʁ

Doubly-articulated stops

VoicelessVoiced
k͡pBilabial-velar plosive g͡b
p͡tBilabial-alveolar plosive b͡d


Segments and features

Click on two rows to see the difference. Click on a feature name to select/deselect all segments that are +feature.
Segment syllabic consonantal sonorant continuant delayed_release approximant tap trill nasal voice spread_gl constr_gl labial round labiodental coronal anterior distributed strident lateral dorsal high low front back tense
ɒ + - + + 0 + - - - + - - + + - - 0 0 0 - + - + - + 0
ɑ + - + + 0 + - - - + - - - - - - 0 0 0 - + - + - + 0
ɶ + - + + 0 + - - - + - - + + - - 0 0 0 - + - + + - 0
a + - + + 0 + - - - + - - - - - - 0 0 0 - + - + - - 0
æ + - + + 0 + - - - + - - - - - - 0 0 0 - + - + + - 0
ʌ + - + + 0 + - - - + - - - - - - 0 0 0 - + - - - + -
ɔ + - + + 0 + - - - + - - + + - - 0 0 0 - + - - - + -
o + - + + 0 + - - - + - - + + - - 0 0 0 - + - - - + +
ɤ + - + + 0 + - - - + - - - - - - 0 0 0 - + - - - + +
ɘ + - + + 0 + - - - + - - - - - - 0 0 0 - + - - - - +
œ + - + + 0 + - - - + - - + + - - 0 0 0 - + - - + - -
ə + - + + 0 + - - - + - - - - - - 0 0 0 - + - - - - -
e + - + + 0 + - - - + - - - - - - 0 0 0 - + - - + - +
ɞ + - + + 0 + - - - + - - + + - - 0 0 0 - + - - - - -
ø + - + + 0 + - - - + - - + + - - 0 0 0 - + - - + - +
ɛ + - + + 0 + - - - + - - - - - - 0 0 0 - + - - + - -
ɵ + - + + 0 + - - - + - - + + - - 0 0 0 - + - - - - +
ɯ + - + + 0 + - - - + - - - - - - 0 0 0 - + + - - + +
u + - + + 0 + - - - + - - + + - - 0 0 0 - + + - - + +
ʊ + - + + 0 + - - - + - - + + - - 0 0 0 - + + - - + -
ɨ + - + + 0 + - - - + - - - - - - 0 0 0 - + + - - - +
ʉ + - + + 0 + - - - + - - + + - - 0 0 0 - + + - - - +
y + - + + 0 + - - - + - - + + - - 0 0 0 - + + - + - +
i + - + + 0 + - - - + - - - - - - 0 0 0 - + + - + - +
ʏ + - + + 0 + - - - + - - + + - - 0 0 0 - + + - + - -
ɪ + - + + 0 + - - - + - - - - - - 0 0 0 - + + - + - -
ɫ - + + + 0 + - - - + - - - - - + + - - + + - - - + 0
ɴ - + + - 0 - - - + + - - - - - - 0 0 0 - + - - - + 0
ʀ - + + + 0 + - + - + - - - - - - 0 0 0 - + - - - + 0
ɲ - + + - 0 - - - + + - - - - - + - + - - + + - + - 0
ʎ - + + + 0 + - - - + - - - - - + - + - + + + - + - 0
ŋ - + + - 0 - - - + + - - - - - - 0 0 0 - + + - 0 0 0
ʟ - + + + 0 + - - - + - - - - - - 0 0 0 + + + - 0 0 0
ɳ - + + - 0 - - - + + - - - - - + - - - - - 0 0 0 0 0
ʙ - + + + 0 + - + - + - - + - - - 0 0 0 - - 0 0 0 0 0
ɭ - + + + 0 + - - - + - - - - - + - - - + - 0 0 0 0 0
ɺ - + + + 0 + + - - + - - - - - + + - - + - 0 0 0 0 0
ɻ - + + + 0 + - - - + - - - - - + - - - - - 0 0 0 0 0
ɽ - + + + 0 + + - - + - - - - - + - - - - - 0 0 0 0 0
r - + + + 0 + - + - + - - - - - + + - - - - 0 0 0 0 0
n - + + - 0 - - - + + - - - - - + + - - - - 0 0 0 0 0
m - + + - 0 - - - + + - - + - - - 0 0 0 - - 0 0 0 0 0
l - + + + 0 + - - - + - - - - - + + - - + - 0 0 0 0 0
ɾ - + + + 0 + + - - + - - - - - + + - - - - 0 0 0 0 0
ɱ - + + - 0 - - - + + - - + - + - 0 0 0 - - 0 0 0 0 0
ʔ - + - - - - - - - - - + - - - - 0 0 0 - - 0 0 0 0 0
ħ - + - + + - - - - - - - - - - - 0 0 0 - + - + - + 0
ʕ - + - + - - - - - + - - - - - - 0 0 0 - + - + - + 0
ʁ - + - + + - - - - + - - - - - - 0 0 0 - + - - - + 0
q - + - - - - - - - - - - - - - - 0 0 0 - + - - - + 0
χ - + - + + - - - - - - - - - - - 0 0 0 - + - - - + 0
ɢ - + - - - - - - - + - - - - - - 0 0 0 - + - - - + 0
ɕ - + - + + - - - - - - - - - - + + + + - + + - + - 0
ɟ - + - - - - - - - + - - - - - + - + - - + + - + - 0
ʝ - + - + + - - - - + - - - - - + - + - - + + - + - 0
c - + - - - - - - - - - - - - - + - + - - + + - + - 0
ç - + - + + - - - - - - - - - - + - + - - + + - + - 0
ʥ - + - - + - - - - + - - - - - + + + + - + + - + - 0
ʨ - + - - + - - - - - - - - - - + + + + - + + - + - 0
ɣ - + - + + - - - - + - - - - - - 0 0 0 - + + - 0 0 0
x - + - + + - - - - - - - - - - - 0 0 0 - + + - 0 0 0
k - + - - - - - - - - - - - - - - 0 0 0 - + + - 0 0 0
ɡ - + - - - - - - - + - - - - - - 0 0 0 - + + - 0 0 0
ʑ - + - + + - - - - + - - - - - + + + + - + + - + - 0
ʈ - + - - - - - - - - - - - - - + - - - - - 0 0 0 0 0
ɖ - + - - - - - - - + - - - - - + - - - - - 0 0 0 0 0
ɬ - + - + + - - - - - - - - - - + + - - + - 0 0 0 0 0
ʐ - + - + + - - - - + - - - - - + - - + - - 0 0 0 0 0
ɸ - + - + + - - - - - - - + - - - 0 0 0 - - 0 0 0 0 0
ʂ - + - + + - - - - - - - - - - + - - + - - 0 0 0 0 0
ʒ - + - + + - - - - + - - - - - + - + + - - 0 0 0 0 0
z - + - + + - - - - + - - - - - + + - + - - 0 0 0 0 0
v - + - + + - - - - + - - + - + - 0 0 0 - - 0 0 0 0 0
t - + - - - - - - - - - - - - - + + - - - - 0 0 0 0 0
ʃ - + - + + - - - - - - - - - - + - + + - - 0 0 0 0 0
s - + - + + - - - - - - - - - - + + - + - - 0 0 0 0 0
p - + - - - - - - - - - - + - - - 0 0 0 - - 0 0 0 0 0
f - + - + + - - - - - - - + - + - 0 0 0 - - 0 0 0 0 0
d - + - - - - - - - + - - - - - + + - - - - 0 0 0 0 0
b - + - - - - - - - + - - + - - - 0 0 0 - - 0 0 0 0 0
θ - + - + + - - - - - - - - - - + + + - - - 0 0 0 0 0
ɮ - + - + + - - - - + - - - - - + + - - + - 0 0 0 0 0
ð - + - + + - - - - + - - - - - + + + - - - 0 0 0 0 0
β - + - + + - - - - + - - + - - - 0 0 0 - - 0 0 0 0 0
ʤ - + - - + - - - - + - - - - - + - + + - - 0 0 0 0 0
ʣ - + - - + - - - - + - - - - - + + - + - - 0 0 0 0 0
d͡ɮ - + - - + - - - - + - - - - - + + - - + - 0 0 0 0 0
ʧ - + - - + - - - - - - - - - - + - + + - - 0 0 0 0 0
t͡ɬ̠ - + - - + - - - - - - - - - - + - + - + - 0 0 0 0 0
ʦ - + - - + - - - - - - - - - - + + - + - - 0 0 0 0 0
t͡ɬ - + - - + - - - - - - - - - - + + - - + - 0 0 0 0 0
ʈ͡ʂ - + - - + - - - - - - - - - - + - - + - - 0 0 0 0 0
ɖ͡ʐ - + - - + - - - - + - - - - - + - - + - - 0 0 0 0 0
p͡f - + - - + - - - - - - - + - + - 0 0 0 - - 0 0 0 0 0
b͡v - + - - + - - - - + - - + - + - 0 0 0 - - 0 0 0 0 0
p͡ɸ - + - - + - - - - - - - + - - - 0 0 0 - - 0 0 0 0 0
b͡β - + - - + - - - - + - - + - - - 0 0 0 - - 0 0 0 0 0
t̪͡θ - + - - + - - - - - - - - - - + + + - - - 0 0 0 0 0
d̪͡ð - + - - + - - - - + - - - - - + + + - - - 0 0 0 0 0
c͡ç - + - - + - - - - - - - - - - + - + - - + + - + - 0
ɉ͡ʝ - + - - + - - - - + - - - - - + - + - - + + - + - 0
k͡x - + - - + - - - - - - - - - - - 0 0 0 - + + - 0 0 0
ɡ͡ɣ - + - - + - - - - + - - - - - - 0 0 0 - + + - 0 0 0
q͡χ - + - - + - - - - - - - - - - - 0 0 0 - + - - - + 0
ɢ͡ʁ - + - - + - - - - + - - - - - - 0 0 0 - + - - - + 0
ɧ - + - + + - - - - - - - - - - + - + + - + + - 0 0 0
k͡p - + - - - - - - - - - - + - - - 0 0 0 - + + - 0 0 0
g͡b - + - - - - - - - + - - + - - - 0 0 0 - + + - 0 0 0
p͡t - + - - - - - - - - - - + - - + + - + - - 0 0 0 0 0
b͡d - + - - - - - - - + - - + - - + + - + - - 0 0 0 0 0
ɰ - - + + 0 + - - - + - - - - - - 0 0 0 - + + - 0 0 +
w - - + + 0 + - - - + - - + + - - 0 0 0 - + + - - + +
ɥ - - + + 0 + - - - + - - + + - - 0 0 0 - + + - + - +
j - - + + 0 + - - - + - - - - - - 0 0 0 - + + - + - +
ɹ - - + + 0 + - - - + - - - - - + - + - - - 0 0 0 0 0
ʋ - - + + 0 + - - - + - - + - + - 0 0 0 - - 0 0 0 0 0
ʍ - - - + + - - - - - + - + + - - 0 0 0 - + + - - + +
ɦ - - - + + - - - - + + - - - - - 0 0 0 - - 0 0 0 0 0
h - - - + + - - - - - + - - - - - 0 0 0 - - 0 0 0 0 0

Instructions

Phonological rules take the form RULENAME: TARGET ARROW CHANGE / ENVIRONMENT
  1. The ENVIRONMENT must have a single underscore (_), preceded optionally by a PREVIOUS CONTEXT and followed optionally by a SUBSEQUENT CONTEXT.
  2. The TARGET and CONTEXT parts may be multiple "characters", where a "character" may be
    • any Unicode sequence representing a segment (see the table below), optionally followed by one or more of these diacritics:
      • [+nasal] (nasalized):   ̃ (hex 0303)
      • [+syllabic] (syllabic):   ̩  (hex 0329)
      • [-voice] (voiceless):   ̥  (hex 0325)
      • [+constr_gl] (creaky-voiced): for vowels,   ̰   (hex 0330); for consonants,   ʼ   (hex 02bc)
      • [+spread_gl] (breathy-voiced): for vowels,   ̤   (hex 0324); for consonants,   ʰ   (hex 02b0)
      • [+distributed]:    ̪
      • [+front]:    ̟   (hex 031f)
      • [+back]:    ̠   (hex 0320)
      and at most one of these tone marks:
      • [tone_top]: ̋   (hex 030b)
      • [tone_high]: ́   (hex 0301)
      • [tone_mid]: ̄   (hex 0304)
      • [tone_low]: ̀   (hex 0300)
      • [tone_bottom]: ̏   (hex 030f)
      • [tone_rising]: ̌   (hex 030c)
      • [tone_falling]: ̂   (hex 0302)
      • [tone_highRising]:    (hex 1dc4)
      • [tone_lowRising]:    (hex 1dc5)
      • [tone_highFalling]:    (hex 1dc7)
      • [tone_lowFalling]:    (hex 1dc6)
      • [tone_peaking]:    (hex 1dc8)
      • [tone_dipping]:    (hex 1dc9)
      and/or this suprasegmental:
      • [+long] (long):  ː (hex 02d0)
    • a bracketed, comma-separated list of FEATURES with polarity (+ or -) in brackets, such as [-syllabic, -continuant]. The available FEATURES are listed in the table below.
    • the shorthands V for "vowel", C for "consonant" X for "any consonant or vowel", and S for "white space".
    • null, which can be written as (hex 2205), Ø (hex 00d8), or (hex 2400),
    • a Perl regex combining the items above. Use ^ to mark the start of the word and $ to mark the end of the word. Other Perl regex metacharacters, other than brackets, are also acceptable.
    • The symbol #, which marks the start of a line, the end of a line, the start or end of a word.
    • The symbol -, marking an affix; it is considered "letter-like" and does not constitute a word boundary.
    • The symbol =, marking a clitic, and (hex 21d2), marking a proclitic; these symbols are considered to mark word boundaries.
    • IPA marks for stress: ˈ (hex 02c8) and ˌ (hex 02cc).
  3. ARROW may be written as ->, =>, or (hex 2192). If it is followed by *, the rule should be applied repeatedly until it makes no further changes.
  4. The CHANGE may be
    • null, as above
    • multiple Unicode characters
    • a set of features to apply to the TARGET (which should represent a single segment). The feature set may include both positive and negative components, as well as components labelled ±, which means "any polarity of this feature is acceptable".
For example, the rule intervocalic lenition: [-continuant,-nasal] → [+continuant,±delayed_release,±distributed] / V_V modifies any non-nasal consonant that is surrounded by vowels into a continuant version of that consonant, ignoring the features delayed_release and distributed.

Credits


Design and implementation: Raphael Finkel (University of Kentucky), Daniel Kaufmann (Queens College, Endangered Language Alliance). The IPA charts are based on these. The table of segments and features is based on Hayes, Bruce, 2009, Introductory Phonology, Hoboken, NJ: Wiley-Blackwell, ISBN: 1405184116, ISBN13: 9781405184113.