第9回コーパス利用講習会

Praat・ELAN講習会
2019年8月31日

音声分析ソフトウェアPraatアイコン をクリックして起動すると２つのウィンドウが開く

主要な操作対象 ➡ オブジェクトウィンドウ

ピクチャーウィンドウ文字コードの設定（日常会話コーパスを用いる場合）[Praat] → [Preferences]

UTF-8 を選択

音声ファイル・TextGridファイルを読み込む
オブジェクトウィンドウから、 [open] → [Read from file…] で、音声・TextGridファイルを選択 (音声ファイルは Open long sound file でも可）

※今回の講習会では以下のファイルを読み込む
C001_002_IC01.wav
C001_002-luu.TextGrid

IC01（玲子）の音声ファイル
発話単位で区切ったTextGrid読み込んだ音声はオブジェクトとして管理選択したオブジェクトのタイプ（この場合は音声）ごとに実行できるメニューが出現音声ファイル・TextGridファイルの表示① 読み込んだ音声ファイルとTextGrid ファイルのリストが表示されるため両者を選択音声波形

TextGrid（転記テキスト）② [View & Edit ]クリック

TextGridにおける２種類の層① Interval 層（tier） ：開始・終了時刻をもつ範囲（日常会話コーパスの転記はInterval tierのみ）② Point 層（tier）：1つの時刻のみ（範囲ではなく点）

範囲あるいはポイントの指定方法①
波形上でドロップ＆ドロップで範囲指定

Interval 層の該当ラベルのクリックで指定

指定範囲の時間が秒単位で表示

波形上でクリックしてポイント指定
ポイントの時間が秒単位で表示

Interval 層の該当ラベルの境界 orPoint 層のラベルのクリックで指定

音声の再生

以下のいずれかの方法で範囲指定し①a 聞きたいラベルをクリック①b 波形上のドラッグ&ドロップ② 画面下の一番上のバーをクリック（or タブキー）で再生（1段目：選択範囲、2段目：表示画面の範囲、3段目：ファイル全体の再生）※ ラベルや層を移動する場合は、マウス操作のほか、
Alt/Option + 矢印（←→↑↓）でも可範囲の拡大・縮小など以下のいずれかの方法で範囲指定し①a 聞きたいラベルをクリック①b 波形上のドラッグ&ドロップ
左下の [sel ] ボタンをクリックして拡大表示（ほか、ズームイン[in] アウト[out] など）

アノテーション内容の修正② テキストボックスで編集① 修正したいラベルをクリックで選択してアノテーション境界（始端・終端）の移動・削除②a 移動の場合：ドラッグ＆ドロップで任意の位置に移動②b 削除の場合：Alt / Option + backspace （削除した境界前後の範囲が結合）① 修正したいラベルの境界をクリックで指定※選択した境界が赤くなっていることを確認アノテーションの分割②① 波形上で分割したいポイントをクリックで指定し② テキストボックス上で分割したい位置にカーソルを移動させた上で③ 分割したい層の上の ◯ をクリックすると①③④ その位置で分割される②のステップを省略するとラベルの内容は全て分割
範囲の最初のセルに表示[Tier] → [Add interval/point tier]

アノテーション層の追加
interval tier 開始・終了時刻をもつ範囲（転記はinterval tier）
point tier 1つの時刻のみ② 追加したいラベリングの層の位置と名前を入力して [OK]新しい層が追加
左の例では
interval 層 として comment_I を
point 層 として comment_P を作成

Point層へのラベルの挿入①a 波形上で任意の箇所をクリック①b 既存のラベルの境界と同期させたい場合そのラベルの境界をクリック② 挿入したい層の上部の ◯ をクリックするとラベル挿入用のマーク

テキストボックスにラベル（コメント）記入すると該当 tier にラベルが反映が表示

Interval層へのラベルの挿入①a 始端と終端をそれぞれ指定する場合「point層へのラベルの挿入」に記したいずれかの方法で始端と終端をそれぞれ指定
始端①b 始端と終端を同時に指定する場合
波形上で範囲の挿入したい層を始端 & 終端をクリックして選択選択してリターン

終端

範囲指定した箇所に空のラベルが挿入されるためテキストボックスにラベル内容を記入するとその範囲にラベルが反映層に色がつく

ラベルの境界位置の同期① 新規作成： 「Point層へのラベルの挿入」①b に記した方法で作成（Interval層の場合も範囲の始端と終端をこの方法で指定）② 他のラベルに同期させるように境界・ポイントを移動

1層目と3層目が同期していない状態（1層目の始端を選択すると３層目始端の上部に ○ があることが非同期の印）③ 他のラベルと同期させたまま同時に移動：移動させたい境界を選択し、Shift キーを押したままドラッグ＆ドロップで移動させると、同期している境界が一緒に移動

上部の ○ に向けてラベルの境界をドラッグ＆ドロップで移動させると同期（上部に ○ がないことを確認）

ピッチやスペクトログラムの表示
スペクトログラム、インテンシティ、フォルマント、パルスも同様にShow … を選択すると表示、選択を外すと非表示[Pitch] → [Show pitch] 選択

スペクトログラムとピッチを選択して表示した状態

ピッチの設定画面[Pitch] → [Pitch settings…] 選択
スペクトログラムなども同様に
当該メニューの上から２つ目にsettings がある

個人の声の高さに合わせて調整

F0値の取得①④
F0値を取得したい箇所をマウスでクリックすると① 画面右端にF0値が表示②あるいは、 [Pitch] → [Get Pitch] ③ とすると、上の図のようにF0値が細かく表示④

③

①

②

F0値の取得②
F0値を取得したい範囲を選択し [Pitch] → [Pitch listing]①

当該範囲の最大値や最小値も [Get minimum/maximum pitch] で表示

ファイルの保存

B) csv ファイルとして保存する場合

