Syllable Structure #
Syllable constituency (onset–nucleus–coda), sonority scale, the Sonority Sequencing Principle, moraic weight, and OT markedness constraints.
Source: @cite{goldsmith-2011} "The Syllable" in The Handbook of Phonological Theory (Ch 6, pp. 164–196). Cross-referenced with Hayes §4.6 and §15.
@cite{goldsmith-2011}
Sonority rank (0 = least sonorous). Following @cite{hayes-2009}, the 5-level hierarchy is decomposed by four features:
| Class | son | approx | cons | syll | Rank |
|---|---|---|---|---|---|
| Obstruent | − | − | + | − | 0 |
| Nasal | + | − | + | − | 1 |
| Liquid | + | + | + | − | 2 |
| Glide | + | + | − | − | 3 |
| Vowel | + | + | − | + | 4 |
Within obstruents, [±continuant] further splits stops (rank 0) from fricatives (rank 1) per @cite{clements-1990}, yielding a 6-level scale.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Is a list of Nats monotonically non-decreasing?
Equations
Instances For
Is a list of Nats monotonically non-increasing?
Equations
Instances For
Does the onset obey SSP? Sonority rises toward the nucleus.
Equations
Instances For
Does the coda obey SSP? Sonority falls from the nucleus.
Equations
Instances For
A syllabified form: a word parsed into syllables.
Instances For
Total segment count.
Equations
- sf.segmentCount = List.foldl (fun (x1 : Nat) (x2 : Theories.Phonology.Syllable.Syllable) => x1 + x2.segments.length) 0 sf.syllables
Instances For
All segments in linear order.
Instances For
Equations
- Theories.Phonology.Syllable.instBEqSyllWeight.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mora count. codaMoraic = true means coda consonants contribute weight
(the "Weight-by-Position" parameter of @cite{hayes-1989}).
Instances For
Weight classification from mora count.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ONSET: every syllable must have an onset. Returns count of onsetless syllables.
Equations
- Theories.Phonology.Syllable.onsetViolations sf = (List.filter (fun (σ : Theories.Phonology.Syllable.Syllable) => !σ.hasOnset) sf.syllables).length
Instances For
NOCODA: syllables should not have codas. Returns count of syllables with codas.
Equations
Instances For
*COMPLEXONSET: no complex (multi-segment) onsets. Returns count of syllables with onset length > 1.
Equations
- Theories.Phonology.Syllable.complexOnsetViolations sf = (List.filter (fun (σ : Theories.Phonology.Syllable.Syllable) => decide (σ.onset.length > 1)) sf.syllables).length
Instances For
*COMPLEXCODA: no complex (multi-segment) codas. Returns count of syllables with coda length > 1.
Equations
- Theories.Phonology.Syllable.complexCodaViolations sf = (List.filter (fun (σ : Theories.Phonology.Syllable.Syllable) => decide (σ.coda.length > 1)) sf.syllables).length
Instances For
SSP: every syllable obeys the Sonority Sequencing Principle. Returns count of syllables violating SSP.
Equations
- Theories.Phonology.Syllable.sspViolations sf = (List.filter (fun (σ : Theories.Phonology.Syllable.Syllable) => !σ.sspValid) sf.syllables).length