この記事にはGoogle Adsenseによる広告が含まれています。

Praatには様々な種類のオブジェクトがあります。オブジェクトというのは,オブジェクトリストに現れるもので,今まではSoundというオブジェクトのみを扱ってきました。ここでは,TextGridというオブジェクトを新たに利用してみます。

TextGridというのは,簡単にいえば,Soundの特定の時間をマークし,そこに文字列で情報を付与するものです。

TextGridオブジェクトを作る

TextGridオブジェクトをつくるための最も一般的な方法は,Soundオブジェクトからつくるというものです。まずSoundオブジェクトを一つ用意しましょう。たとえば,一つ前のページでVOTの計測の際に使った以下のファイルを利用してみましょう。

まず,このファイルを読み込むとSoundオブジェクトができるので,それを選択します。そして,右側のボタンのうちのAnnotateを押し,To TextGrid…を選択します。以下のようなウィンドウが現れるはずです。

ここで,All tier names:の部分に,たとえば, token event と入力し,Which of these are point tiers?の部分には event と入力します。

このようにしてOKを押すと,オブジェクトリストにはTextGridオブジェクトが加わります。

さて,TextGridは,一つ以上のtier(層)から構成されるオブジェクトです。tierには,interval tierとpoint tierという2種類があります。Interval tier は区間を指定する層,point tier は(時間軸上の)点を指定する層を意味します。上でAll tier nameにtoken event と入力したことで,token と event という名前の tier が作成されました。Which of these are point tiers?に event と入力したということは,event という tier をpoint tier にするということを意味します。残る token のほうは interval tier になります。token と event の両方を point tier にしたければ,Which of these are point tiers? に token event と入力すればよいし,反対に token と event のどちらも interval tier にしたければ,Which of these are point tiers? の部分は空欄にすればよいです。

いま,オブジェクトリストには Sound ta-da と TextGrid ta-da という二つのオブジェクトができているはずです。この二つを選択した状態で右側に現れるメニューから View&Edit を押すと,波形とスペクトログラムを見ながら TextGrid を編集することができるようになります。

なお,上の図のように,立ち上がったウィンドウの右側にはIPAのリストが表示されるかもしれません。これはTextGridの編集の際にIPAを入力しやすくするためのものですが,必要がなければ右上のXを押して閉じてしまってかまいません。すると下の図のようになります。(IPAを再表示させる場合には,右上の▷を押します。)

さて,ここで重要なのは,スペクトログラムの下に二つの tier が現れているというところです。上図で1層目が黄色になっているのは,1層目が選択されている(編集できる状態になっている)ということです。2層目を選択する場合は,2層目の中,あるいはその周辺をクリックしてください。

Interval tier の編集

Boundary の挿入・移動・削除

では,1層目の token という名前をつけた interval tier を編集してみましょう。ここでは,ta-da のSoundオブジェクトについて,そこに含まれる個々の発話にラベルをつけていくことにします。このオブジェクトには [ta] と [da] が三つずつ含まれているので,ta1 ~ ta3,da1 ~ da3 のラベルをつけていくことにします。

まず,TextGridの1層目(token)を選択しましょう。そして,マウスのポインタを音声波形またはスペクトログラムのほうに移動させ,一つ目の発話の範囲をドラッグして選択してください。発話の始端から終端までを厳密に選択するのではなく,前後に多少の余裕を持たせて選択してかまいません。

この状態でキーボードのEnterキーを押してください。そうすると下図のように,選択区間の始端と終端に boundary(境界)が挿入されます。

これにより,1層目には二つの boundary が入り,これらによって区切られた三つの interval(区間)ができました。上図では,最初の boundary が選択され(赤く表示されています),同時に,そこから始まる interval (三つの interval のうちの2番目)が選択された状態になっています(黄色で示されています)。他の interval を選択したければ,その interval の中のどこかをクリックすればよいです。そうすると,選択した interval が黄色になるはずです。