A) TextGrid ファイルとして保存する場合

オブジェクトウィンドウ上で操作

波形&TextGrid表示画面で[File] → [Save TextGrid as text file] で保存①
TextGrid選択②[Tabulate -]③ [Down to Table …]
時刻情報の小数点以下の桁数指定して[OK][File] → [Save as text file] で保存
Table オブジェクトが作成されるためそれを選択して音声ファイルの追加表示
追加で音声ファイルを読み込み[View & Edit ] で波形表示

C001_002_IC02.wav
IC01（玲子）の会話相手のIC02（美沙）の音声ファイルを追加で開く② 右下の Group がチェックされていると最初に開いた Window と同期して表示複数のTextGridの層を結合
複数のTextGridを読み込み選択した上で[Merge] をクリックするとMergeされたファイル①[Save] → [Save as text file] で textgridとして保存（自動で拡張子は TextGrid となる）②

結合した結果発話単位
転記単位

オブジェクトウィンドウズ上で音声ファイルを選択し右のメニューの [Annotate - ] → [To TextGrid] を選択

新規TextGrid作成① 全ての層の名前を記入② 上で指定した層のうちPoint層とするものの名前を記入して [OK]

映像解析ソフトウェアELAN

ELANで転記ファイルを開く※今回の講習会では以下のファイルを使用
C001_002-luu.eaf

発話単位で区切ったELAN用のファイル（拡張子：eaf）

方法1） eaf という拡張子のファイル（アイコンが）をダブルクリックして開く

方法2） 上の方法でうまく開かない場合は、 ELAN を起動した上で、下図のように[ファイル] → [開く] で 対象の eaf ファイルを選択

ELANの画面再生する音声の選択や注釈（転記）の一覧表示など

映像再生コントロール

音声（個人IC）

注釈層（各話者の転記テキスト）

画面の大きさの調整

このバーの付近（どの位置でもOK）でアイコンが変わったらクリックしながら上下に動かすことで上部（映像など）と下部（波形・注層）の大きさが変わる

同様に、このバーの付近でアイコンが変わったらクリックしながら上下に動かすことで波形と注釈層の大きさが変わる再生①

再生したい箇所をクリックで選択し再生コントロールで再生ボタン ・停止ボタン※ Control + Space で再生・停止

再生②

再生したい発話区間をドラッグで選択するか、注釈層の部分をクリックして範囲を選択した上で、選択部分再生ボタンで再生
で停止※ Shift + Space で選択再生・停止

その他の再生コントロール

現在位置から1ピクセル前後に移動 Cntr + Shift+ ←/→Shift + ⌘ + ←/→現在位置から1フレーム前後に移動 Cntr + ←/→⌘ + ←/→

現在位置から1秒前後に移動

Shift+ ←/→Shift + ←/→現在位置から1画面前後に移動

