マルソリ・ラボ
言語学、音声学、日本語、韓国語など。
201704<<12345678910111213141516171819202122232425262728293031>>201706
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Praatをもっと楽しく! ― Praat Launcher ―
音声資料を用いた研究をしているとしましょう。ここでいう音声資料というのは、大規模な音声コーパス(たとえば国立国語研究所の日本語話し言葉コーパス)かもしれないし、フィールドワークで録音した複数の単語の読み上げかもしれません。 どのような資料であれ、そこに含まれる何らかの単位(たとえば、セグメントや単語や文)に関して、情報を記録する(あるいは既に記録されたものを利用する)ことがよくあります。記録や閲覧をExcel上で行えば、ソートやフィルターが簡単に利用できて便利です。

記録したファイルを見ていると,元の音声を確認したくなることがあります。音響音声学の知識があれば,ただ聞くだけでなく,スペクトログラムやF0曲線も確認したくなるかもしれません。そんなとき,一回一回該当する音声ファイルを探して(たとえばPraatのような音響分析ソフトで)開き,さらにその音声ファイルの中の該当する箇所を探すというのは,けっこう面倒です。

そんなときの強い味方が,西川賢哉氏の作成したPraat Launcher。Excelのアドインで,ExcelワークシートからショートカットでPraatを立ち上げ,該当する音声ファイルの該当する箇所のスペクトログラムを表示させ音声を再生するというスグレモノです。TextGridも同時に開いてくれます。



ダウンロードと詳しい使い方は以下のページにあります。
Praat Launcher

ちなみに、11月20日に西川さんが筑波で、Praat Launcherについてお話ししてくださいます。みなさま是非ご参加ください。
筑波音声学・音韻論セミナー

※なお,この記事のタイトル「Praatをもっと楽しく!」はPraat Launcherのページにあるモットーからとらせていただいたものです。
スポンサーサイト

Praat: 時間を正規化したF0曲線 (3)
時間を正規化したF0曲線をつくるためのPraatスクリプトを以前つくったことがあります(以前の記事)。そのときはMatrixを利用したわけですが,Pitch Tier -> TableOfRealというようにして作ればもっとシンプルなスクリプトになることがわかり,作りなおしてみました。新しいスクリプトはこちらに置いてあります。

このスクリプトによって作られる図の例は,こんな感じ↓

時間を正規化したF0曲線

図の完成形は以前のものと全然変わりません。表に出ないスクリプトの内部が変わっただけなので,単に私の自己満足の問題かもしれません・・・。

でもせっかくなので,多少機能を追加しました。ラベルや図の枠を出さないようなオプションをつけたり。これを利用すると,複数の図を重ねがきするのに便利です。

Praat: 時間を正規化したF0曲線 (2)
時間を正規化したF0曲線をつくるためのPraatスクリプトについて以前の記事で書きましたが,自分でもつくってみました。以前に紹介した二つのスクリプトは,図そのものは別のソフトで作らなければなりませんが,私が今回作ったものは,Praat上で図が描けるのが特徴です。

そのスクリプトはこちらにおきました。

そして,それによって出来た図はこちら↓

TimerNormalizedF0.gif



ラベルも図につけられるようにしてあります。Praat上なので,IPAも全く問題なしです。

このスクリプト,いろいろと試行錯誤を重ねたすえ,Matrixを使うという方法にたどりつきました。スクリプトを走らせると,Matrixというオブジェクトが作られるのがわかると思います。ここには,正規化した時間情報のほかに本来の時間も入れるようにしたので,時間を正規化しない(普通の)F0曲線も同じMatrixから簡単に描けます。
[Praat: 時間を正規化したF0曲線 (2)]の続きを読む
Praat: 時間を正規化したF0曲線
時間を正規化した(time-normalized)F0曲線というのは,例えば「アメ」という発話においてa,m,eが時間軸上で同じ長さになるようにして示したF0曲線のことです。当然本来のF0曲線とは違ってしまうのですが,それでも敢えてこういうことをする必要が出てくるのは,例えば,2種類のF0曲線を同じ図の中で比べるような場合です。つまり,「雨」と「飴」のF0を比較するような図を作りたい,というときに有効なわけです。

