This module generates the phonemic IPA transcription of Akkadian entries. It runs {{akk-IPA}}
.
All tests passed. (refresh)
Text | Expected | Actual | Comments | |
---|---|---|---|---|
![]() | abnum | ˈab.num | ˈab.num | |
![]() | abum | ˈa.bum | ˈa.bum | |
![]() | adi | ˈa.di | ˈa.di | |
![]() | agammum | aˈɡam.mum | aˈɡam.mum | |
![]() | akalum | ˈa.ka.lum | ˈa.ka.lum | |
![]() | akālum | aˈkaː.lum | aˈkaː.lum | |
![]() | alaktum | aˈlak.tum | aˈlak.tum | |
![]() | alpum | ˈal.pum | ˈal.pum | |
![]() | alākum | aˈlaː.kum | aˈlaː.kum | |
![]() | amtum | ˈam.tum | ˈam.tum | |
![]() | amurdinnum | a.murˈdin.num | a.murˈdin.num | |
![]() | anāku | aˈnaː.ku | aˈnaː.ku | |
![]() | aplum | ˈap.lum | ˈap.lum | |
![]() | aptum | ˈap.tum | ˈap.tum | |
![]() | arārum | aˈraː.rum | aˈraː.rum | |
![]() | atta | ˈat.ta | ˈat.ta | |
![]() | atti | ˈat.ti | ˈat.ti | |
![]() | -atum | -a.tum | -a.tum | |
![]() | awīltum | aˈwiːl.tum | aˈwiːl.tum | |
![]() | awīlum | aˈwiː.lum | aˈwiː.lum | |
![]() | aššatum | ˈaʃ.ʃa.tum | ˈaʃ.ʃa.tum | |
![]() | aḫum | ˈa.χum | ˈa.χum | |
![]() | aḫûm | aˈχuːm | aˈχuːm | |
![]() | aḫātum | aˈχaː.tum | aˈχaː.tum | |
![]() | birkum | ˈbir.kum | ˈbir.kum | |
![]() | Bābilim | ˈbaː.bi.lim | ˈbaː.bi.lim | |
![]() | bābum | ˈbaː.bum | ˈbaː.bum | |
![]() | bēltum | ˈbeːl.tum | ˈbeːl.tum | |
![]() | bēlum | ˈbeː.lum | ˈbeː.lum | |
![]() | bītum | ˈbiː.tum | ˈbiː.tum | |
![]() | damāqum | daˈmaː.qum | daˈmaː.qum | |
![]() | danānum | daˈnaː.num | daˈnaː.num | |
![]() | dayyānum | dajˈjaː.num | dajˈjaː.num | |
![]() | dārum | ˈdaː.rum | ˈdaː.rum | |
![]() | eleppum | eˈlep.pum | eˈlep.pum | |
![]() | elēpum | eˈleː.pum | eˈleː.pum | |
![]() | emūqum | eˈmuː.qum | eˈmuː.qum | |
![]() | eperum | ˈe.pe.rum | ˈe.pe.rum | |
![]() | erbum | ˈer.bum | ˈer.bum | |
![]() | ergilum | ˈer.ɡi.lum | ˈer.ɡi.lum | |
![]() | erṣetum | ˈer.sˤe.tum | ˈer.sˤe.tum | |
![]() | gišimmarum | ɡiˈʃim.ma.rum | ɡiˈʃim.ma.rum | |
![]() | idum | ˈi.dum | ˈi.dum | |
![]() | ilkum | ˈil.kum | ˈil.kum | |
![]() | iltum | ˈil.tum | ˈil.tum | |
![]() | ilum | ˈi.lum | ˈi.lum | |
![]() | imērum | iˈmeː.rum | iˈmeː.rum | |
![]() | ina | ˈi.na | ˈi.na | |
![]() | itti | ˈit.ti | ˈit.ti | |
![]() | išarum | ˈi.ʃa.rum | ˈi.ʃa.rum | |
![]() | išdum | ˈiʃ.dum | ˈiʃ.dum | |
![]() | Ištar | ˈiʃ.tar | ˈiʃ.tar | |
![]() | ištēn | iʃˈteːn | iʃˈteːn | |
![]() | iṣum | ˈi.sˤum | ˈi.sˤum | |
![]() | kakkabum | ˈkak.ka.bum | ˈkak.ka.bum | |
![]() | kalbum | ˈkal.bum | ˈkal.bum | |
![]() | kankum | ˈkan.kum | ˈkan.kum | |
![]() | kanākum | kaˈnaː.kum | kaˈnaː.kum | |
![]() | kanīkum | kaˈniː.kum | kaˈniː.kum | |
![]() | kappum | ˈkap.pum | ˈkap.pum | |
![]() | kaspum | ˈkas.pum | ˈkas.pum | |
![]() | kašādum | kaˈʃaː.dum | kaˈʃaː.dum | |
![]() | kirûm | kiˈruːm | kiˈruːm | |
![]() | kunukkum | kuˈnuk.kum | kuˈnuk.kum | |
![]() | kāsum | ˈkaː.sum | ˈkaː.sum | |
![]() | lamassum | laˈmas.sum | laˈmas.sum | |
![]() | libbum | ˈlib.bum | ˈlib.bum | |
![]() | lûm | ˈluːm | ˈluːm | |
![]() | lā | laː | laː | |
![]() | līmum | ˈliː.mum | ˈliː.mum | |
![]() | lītum | ˈliː.tum | ˈliː.tum | |
![]() | marrum | ˈmar.rum | ˈmar.rum | |
![]() | mazzaztum | mazˈzaz.tum | mazˈzaz.tum | |
![]() | midrum | ˈmid.rum | ˈmid.rum | |
![]() | musukkannum | mu.sukˈkan.num | mu.sukˈkan.num | |
![]() | mutum | ˈmu.tum | ˈmu.tum | |
![]() | muškēnum | muʃˈkeː.num | muʃˈkeː.num | |
![]() | mû | ˈmuː | ˈmuː | |
![]() | mārtum | ˈmaːr.tum | ˈmaːr.tum | |
![]() | mārum | ˈmaː.rum | ˈmaː.rum | |
![]() | mātum | ˈmaː.tum | ˈmaː.tum | |
![]() | mēsum | ˈmeː.sum | ˈmeː.sum | |
![]() | nadānum | naˈdaː.num | naˈdaː.num | |
![]() | nagbum | ˈnaɡ.bum | ˈnaɡ.bum | |
![]() | nārum | ˈnaː.rum | ˈnaː.rum | |
![]() | nīšum | ˈniː.ʃum | ˈniː.ʃum | |
![]() | paššūrum | paʃˈʃuː.rum | paʃˈʃuː.rum | |
![]() | pûm | ˈpuːm | ˈpuːm | |
![]() | pān šattim | ˈpaːn ˈʃat.tim | ˈpaːn ˈʃat.tim | |
![]() | pānum | ˈpaː.num | ˈpaː.num | |
![]() | qabûm | qaˈbuːm | qaˈbuːm | |
![]() | qanûm | qaˈnuːm | qaˈnuːm | |
![]() | qaqqadum | ˈqaq.qa.dum | ˈqaq.qa.dum | |
![]() | qaqqarum | ˈqaq.qa.rum | ˈqaq.qa.rum | |
![]() | qarnum | ˈqar.num | ˈqar.num | |
![]() | rēšum | ˈreː.ʃum | ˈreː.ʃum | |
![]() | sinništum | sinˈniʃ.tum | sinˈniʃ.tum | |
![]() | sīḫum | ˈsiː.χum | ˈsiː.χum | |
![]() | u | u | u | |
![]() | ugārum | uˈɡaː.rum | uˈɡaː.rum | |
![]() | ummum | ˈum.mum | ˈum.mum | |
![]() | Urarṭu | uˈrar.tˤu | uˈrar.tˤu | |
![]() | urrum | ˈur.rum | ˈur.rum | |
![]() | uznum | ˈuz.num | ˈuz.num | |
![]() | waklum | ˈwak.lum | ˈwak.lum | |
![]() | walādum | waˈlaː.dum | waˈlaː.dum | |
![]() | wardum | ˈwar.dum | ˈwar.dum | |
![]() | warāqum | waˈraː.qum | waˈraː.qum | |
![]() | warḫum | ˈwar.χum | ˈwar.χum | |
![]() | yâti | ˈjaː.ti | ˈjaː.ti | |
![]() | zikarum | ˈzi.ka.rum | ˈzi.ka.rum | |
![]() | zikrum | ˈzik.rum | ˈzik.rum | |
![]() | ziqqurratum | ziqˈqur.ra.tum | ziqˈqur.ra.tum | |
![]() | ālikum | ˈaː.li.kum | ˈaː.li.kum | |
![]() | ālum | ˈaː.lum | ˈaː.lum | |
![]() | ēkallum | eːˈkal.lum | eːˈkal.lum | |
![]() | ēnum | ˈeː.num | ˈeː.num | |
![]() | -ī | -iː | -iː | |
![]() | īkum | ˈiː.kum | ˈiː.kum | |
![]() | īnum | ˈiː.num | ˈiː.num | |
![]() | ša | ʃa | ʃa | |
![]() | šamaššammum | ʃa.maʃˈʃam.mum | ʃa.maʃˈʃam.mum | |
![]() | šammi Šamaš | ˈʃam.mi ˈʃa.maʃ | ˈʃam.mi ˈʃa.maʃ | |
![]() | šammum | ˈʃam.mum | ˈʃam.mum | |
![]() | šamnum | ˈʃam.num | ˈʃam.num | |
![]() | šamû | ʃaˈmuː | ʃaˈmuː | |
![]() | šamšum | ˈʃam.ʃum | ˈʃam.ʃum | |
![]() | šarqum | ˈʃar.qum | ˈʃar.qum | |
![]() | šarratum | ˈʃar.ra.tum | ˈʃar.ra.tum | |
![]() | šarrum | ˈʃar.rum | ˈʃar.rum | |
![]() | Šarrum-kīn | ʃar.rum-ˈkiːn | ʃar.rum-ˈkiːn | |
![]() | šarrāqum | ʃarˈraː.qum | ʃarˈraː.qum | |
![]() | šarāqum | ʃaˈraː.qum | ʃaˈraː.qum | |
![]() | šattum | ˈʃat.tum | ˈʃat.tum | |
![]() | šinnum | ˈʃin.num | ˈʃin.num | |
![]() | šumma | ˈʃum.ma | ˈʃum.ma | |
![]() | šumum | ˈʃu.mum | ˈʃu.mum | |
![]() | šārtum | ˈʃaːr.tum | ˈʃaːr.tum | |
![]() | šēdum | ˈʃeː.dum | ˈʃeː.dum | |
![]() | šīpātum | ʃiːˈpaː.tum | ʃiːˈpaː.tum | |
![]() | šūmū | ˈʃuː.muː | ˈʃuː.muː | |
![]() | ūmum | ˈuː.mum | ˈuː.mum | |
![]() | ḫalāqum | χaˈlaː.qum | χaˈlaː.qum | |
![]() | ḫaṣṣinnum | χasˤˈsˤin.num | χasˤˈsˤin.num | |
![]() | ḫurāṣum | χuˈraː.sˤum | χuˈraː.sˤum | |
![]() | ṣerretum | ˈsˤer.re.tum | ˈsˤer.re.tum | |
![]() | ṣeḫrum | ˈsˤeχ.rum | ˈsˤeχ.rum | |
![]() | ṣeḫērum | sˤeˈχeː.rum | sˤeˈχeː.rum | |
![]() | ṣuprum | ˈsˤup.rum | ˈsˤup.rum | |
![]() | ṣuḫārtum | sˤuˈχaːr.tum | sˤuˈχaːr.tum | |
![]() | ṣuḫārum | sˤuˈχaː.rum | sˤuˈχaː.rum | |
![]() | ṣābum | ˈsˤaː.bum | ˈsˤaː.bum | |
![]() | ṭabtum | ˈtˤab.tum | ˈtˤab.tum | |
![]() | ṭuppum | ˈtˤup.pum | ˈtˤup.pum | |
![]() | ṭābum | ˈtˤaː.bum | ˈtˤaː.bum |
local export = {}
local s = mw.ustring.gsub
local m = mw.ustring.match
local C = ""
local V = ""
local c = {
{"ṭ", "tˤ"},
{"ṣ", "sˤ"},
{"š", "ʃ"},
{"y", "j"},
{"g", "ɡ"},
{"ḫ", "χ"},
{"'", "ʔ"},
{"(" .. V .. C .. "?ˤ?)(" .. C .. "ˤ?)%f" .. V, "%1.%2"}
}
local d = {
{"", "aː"},
{"", "eː"},
{"", "iː"},
{"", "uː"}
}
function export.pronunciation_phonemic(word)
word = mw.ustring.lower(word)
for a = 1, #c do
word = s(word, c, c)
end
local N = {}
local i = 0
for a in string.gmatch(word, "%S+") do
i = i+1
N = a
end
for a = 1, #N do
if m(N, C .. "?ˤ?$") ~= nil then --last syllable is ultraheavy (circumflex)
N = s(N, "%.?(" .. C .. "?ˤ?)$", "ˈ%1") --final stress
elseif m(N, C .. "?ˤ?" .. C .. "ˤ?$") ~= nil then --again (any long V, + C)
N = s(N, "%.?(" .. C .. "?ˤ?" .. C .. "ˤ?)$", "ˈ%1") --final stress
elseif m(s(N, C .. "ˤ?" .. V .. C .. "?ˤ?$", ""), C .. "?ˤ?" .. "%.") ~= nil or m(s(N, C .. "ˤ?" .. V .. C .. "?ˤ?$", ""), C .. "?ˤ?" .. "" .. C .. "ˤ?%.") ~= nil then --otherwise, detects if there is (not where it is) a non-final heavy or ultraheavy syllable (long V, or any non-circumflex + C)
local n = ""
for b = 1, 5 do --arbitrary, find how to count syllables
N = s(N, "%.?(" .. C .. "?ˤ?" .. "%." .. n .. C .. "ˤ?" .. V .. C .. "?ˤ?)$", "ˈ%1") --long V
N = s(s(N, "%.?(" .. C .. "?ˤ?" .. "" .. C .. "ˤ?%." .. n .. C .. "ˤ?" .. V .. C .. "?ˤ?)$", "ˈ%1"), "ˈˈ", "ˈ") --non-circumflex + C
n = n .. C .. "ˤ?%." --+1 light syllable
end
else --no non-final heavy nor ultraheavy syllable detected, ie. there are only non-final light ones
N = s(N, "^( ?)(" .. C .. "?ˤ?%.)", "%1ˈ%2") --initial stress
end
end
word = table.concat(N, " ")
for a = 1, #d do
word = s(word, d, d)
end
return word
end
function export.show(frame)
local results = {}
table.insert(results, {pron = "/" .. export.pronunciation_phonemic(mw.title.getCurrentTitle().text) .. "/"})
local lang = require("Module:languages").getByCode("akk")
return "* " .. require("Module:accent_qualifier").format_qualifiers(lang, {']'}) .. " " .. require("Module:IPA").format_IPA_full { lang = lang, items = results }
end
return export