国際音声記号を爆速で打ち込むウェブアプリ(もどき)

 この記事は KMC Advent Calendar 2017 - Adventar の1日目の記事です。このカレンダーの内容はkyp(id:kypa)さんの尽力によって下の記事に逐一まとめられる(予定な)ので、良ければ参照してください。kyp(id:kypa)さん、がんばってくださいね。

kmc.hatenablog.jp

 そしてこの記事はなんと 語学/言語学/人工言語合同 Advent Calendar 2017 - Adventar の1日目の記事でもあります。こういうの許されるんでしょうかね?内心ビクビクしてます。よろしくお願いします。

 はじめに

  kyp(id:kypa)です。さて、皆さんはIPAと聞いて何を思い浮かべますか?もちろん、International Phonetics Alphabet、国際音声記号ですよね。不正確で例外も多く、そもそもの字母も少ないラテン文字表記*1より正確に・精密に発音を表記できるこのアルファベット、日常生活においてもついつい使っちゃう、なんて人も多いんじゃないかなと思います。

 しかし、マイナーな文字体系にはよくあることなのですが、文字コード上では定義されていたとしてもIMEからは変換できず、Unicodeからコピペして使ってくるしかない、なんてことは良くあると思います。しかもIPAのコードブロックはラテン-ギリシア文字からロシア文字、スモールキャピタルやIPA拡張にまで幅広く点在しているので、結局一々Wikipediaを頼ってコピペする羽目になるのです。まあ時間のたっぷりあるときならそれでも大丈夫ですが、日常生活で突然「無声声門閉鎖音を入力したい!」ってなったら困りますよね。

 少なくともWindowsIPAを入力できるIME的なものは存在せず、オンラインでコピペさせてくれるサイトが多少ある程度だと思います。例えば、国際音声記号 (IPA) キーボードType IPA phonetic symbols - online keyboard (all languages)などです。

 当初はIPAを打ち込めるWindowsネイティブなIMEを製作するつもりで満々でしたが、なぜか時刻が勝手に12月に入ろうとしているので、大急ぎで僕もJavaScriptIPAキーボードを作りました。JavaScriptなのでオンラインです。当然ウェブアプリです。これにより僕にもウェブアプリの製作経験が生まれました。そういうことでよろしくお願いします。

あなりてぃかるIPAき~ぼ~ど

入力方法について

 「あなりてぃかる」とあるのはこの入力方法が分析的だからです。IPA表をご覧になった皆様なら周知のように*2、例えば子音は調音位置と調音方法、母音は舌の前後位置や口の開き具合によって大まかに整理され、あとは有声/無声、円唇/非円唇を割り振れば発音記号は一意に定まります。これにより、例えば「無声両唇破裂音」=「p」というふうに各発音に対して一意に分析的命名がされているようです。

 上に挙げた2つの先行サイト様のうち、1つはIPA表をほとんどそのままの形で載せ、表中の文字をクリックするという方法を採っています。これはウェブサイトのUIとしては有用ですが、IMEを目指す上では採ることができない手法です。もう1つのtypeit.orgのほうはかなり面白い方法を採っています。それは記号の意味を考えることなく、外形が最も似ているアルファベットでジャンル分けし、それをケータイ入力のように繰り返し押すという方法です。例えば、キーボードでAlt+nを2回押すと[ɲ]が出てきます。3回押すと[ɴ]が、4回押すと[ɳ]が出てきて1周します。

 これはやり方としては非常に面白いし、正直かなり便利に使えると思いますが、発音記号には2つのアルファベットの合いの子のようなやつが大量にいて、果たしてどちらのものを押せば良いか分からなくなります。例えば[ɒ]は"a"と"o"どちらに分類されますか?"ɵ"は何で出てきそうですか?[ɥ]は"u"と"y"どちらでしょうか?*3

 というわけで、この2つの手法には限界があるように感じられたので、私は「分析的」な入力手法を採りました。つまり、例えば先に挙げた[ɵ]であれば、これは円唇中舌半狭母音ですから、「円唇中舌母音」を指すキーを押し、次に「半狭」を指定すると入力できる、という具合です。

 これなら画像はいらないし、見た目の微妙なカテゴリー分けに苦しむことはありません。何より、IPA表が頭に入っていれば一発で入力できて最高です。最低限入力しなければいけない各要素についても、表の並び方と対応してキーを並べていますから、QWERTYのように一から覚える必要は全く無いわけです。

 君もアナリティカルな入力手段を武器に、爆速でIPAを入力しよう!

問題点

 作っていて気付いたのですが、このキーボードには致命的な欠陥があるようです。それは、先に上げたような分析的要素からなる記号は広大なIPAのごく一部に過ぎないらしいということです。例えば、「軟口蓋歯茎側面接近音」[ɫ]。英語の"milk"などにも登場するくらい(おそらく)頻出の子音ですが、これは子音表から外れた存在で、調音位置という点でいえば他のものと被るわけでもなく、現時点では入力することはできません。

 また、大量に存在する補助記号や超分節素についてもどうしようか考え中です。一つ一つにキーを割り当てていては明らかにスペースが足りないのですが、綺麗に整理する方法は思いつかず、やはり少し不規則を覚えてもらう必要があるのかなと思っています。難しいですが、なんとか充実させていきたい……。

その他

 ソースコードがかなり汚いです。もっと綺麗に書けると思ったんですけど、よく考えたらキー入力→記号の対応付けって人間がゴリゴリ書くしかないんですよね。結局最終的にハードコーディングで乗り切ろうとしてしまい、悲惨なソースになってしまった気がします……。

 将来はIMEみたいなの作ってみたいと思いますが、分かりやすいガイドみたいなのが皆無なので、プログラミングとかOSそのものに対する知識を付けないと厳しそうです。各種ブログとかTipsとか回って見たりしてもう少し知見を深めていきたいですね。とりあえず現状のやつでも、Electronとかでデスクトップアプリ化したらそこそこ使える気がします。うおおやるぞ!!!

次回予告

 KMCアドベントカレンダーの2日目は、kataさんで内容は「ツイートで振り返る自転車で琵琶湖一周」です。僕は徒歩で女子寮の周りを一周したことがありましたが、死ぬほど虚しかったです。よろしくお願いします。語学/言語学/人工言語アドベントカレンダーの2日目は、 さんで内容は  です。

KMC(京大マイコンクラブ)の宣伝

 KMCでは、もう一つグラフィック班を中心にアドベントカレンダーを行っております。1日目の担当はrmasakiさんで、なんと5日目まで5日連続で担当が入っているようです!とても楽しみですね。

adventar.org

 また、KMCではあらゆる部員をいつでもどこでも募集しています。IPAから情報処理推進機構を連想できないあなたも大歓迎!年齢も所属も性別も人種も何一つ問われない素敵な団体ですので、少しでも興味を持ったあなたは今すぐ下のリンクから入部案内をご覧ください!

www.kmc.gr.jp

*1:しかし非言語学的な語学書では(なぜか)わりと使われている印象がある。非英語圏のタイにおいて、例えばดี[dii]を"dee"と表記した入門書に出会い、果たしてこれは「ディー」と「デー」どちらで呼ぶのかと迷った記憶がある。

*2:皆さんはきっと幼稚園くらいからIPA表を読んで育ってきたと思います

*3:正解は"h"です