0
0

宮古諸語の簡易音素表記を考えてみる

Posted at

南琉球宮古方言調査報告書』(国立国語研究所, 2012年8月)の基礎語彙aデータを、1行ずつのテキスト形式にしてみたのはいいのだが、音声記号に「担当者の音韻論的解釈の違い」があって、何とも使いにくい。やはり音素にカテゴライズしたいところだし、音素表記に使う文字は、できればASCIIの小文字だけにしておきたい。少し調べてみたのだが、以下の論文は、それぞれに異なる音素目録を用いている。

かなり混沌としていて、スッキリまとめることは無理そうだ。仕方ないので、これらのどれとも違う形で、私(安岡孝一)なりの簡易音素表記を考えてみることにした。まずは半母音。

  • /y/ [j]
  • /w/ [w]

これで母音まわりが少し楽になる。

  • /i/ [i] [ɪ]
  • /j/ [ɿ] [ɨ] [ï] [ɯ] [ǝ]
  • /u/ [u] [ʊ]
  • /o/ [o]
  • /a/ [a] [ɑ]
  • /e/ [e] [ɛ]

子音は声門・軟口蓋のあたりから。

  • /x/ [h] [x] [χ] [ç] [ʕ]
  • /./ [ʔ] [ˁ]
  • /k/ [k]
  • /g/ [ɡ] [ʁ] [ɣ]

口唇まわりの子音もみておこう。

  • /p/ [p]
  • /b/ [b]
  • /f/ [f] [ɸ]
  • /v/ [v] [ʋ]

鼻音・ふるえ音は、子音としても母音としてもふるまうらしい。

  • /xm/ [m̥̟]
  • /xn/ [n̥̟]
  • /x/ [m̥] [n̥]
  • /m/ [m]
  • /n/ [n] [ɲ] [ŋ] [ɴ]
  • /l/ [l] [ɭ] [ʎ] [ɬ] [ɮ]
  • /r/ [r] [ɾ] [ɹ]

残りの子音はエイヤッとやってしまおう。

  • /t/ [t]
  • /d/ [d]
  • /s/ [s] [ɕ]
  • /z/ [z] [ʑ]
  • /c/ [ʦ] [ʨ] [θ]
  • /dz/ [ʣ] [ʥ] [ʤ] [ð]

[ʲ] [ᶻ]などの小書き音声記号やアクセント記号・ハイフンは削った上で、長音記号[ː]は直前の文字で置き換える。また、/yi//ii/に、/wu//uu/に、/ts//c/に直す。全体をプログラムで書くと、こんな感じ。

#! /usr/bin/python3
import unicodedata
while True:
  try:
    s=input()
  except:
    quit()
  i=s.find("[")
  j=s.find("]",i)
  w=["",s,""] if i<0 or j<0 else [s[0:i]+"/",s[i+1:j],"/"+s[j+1:]]
  t=(unicodedata.normalize("NFD",w[1])
    .replace("j","y")
    .replace("ɪ","i")
    .replace("ɿ","j").replace("ɨ","j").replace("i\u0308","j").replace("ɯ","j").replace("ǝ","j")
    .replace("ʊ","u")
    .replace("ɑ","a")
    .replace("ɛ","e")
    .replace("h","x").replace("χ","x").replace("ç","x").replace("ʕ","x")
    .replace("ʔ",".").replace("ˁ",".")
    .replace("ɡ","g").replace("ʁ","g").replace("ɣ","g")
    .replace("ɸ","f")
    .replace("ʋ","v")
    .replace("m\u0325\u031f","xm")
    .replace("n\u0325\u031f","xn")
    .replace("m\u0325","x").replace("n\u0325","x")
    .replace("ɲ","n").replace("ŋ","n").replace("ɴ","n")
    .replace("ɭ","l").replace("ʎ","l").replace("ɬ","l").replace("ɮ","l")
    .replace("ɾ","r").replace("ɹ","r")
    .replace("ɕ","s")
    .replace("ʑ","z")
    .replace("ʦ","c").replace("ʨ","c").replace("θ","c")
    .replace("ʣ","dz").replace("ʥ","dz").replace("ʤ","dz").replace("ð","dz")
    ).split("ː")
  for i,j in enumerate(t):
    k=""
    for c in j:
      if unicodedata.category(c)=="Ll" or c==".":
        k+=c if ord(c)<123 else "@"
      elif c=="\u0308" and k[-1]=="i":
        k=k[0:-1]+"j"
      elif unicodedata.category(c) not in {"Lm","Mn","Pd"}:
        k=k+"@"
    t[i]=k if i==len(t)-1 or not k[-1].isalpha() else k+k[-1]
  w[1]="".join(t).replace("yi","ii").replace("wu","uu").replace("ts","c")
  s="".join(w)
  print(s)

音素の対立をチェックしたわけではないので、あくまで簡易音素表記に過ぎないのだが、これで何とかカテゴライズできそうかな。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0