Phonomaton: Phonological rule engine

logo

Inputs

Phonological rules

Underlying representions


Examples



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 and suprasegmentals:
      • [+nasal] (nasalized):   ̃ (hex 0303)
      • [+long] (long):  ː (hex 02d0)
      • [+stress] (primary-stressed):   ́ (hex 0301)
      • [+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)
    • 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 , marking a proclitic; these symbols are considered to mark word boundaries.
  3. ARROW may be written as ->, =>, (hex 21d2), or (hex 2192). If it is followed by *, the rule should be applied repeatedly until it fails.
  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


Raphael Finkel (University of Kentucky), Daniel Kaufmann (Queens College, Endangered Language Alliance).


Segments and features

Click on two rows to see the difference.
Segment syllabic stress long 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 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
x+ - - - + - + + - - - - - - - - - - - 0 0 0 - + + - + - 0
k+ - - - + - - - - - - - - - - - - - - 0 0 0 - + + - + - 0
ɡ+ - - - + - - - - - - - + - - - - - - 0 0 0 - + + - + - 0
k+͡x+ - - - + - - + - - - - - - - - - - - 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
d͡ʑ - - - + - - + - - - - + - - - - - + + + + - + + - + - 0
t͡ɕ - - - + - - + - - - - - - - - - - + + + + - + + - + - 0
ɣ - - - + - + + - - - - + - - - - - - 0 0 0 - + + - 0 0 0
ɣ̠ - - - + - + + - - - - + - - - - - - 0 0 0 - + + - - + 0
x - - - + - + + - - - - - - - - - - - 0 0 0 - + + - 0 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 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
d͡ʒ - - - + - - + - - - - + - - - - - + - + + - - 0 0 0 0 0
d͡z - - - + - - + - - - - + - - - - - + + - + - - 0 0 0 0 0
d͡ɮ - - - + - - + - - - - + - - - - - + + - - + - 0 0 0 0 0
d̠͡ɮ̠ - - - + - - + - - - - + - - - - - + - + - + - 0 0 0 0 0
t͡ʃ - - - + - - + - - - - - - - - - - + - + + - - 0 0 0 0 0
t̠͡ɬ̠ - - - + - - + - - - - - - - - - - + - + - + - 0 0 0 0 0
t͡s - - - + - - + - - - - - - - - - - + + - + - - 0 0 0 0 0
t͡ɬ - - - + - - + - - - - - - - - - - + + - - + - 0 0 0 0 0
t̪͡s̪ - - - + - - + - - - - - - - - - - + + + + - - 0 0 0 0 0
t̪͡ɬ̪ - - - + - - + - - - - - - - - - - + + + - + - 0 0 0 0 0
d̪͡z̪ - - - + - - + - - - - + - - - - - + + + + - - 0 0 0 0 0
d̪͡ɮ̪ - - - + - - + - - - - + - - - - - + + + - + - 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
k̠͡x̠ - - - + - - + - - - - - - - - - - - 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
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 +
ɰ̠ - - - - + + 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