Closed michael-pollack closed 8 months ago
Jorá, rng=[19]
Cannot find identity phone b in allophone list ['β'] for proc list ['lenition', 'spirantization']
Problem parsing proc 'lenition': 'NoneType' object has no attribute 'strip'
Kamayurá, rng=[23]
Cannot find identity phone w in allophone list ['β̥'] for proc list ['spirantization', 'devoicing']
Problem parsing proc 'spirantization': 'NoneType' object has no attribute 'strip'
Cannot find identity phone w in allophone list ['β̥'] for proc list ['spirantization', 'devoicing']
Problem parsing proc 'spirantization': 'NoneType' object has no attribute 'strip'
Mbyá (Mbyá do Brasil), rng=[33]
Cannot find identity phone ɨ in allophone list ['ɨ̃'] for proc list ['MPP=LNsyll:py?i', 'MPP=LNsyll:suffixes']
Problem parsing proc 'MPP=LNsyll:py?i': 'NoneType' object has no attribute 'strip'
Cannot find identity phone i in allophone list ['ĩ'] for proc list ['MPP=LNsyll:py?i', 'MPP=LNsyll:suffixes']
Problem parsing proc 'MPP=LNsyll:py?i': 'NoneType' object has no attribute 'strip'
Guajá (Guajá do Caru), rng=[15]
Cannot find identity phone a in allophone list ['ɐ', 'ɐ̰'] for proc list ['ɐ̰-glottal constriction']
Proc phone ɐ̰ does not match allophone ɐ
Cannot find identity phone a in allophone list ['ɐ', 'ɐ̰'] for proc list ['ɐ̰-glottal constriction']
Proc phone ɐ̰ does not match allophone ɐ
Cannot find identity phone ã in allophone list ['ɐ̃', 'ɐ̰̃'] for proc list ['ɐ̰̃-glottal constriction']
Proc phone ɐ̰̃ does not match allophone ɐ̃
Cannot find identity phone ã in allophone list ['ɐ̃', 'ɐ̰̃'] for proc list ['ɐ̰̃-glottal constriction']
Proc phone ɐ̰̃ does not match allophone ɐ̃
Mundurukú do Cururu, rng=[35]
Cannot find identity phone ɨ in allophone list ['ɨ̞̠'] for proc list ['backing', 'lowering']
Cannot find identity phone ɨ in allophone list ['ɨ̞̠'] for proc list ['backing', 'lowering']
Cannot find identity phone ɛ in allophone list ['ɛ̃', 'ɪ̞̃'] for proc list ['MPP=LDNH']
Nheengatú (upper Rio Negro), rng=[39]
Cannot find identity phone a in allophone list ['ə̃', 'ã'] for proc list ['LN:V']
Cannot find identity phone a in allophone list ['ə̃', 'ã'] for proc list ['LN:V']
Cannot find identity phone a in allophone list ['ə̃', 'ã'] for proc list ['LN:V']
Cannot find identity phone u in allophone list ['ũ', 'õ'] for proc list ['LN:V']
Cannot find identity phone u in allophone list ['ũ', 'õ'] for proc list ['LN:V']
Cannot find identity phone u in allophone list ['ũ', 'õ'] for proc list ['LN:V']
ParintintinTenharim, rng=[45]
Cannot find identity phone w in allophone list ['w̃', 'ŋʷ'] for proc list ['LDNH']
Cannot find identity phone j in allophone list ['ɲ', 'j̃'] for proc list ['LDNH']
Siriono, rng=[49]
Cannot find identity phone e in allophone list ['ë'] for proc list ['centralization', 'backing']
Tupinambá, rng=[57]
Cannot find identity phone b in allophone list ['β'] for proc list ['lenition', 'spirantization']
Cannot find identity phone ɲ in allophone list ['j', 'ʒ'] for proc list ['LO:stressed']
Urubu Kaapor, rng=[59]
Cannot find identity phone k in allophone list ['ɡ', 'ɣ'] for proc list ['ɡ-voicing', 'ɣ-lenition', 'ɣ-spirantization']
Cannot find identity phone k in allophone list ['ɡ', 'ɣ'] for proc list ['ɡ-voicing', 'ɣ-lenition', 'ɣ-spirantization']
Xetá, rng=[63]
Cannot find identity phone k in allophone list ['ɣ'] for proc list ['lenition', 'spirantization', 'voicing']
Cannot find identity phone k in allophone list ['ɣ'] for proc list ['lenition', 'spirantization', 'voicing']
Cannot find identity phone k in allophone list ['ɣ'] for proc list ['lenition', 'spirantization', 'voicing']
Cannot find identity phone k in allophone list ['ɣ'] for proc list ['lenition', 'spirantization', 'voicing']
Cannot find identity phone k in allophone list ['ɣ'] for proc list ['lenition', 'spirantization', 'voicing']
Cannot find identity phone ɾ in allophone list ['ʀ', 'x'] for proc list ['ʀ-uvularization', 'ʀ-trilling', 'x-fortition']
Cross-referencing #37 for allophone list
.
An example from Akuntsu allophones line 232: {e, {eː, ɛː}, $'_, {eː-lengthening, ɛː-lowering, ɛː-lengthening}}
Note that there are two processes associated with ɛː
.
Let's try changing the mapping of allophones to processes (for those that specify environments and processes) in the allophones
list to the following:
Definition: A phone prefix
is a phone character, followed by a hyphen, before a process name, e.g. ɛ
is a phone prefix for ɛ-lowering
.
Allow exactly one non-identity allophone mapping which may nor may not have a phone prefix for the process, e.g. for {t, n, _+Ṽ, XMP=LN:t}
it is not necessary to prefix the process XMP=LN:t
with the phone prefix.
{e, {e, ɛ}, @, ɛ-lowering}
-- the ɛ
allophone requires a prefixed process name. The e
allophone, as the identity allophone, does not require a corresponding process.
Otherwise, map process names by phone prefixes to the non-identity allophones
There can be more than one process associated with an allophone
Every allophone should have at least one corresponding process
[ ] Update the alloprocs
function to use these checks
[ ] Check and update check_procs
function, which uses the output of alloprocs
Sample strings that could be mapped and the required result for each:
{e, {e, ɛ}, @, ɛ-lowering}
:
phone: e
allophones:
- e
- ɛ
environment: @
process:
- allophone: ɛ # Allophone is required to be in original string as phone prefix
name: [lowering]
{s, {s, tʃ, ʃ}, {_i, i_}, {tʃ-fortition, tʃ-palatalization, ʃ-palatalization}}
phone: s
allophones:
- s
- tʃ
- ʃ
environment:
- _i
- i_
- process:
- allophone: tʃ
name: [tʃ-fortition, tʃ-palatalization]
- allophone: ʃ
name: [ʃ-palatalization]
{t, n, _+Ṽ, XMP=LN:t}
phone: t
allophones:
- n
environment: _+Ṽ
process:
- allophone: n # Allophone not required in original string and is interpolated
name: [XMP=LN:t]
{e, {eː, ɛː}, $'_, {eː-lengthening, ɛː-lowering, ɛː-lengthening}}
phone: e
allophones:
- eː
- ɛː
environment: $'_
process:
- allophone: eː # Allophone is required to be in original string as phone prefix
name: [lengthening]
- allophone: ɛː
name: [lengthening, lowering]
{p, p}
# Simple example that does not require environment or processes in original string
phone: p
allophones:
- p
environment:
process:
After recent updates to the alloprocs
function many of these errors are no longer present. Closing this issue, and individual remaining errors can be addressed separately.
From Akuntsu, rng=[1]