「雨」と「飴」のF0を比べる図をつくるための古典的な方法は,各モーラからそれぞれ一点を選んで測定し,図をつくるというものです。ただ,これだと曲線の形状がわかりません。別の方法は,「雨」と「飴」のそれぞれについてF0曲線を描かせ,その図を2枚並べるというものです。でも,どうせなら1枚の図の中で重ね合わせたほうがわかりやすいです。では,単純に重ねたらどうかというと,個々の発話によって発話速度や持続時間調整にバラツキがあるために,きれいに示せないことがあります。(「雨」/「飴」のように短い発話ではあまり問題がないのですが,長めの発話になった場合,かなりバラツキがでてきます。)そこで,時間を正規化したF0曲線が必要になってくるというわけです。
(ただし,これらの方法は,一概にどれがよいとは言えません。どの方法を用いるかは目的によりけりです。)

時間を正規化したF0曲線は,Praatのスクリプトを利用して描かせることができます。私は,Bert Remijsenが公開しているスクリプトを利用しようかと思っていました。そんなことをBert(ここエディンバラにいる)に話したら,Yi Xuがすごいスクリプトを公開していると教えてくれました。

Bert Remijsenのスクリプト


こちらのページの9番からダウンロードできます。
本人が書いているように,これはあくまでも参考例であって,実際に使うには自分の用途にあわせて修正する必要があります。(そのためにはもちろん,Praatスクリプトの知識が必要です。)

Yi Xuのスクリプト


こちらのページからダウンロードできます。非常に完成度の高いスクリプトで,スクリプトの中身を理解していなくても使えます。

使い方は,

・スクリプトをダウンロードして,スクリプトと音声ファイルを同じフォルダの中に入れる。
・Praatからスクリプトを実行。
・TextGridのウィンドウでセグメンテーション(分節音の境界を指定する)する。
・Continueを押す。
・フォルダの中に.timenormf0というファイルが作られるので,これを何らかのグラフを作るソフト(例えば,Excel)で開き,グラフを作る。

大まかに言うとこんな感じです。(詳しい使い方はスクリプトの冒頭部分に書いてあります。Yi XuのウェブページのFAQも参考になります。)



ただ,Yi Xuのスクリプトはあまりにも「完成されている」ので,自分の目的にあわせて応用したい場合にはやりにくいかもしれません。その場合,むしろBert Remijsenのスクリプトをベースにして,自分でスクリプトを書いた方がやりやすいかも。

Praat: F0屈曲点を見つけるスクリプト
F0曲線から屈曲点をどう取り出すか?目で見てこのへんかなと思った点を測定するのが手っ取り早い方法ですが,それだとどうしても主観的になってします。どうしようかと思っていたところ,学振(国研)の五十嵐さんからBert RemijsenのページにPraatスクリプトが公開してあるという話を聞き,さっそく今日試してみました。

このスクリプトは,そもそもDaniel HirstとRobert Espesserが1991年に発表したMOMELアルゴリズムに基づいています。詳しいことはわかりませんが,屈曲点を見つけ,それらを曲線で結ぶことでF0のスムージングのようなことを行うというもののようです。Microprosodyを取り除く効果があるようです。

これをPraatのスクリプトにしたのが,Guillaume Rolland。詳しいことはここに書いてあります。さらに,それをBert Remijsenが修正したというわけです。Remijsenによるスクリプトはここから入手できます。8. Automatic detection of f0 turning points using MOMELというところです。

音声ファイルを指定して実行するほか,Pitchオブジェクトから実行することもできます。その場合,オブジェクトウィンドウ上でPitchオブジェクトを選択した上でスクリプトを実行し,フォームにおいてファイル名を"Pitch"とします。

なお,ディレクトリ名にスペースが含まれていると,スクリプトの実行がうまくいきません。スクリプトの中のFormのうち,ディレクトリを指定するところでwordとなっているのをsentenceに変えれば,これは解決します。

アルゴリズムの中身はまだよくわからないのですが,とりあえずスクリプトの実行はうまくいきました。Microprosodyを取り除く効果があるという話ですが,私がやってみた限りだと,microprosodyの影響と思われるところを屈曲点としてしまうこともあるようです。そのへんうまく工夫すれば,私の研究にも利用できそうです。

copyright © 2004-2005 Powered By FC2ブログ allrights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。