Cntr + Fn + ↑/↓⌘ + Fn + ↑/↓会話の先頭・末尾に移動

Cntr+b/e

選択した範囲の先頭・末尾に移動

Cntr + / （backslash）

注釈層における上下左右の移動

Alt + ←/→/↑/↓

Opt + ←/→/↑/↓

ショートカットの確認[表示] → [ショートカット]
ショートカットの一覧が表示再生する音声の調整[再生調整] 選択

全体のボリューム調整

ICおよび動画の音声の選択とボリューム調整
Mute:消音
Solo: その音のみ再生※この画面ではIC01とIC02の音声が再生

再生スピードの調整

波形表示する音声メディアの選択・拡大縮小

ここをクリックして表示可能な音声ファイルを選択右下

波形部分で右クリックするとメニュー（上の図：波形の縦方向の拡大・縮小選択）

表示する波形・注釈層の範囲の拡大縮小

任意の箇所に移動

ファイル全体での位置

ファイル全体での位置映像音声ファイル追加[編集] → [リンクファイル][追加] を押して映像・音声ファイルを指定
映像GoPro２種と 全体音声（IC0A）を追加）

映像GoPro２種と全体音声（IC0A）のファイルが追加されていることを確認

MIX画像
IC0Aの音声も選択可となる（初期状態で読み込まれたファイル）

GP01
（追加）
GP02
（追加）

表示する映像の選択・映像の表示切り離し[表示] → [メディアプレイーヤー] で表示する映像を選択

GP02だけを選択して表示した状態

複数映像が表示されている場合、いずれかの映像上で右クリックでメニュー表示し[ビデオ画面を切り離す] を選択することえ、その映像を独立したウィンドウで表示
切り離されたウィンドウ

層（話者）ごとの注釈（転記）の一覧表示① [格子] を選択② プルダウンで層（話者）を選択

参考） クリックすると注釈層の該当位置に移動（逆に注釈層 → 格子の移動も）参考） 格子上での右クリックでメニューを開き、表示項目や文字サイズなど調整可能
格子上での右クリックでメニューを開き、表示項目や文字サイズなど調整

層（話者）ごとの注釈（転記）のテキスト表示① [テキスト] を選択② プルダウンで層（話者）を選択

参考） クリックすると注釈層の該当位置に移動（逆に注釈層→テキストの移動も）

注釈層の追加（シンプル編）[注釈層] → [新規追加]

注釈層の名前（ほかの項目は任意）を入力して [追加] (ここでは comment という層を追加）

新しい注釈層(comment)

注釈の入力① 波形か注釈層でマウスのドラッグで範囲を選択② 注釈を追加した層でダブルクリックすると入力のためのボックスが表示③ 注釈を入力してリターンで確定

注釈の修正・移動・削除
A) 注釈の内容の修正：修正したい注釈を選択しダブルクリックすると編集可能となるB) 注釈の境界位置の修正
alt/option を押しながら注釈の境界にポインターをかざすとアイコンが変わるので、そのまま alt/option を押したままマウスでドラッグ&ドロップで境界を移動
C) 注釈をそのまま移動
alt/option を押したまま注釈の中央あたりでドラッグ&ドロップして注釈全体を移動
D) 注釈の削除
削除対象の注釈を選択し [注釈] → [注釈の削除]※ その他の操作は[注釈] のメニュー参照

保存 ①A) eaf ファイルとして保存する場合[ファイル] → [保存].eaf メインファイル.pfsx フォントなどの環境設定

B) タブ区切りファイルとして保存する場合[ファイル] → [別ファイル形式で保存]→ [タブ区切り文書ファイル形式で…]①
出力したい層を選択②
出力オプション
必要に応じて（特に下の方の時間や間隔その単位等）③ [OK]

文字コードUTF-8で [OK]保存 ②C) 会話分析風のトランスクリプション[ファイル] → [別ファイル形式で保存] → [旧来の記録文書形式で]
例えば左の図にあるように設定すると以下のようなテキストが作成される①出力したい
層を選択

②行番号
③層ラベル
④開始・終了時刻（ここでは指定しない）⑤発話間の沈黙（何秒以上の沈黙を表示するか、小数点の桁を何桁表示するか設定）