上では特定の範囲をドラッグして選択して Enter を押すことで二つの boundary を入れました。別の方法としては,時間軸上の1点にカーソルをおき,そこで Enter を押すことでも boundary を入れることができます。Boundary は移動させることもできます。移動させたい boundary (もしくはそれに後続する interval)を選択し(赤く表示させ)ドラッグすると移動させることができます。Boundary を削除したいときは,上部のメニューから Boundary > Remove を選ぶか,もしくは(ウィンドウズの場合)キーボードのAlt + Backspace を押してください。

ラベルの挿入

さて,それぞれの interval には文字を入力することができます。例えば,2番目の interval を選択した状態で,ta1 と入力してみましょう。

このように,interval tierは,boundary(境界)を付与し,境界に挟まれた interval(区間)にラベルを付与することができるようになっています。

さて,上と同様にして,6つの発話それぞれ(これを「トークン」と呼ぶことがあります)の始端・終端付近に boundary をつけ,テキストを入力してみましょう。

Point tier の編集

Boundary の挿入

次にPoint tierの利用方法についてみていきます。Point tier は,時間軸上の点を指定する層です。ここでは,前回学んだVOTを例にとり、破裂音のどこで破裂が生じ,どこで声帯振動が開始しているかを記録する上で、TextGrid の point tier を利用しましょう。ta-da の6発話からなる音声全体が表示された状態では作業がしにくいので,最初の発話のあたりにズームインした状態からはじめるといいでしょう。

さて,いま TextGrid の2層目に point tier を作ってあるので,この層を選択します(2層目ないしその周辺のどこかをクリックします)。 この状態で,マウスのカーソルを音声波形またはスペクトログラムに移動させ,一つ目のトークンの破裂の瞬間にカーソルをおきます。そして Enter キーを押します。すると,そこに boundary が挿入されます。

ラベルの挿入

Interval tier と point tier の違いは,ラベルの入れられる位置にあります。Interval tier では二つの boundary の間の interval にラベルを入れられるのに対し,point tier の場合には boundary そのものに対してラベルを入れることができます。例えば,先ほど入れた境界に対して,破裂(burst)の頭文字をとって b と入力してみましょう。

同様にして,声帯振動(voice)の開始点にvというラベルをふりましょう。

他のトークンについても,b と v のラベルをふっていきましょう。有声破裂音で声帯振動開始が破裂よりも前になる場合には,bラベルよりも前にvラベルがくるはずです。

各ラベルを選択すると,カーソルを上にたどっていくことでその時点の時間がわかります。vラベルの時間(上の図では0.231512)からbラベルの時間(0.185966)を引けば,VOTを計算することができます。

TextGridの保存

記録したTextGridは保存しておきましょう。

上で編集したTextGridは閉じてしまってもかまいません。情報はTextGridオブジェクトの中に残っています。このTextGridオブジェクトを保存すれば,後で改めて開くことができます。

オブジェクトリスト上のTextGridオブジェクトを選択しましょう(Soundオブジェクトとあわせて選択するのではなく,TextGridのみを選択してください)。そして,上部メニューからSave -> Save as text file…を選択します。これによって保存することができます。

保存したTextGridを読み込むときは,同じく上部メニューからOpen -> Read from file…を選択し,保存してあるTextGridを選択します。

TextGridを活用することのメリット

TextGridを活用することにはいくつかのメリットがあります。第一に,音声データにラベルをつけることで,わかりやすくすることができます。複数の発話から成る音声ファイルにおいて,ひとたびラベルをふっておけば,音声中の特定の単語などを後からすぐに見つけることができます。

第二に,計測の際の基準点を記録しておくことができます。例えばVOTの計測について考えてみましょう。もしTextGridを使わずにSoundEditor上でドラッグするのみで計測したとしたら,破裂時点や声帯振動開始時点と自分がみなしたところについて,それが妥当かどうかを後から再検討することはできなくなってしまいます。

第三に,TextGridはPraatのスクリプト機能を活用する際に欠かせません。(後のほうのページで説明しますが)Praatにはスクリプトという機能があり,これを用いることで計測の自動化/半自動化を行うことができます。例えば,上でやったように tokenラベルとb, vのラベルを付与したTextGridを作ったら,そのTextGridに対してスクリプトをかけることで,個々のトークンのVOTを自動で計測・集計することができます。