diff --git a/phsource/ph_ipa b/phsource/ph_ipa index 0fdb8f58..847480eb 100644 --- a/phsource/ph_ipa +++ b/phsource/ph_ipa @@ -19,7 +19,7 @@ // | frc | | B | | v | | D | | | | | | | | | | j\ | | G | | R | | | | | // | lat frc | | | | | | | | | | | | | | | | | | | | | | | | | // | apr | | P | | | | | | r\ | | | | | | | | j | | | | | | | | | -// | lat apr | | | | | | | | | | | | | | | | | | | | | | | | | +// | lat apr | | | | | | | | l | | | | | | | | | | | | | | | | | // | flp | | | | | | | | | | | | | | | | | | | | | | | | | // | lat flp | | | | | | | | | | | | | | | | | | | | | | | | | // | trl | | | | | | | | | | | | | | | | | | | | | | | | | @@ -667,6 +667,61 @@ phoneme r\\ FMT(r/r) endphoneme +phoneme l + vcd alv lat apr liquid + ipa l + lengthmod 7 + + IF nextPh(isNotVowel) THEN + PrevVowelEndings + VowelEnding(l/L1_@L, -60) + VowelEnding(l/L1_aL, -40) + VowelEnding(l/L1_eL, -30) + VowelEnding(l/L1_iL, -30) + VowelEnding(l/L1_oL, -40) + VowelEnding(l/L1_uL, -40) + EndSwitch + + // we need to replace these with new FMT sequeces for jl and wl + IF prevPhW(j) THEN + FMT(l/L1_eL) + ELIF prevPhW(w) THEN + FMT(l/L1_eL) + ENDIF + + FMT(l/l_) + ENDIF + + NextVowelStarts + VowelStart(l/l@) + VowelStart(l/la) + VowelStart(l/le) + VowelStart(l/li, -10) + VowelStart(l/lo) + VowelStart(l/lu) + EndSwitch + + IF prevPh(#@) THEN + VowelEnding(l/xl, -50) + ELIF prevPh(isVowel) THEN + VowelEnding(l/xl, -40) + ENDIF + + IF prevPh(isPause) THEN + FMT(l/_l) + ENDIF + + IF prevPh(t) THEN + FMT(l/tl) + ENDIF + + IF prevPh(l) THEN + FMT(l/l_long) // double l, make it longer + ENDIF + + FMT(l/l) +endphoneme + phoneme j vcd pal apr liquid starttype #i ipa j diff --git a/phsource/phonemes b/phsource/phonemes index 980e64d1..095612f2 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -382,78 +382,11 @@ procedure vowelstart_l endprocedure phoneme l - liquid - lengthmod 7 - - IF nextPh(isNotVowel) THEN - ChangePhoneme(l/) - ENDIF - - IF nextPh(isNotVowel) THEN - // in case the next phoneme is no longer a vowel, in pass=2 - PrevVowelEndings - VowelEnding(l/L1_@L, -60) - VowelEnding(l/L1_aL, -40) - VowelEnding(l/L1_eL, -30) - VowelEnding(l/L1_iL, -30) - VowelEnding(l/L1_oL, -40) - VowelEnding(l/L1_uL, -40) - EndSwitch - - FMT(l/l_) - RETURN - ENDIF - - CALL vowelstart_l - - IF prevPh(#@) THEN - VowelEnding(l/xl, -50) - ELIF prevPh(isVowel) THEN - VowelEnding(l/xl, -40) - ENDIF - - IF prevPh(isPause) THEN - FMT(l/_l) - ENDIF - - IF prevPh(t) THEN - FMT(l/tl) - ENDIF - - IF prevPh(l/) THEN - FMT(l/l_long) // double l, make it longer - ENDIF - - FMT(l/l) + import_phoneme ipa/l endphoneme - phoneme l/ // used for [l] when not before a vowel - liquid - lengthmod 7 - - IF nextPh(isVowel) THEN - ChangePhoneme(l) - ENDIF - - PrevVowelEndings - VowelEnding(l/L1_@L, -60) - VowelEnding(l/L1_aL, -40) - VowelEnding(l/L1_eL, -30) - VowelEnding(l/L1_iL, -30) - VowelEnding(l/L1_oL, -40) - VowelEnding(l/L1_uL, -40) - EndSwitch - - // we need to replace these with new FMT sequeces for jl and wl - IF prevPhW(j) THEN - FMT(l/L1_eL) - ENDIF - IF prevPhW(w) THEN - FMT(l/L1_eL) - ENDIF - - FMT(l/l_) + import_phoneme ipa/l endphoneme phoneme l/2 // 'dark' [l] after a vowel