406 IC02_美沙 こっから乗る(0.702)とか。
407 IC01_玲子 うん うん。
(1.2)
408 IC02_美沙 なんか でも見てるといかついんだよね。
409 IC01_玲子 うん。
410 IC02_美沙 まだ でもホノトラはそんなに(0.997)あれだけど。
411 IC01_玲子 うん。
412 IC02_美沙 うん。
(1.3)
413 IC02_美沙 な感じで:。
414 IC01_玲子 へー。
415 IC02_美沙 で: 最後はランだよね。
416 IC01_玲子 うん。
発話間の沈黙(1.8)
417 IC02_美沙 うん。

行番号層 発話内容
ラベル沈黙の長さの計算①[ 注釈層] → [Create Annotations from Gaps]①a②③① Select All で玲子と美沙の二人の層を選択② 算出した沈黙長を gap という新しい層に表示③ 沈黙長をミリ秒形式で表示

gapという新しい層ができ、発話間の沈黙長が表示

沈黙の長さの計算②[ 注釈層] → [Create Annotations from Gaps]①②③① 一つの層（ここでは玲子）を選択② 算出した沈黙長を同じ層（玲子）に表示③ 沈黙長をミリ秒単位で表示※同様のことを美沙の層でも行う

指定した層（玲子）に、玲子の発話間の沈黙長がミリ秒単位で表示重複の長さの計算[注釈層] →
[前注釈終了時点から新規注釈作成]
対象とする層を選択（玲子と美沙）

指定した層（overlap）に、発話間の重複長がミリ秒単位で表示
挿入する層の名前を指定（ここでは overlap ）
条件を選択（全ての発話を対象）

沈黙長をミリ秒単位で表示

[表示] → [注釈の統計]

注釈の統計① 選択した注釈層における注釈（発話）の頻度や全体に占める割合などの統計③ 各注釈層の注釈数などの統計② 選択した注釈層における注釈の継続
時間の最小・最大・平均値などの統計

PraatとELANの連携 ①
範囲を選択し波形上で右クリックし[Praatで選択部分を開く] を選ぶ

該当範囲の波形がPraat上で表示

PraatとELANの連携 ②
Praat で作成した TextGrid を読み込む[ファイル] → [読み込み]→ [Praat TextGridファイル][閲覧] から対象のTextGridを指定（Encoding は UTF-8 ）ELANには interval tier 相当の注釈しかないため、読み込み対象の TextGridに point Tier がある場合[ポイント層…] にチェックしたうえで継続長の初期値を設定（本来、継続長0のポイントに一定の長さを与える)

次へ進んで「言語タイプの選択」（基本的には何もせず） [終了]
ELANに TextGrid の層が追加で読み込まれるPraatとELANの連携 ③
ELANで作成した注釈をTextGrid で書き出す[ファイル] → [別ファイル形式で保存]→ [Praat TextGridファイル形式で]保存対象の層を選択して [OK]

保存ファイルを指定し UTF-8 を選択して保存
Praat は ELAN のファイルを読めないため
ELAN 側で一旦 TextGrid 形式で書き出す必要がある

検索① 作業中のファイルを単純に検索[検索] → [検索（および置換）]

検索結果

検索語を入力（例：あー）

検索対象の層を選択（全て、あるいは任意の層）

検索結果の任意の行のクリックでメイン画面の当該位置に移動検索② 高度な検索：正規表現を使ってみる[検索] → [複数のeafファイルを詳細条件で検索]（さしあたり）今開いているファイルを[Add File] で選択① [Single Layer Seach]② [regular expression]④ 検索語入力（正規表現）選択(例： ^あ[っー]? ）正規表現.
任意の1文字[abc]
カッコ内の文字のいずれか[a-c]
カッコ内で範囲指定された文字のいずれか[^ab]
カッコ内の文字以外のいずれか(abc)
文字群の指定（”abc”という文字列）(ab|cd) 複数文字群の指定(”ab”あるいは”cd ”)^（注釈の）先頭$（注釈の）末尾?
直前の文字（群）が1つ有るか無いか+直前の文字（群）の1回以上の繰り返し*
直前の文字（群）の0回以上の繰り返し{n}
直前の文字（群）のn回の繰り返し{n,}
直前の文字（群）のn回以上の繰り返し

例 （正規表現は青字で表示）⑤[Find]
検索実行③
検索対象のティア選択[あそ]の注釈に「あの」か「その」を含む(うん|はい)注釈に「うん」か「はい」を含む^あ[っー]?。$ 「あ。」「あっ。」「あー。」である注釈

検索③ 高度な検索：複数tier間の条件[検索] → [複数のeafファイルを詳細条件で検索]

検索例1

①a②a③

[Multiple Layer Seach] 選択

検索例2①b②b「ね。」で終わる①a 玲子の発話①b に対し「うん」で始まる②a 美沙の発話②b がOverlap ③ している場合①a③②a①b②b「うん」で終わる①a 玲子or美沙の発話①b に対し「うん」で始まる②a 相手の発話②b が200ミリ秒以内の間隔で後続 ③ している場合

検索④ 高度な検索：複数ファイルを検索検索等の処理をする「ファイルの集合」であるドメインを指定してから検索※ 個々に指定した複数のファイル、あるいは指定フォルダに含まれる複数のファイルの集合[検索] → [複数のeafファイルを詳細条件で検索]→ [Define Domain] を選択

検索②③に記した方法で検索ドメイン中のファイル数（252ファイルが検索対象）

検索語を指定してまとめて検索ドメインに名前をつけて [OK] で保存保存したドメインは[Define Domain]でドメインリストから選択可[New Domain][Add Folder] でフォルダを指定（あるいは [Add File] で個々にファイルを指定）
ここでは CEJC-DVD版に含まれる全てのデータを指定管理語の設定①
管理語（注釈のリスト）を設定し、そのリストから注釈を選択できるようにする[編集] → [管理語の編集]① 言語タイプの名前を指定② 登録した管理語を選択して ③ 追加

① [管理語名] に名前を指定して [追加]

①（任意）

①
②②（任意）↑
管理語 ‘act‘ に登録された値の一覧（注釈のリスト）② [エントリーの値] に値を指定して [追加]③

[言語タイプ] → [言語タイプの追加]

管理語の設定②
管理語が選択できる注釈層を新たに作成する[注釈層] → [新規追加]① 新しい注釈層の名前をつけて② 登録した言語タイプを選択して ③追加
③
②

①

①
① 追加された注釈層の上で新しい注釈の範囲を選択してダブルクリックすると② 管理語’act’ に登録した値の一覧が表示されるため③ 該当する値をダブルクリック
値を確定

②
③

上位/下位の層の設定①
IC01_行為の「挨拶」はIC01_玲子の「おはようございます。」 に対するラベルだが始端・終端位置がずれている。。。
↓
IC01_行為 を IC01_玲子 と関連付ける！
（IC01_行為を IC01_玲子の下位の層として設定）
タイプ3

タイプ１

タイプ２

上位と下位の層の範囲が必ず一致

上位層が1つ以上の下位層から構成（隙間なし）

ステレオタイプ

上位の層

発話1

下位の層

行為1

発話1

発話2

行為1 行為2 行為3

上位層が1つ以上の下位層から構成（隙間あってよい）
発話1

発話2

行為1 行為2 行為3
タイプ4 均等割

上位の層

発話1下位の層

行為1 行為2 行為3 行為4

上位/下位の層の設定②
言語タイプを作り直す[言語タイプ] → [言語タイプの追加]① 言語タイプ名の指定（ここでは act-type）② ステレオタイプの選択（ここではタイプ1を選択）③ 管理語の選択（ここでは act）
①
②
③

タイプ2
タイプ3
タイプ4
タイプ1

上位/下位の層の設定③
適当な範囲を選択して注釈を作成しても…

スライド「管理語の設定②」も参考に新しい注釈層（IC01_行為）を作成

上位注釈層を指定！

上位層と完全に範囲が一致した注釈が作成される！

テンプレートの保存・適用設定した「管理語」「言語タイプ」などを保存（拡張子： .etf ）[ファイル] → [テンプレートとして保存]「管理語の設定②」の手順に従い新しい注釈層（IC01_行為）を作成[閲覧]①で保存したテンプレートを読み込むと登録してあった言語タイプ act-type が現れる②

新しい EAF ファイル
（例：C001_002-transUnit.eaf ）を開く

[言語タイプ] → [言語タイプの読み込み]②①

新規ファイル作成[Add Media File] をクリックしメディアファイルを指定[ファイル] → [新規作成][注釈層] → [新規追加] で任意の注釈層を作成（「注釈層の追加」参照）

ここでは MIX映像と個人ICの音声を指定

参考書