Praat Tutorial (based on ver 5.3.x)

  • 音声分析ソフトウェアのPraatについて解説。ちょこちょこ書き足しているので、少し古いバージョンについての記述がまじっていることもあり。

  • バージョン5系列ではできるけど4系列では出来無い機能についてはこちら 。ちなみに、Windose98、Mac OS 10.1以前などではバージョン4系列しか使えない。

起動・録音・保存

  1. 早稲田大学のPCルームでpraatがインストールされている場所の 一覧はこ こ。120-2-201は2012/1月時点でバージョン 4系。ログアウトするまでの間なら、ここでも、大学内の他の 場所でも、公式サイト からダウンロードしてその場限りのインストールで使うことはできる。 自分のPCにダウンロード・インストールして使ってもよい。Windows だけでなく、Mac, Linuxの多くのプラットフォームに対応している。

  2. 早稲田大学のPCルームでは「スタート」メニューからPraatを選 んで起動。自分でインストールしたPCの場合、インストールしたディ レクトリのPraatアイコン(ちょっと分かりにくいが、唇と耳の絵みた いなもの)をダブルクリックして起動。

  3. 最初に現れるふたつのウィンドウの内左側をObjectsウィンドウ と呼び、これがPraatの操作の中心となる。

  4. PCにマイクを接続して録音するときはObjectsウィンドウ のメニューから[New]-[Record Mono Sound...]を選択。

  5. そこで開くのはSoundRecorderウィンドウ。右側のSampling frequency(標本化周波数)は、44100Hz(CD並)がデフォルト。ファイ ルサイズやバッファサイズの制限があるので、音質に特別な要求 がなければ、22050Hzに下げても構わない。

  6. まんなかの白い四角の中には録音中の信号レベルが示される。 赤い領域に達したら、入力が過大。

  7. 左下のバーは録音バッファの残量を示す。これがいっぱいになっ てしまったら、それ以上は録音できない。

  8. もし、もっと長く録音したいときは、Objectsウィンドウのメニューから [Praat]-[Preferences]-[Sound input prefs...]を選び、Buffer size(MB)を増やす。CD並みの音質(16bit, 44100Hz)でモノラル入力 の音声は、1分で約5MB必要とする。

  9. 録音開始は[Record], 停止は[Stop]

  10. 右下のName:の欄に適切な名前を付けておくと、分析中区別しや すく、ファイルの保存時にも楽。ここの例では[wasedadaigaku]とし た。

  11. [Save to list]ボタンでObjectsウィンドウに録音結果を送る。

  12. Objectsウィンドウの[Edit]ボタンをクリックすると SoundEditorウィンドウが開く。音声が確かに録音さ れているか確認する。

    • 上パネルは波形。青い線は声帯振動のパルス。[Pulses]メ ニューで表示をオン/オフできる。

    • 下パネルはスペクトログラム(周波数を縦軸に取り、信号 の強さを濃淡で表したもの)。赤線はフォルマント(信号の特に強い 部分を表す)。[Formant]メニューで表示をオン/オフできる。水色の 線はピッチ(声の高さ: カーソル位置の数値はは右端に表示)。 [Pitch]メニューで表示をオン/オフできる。

    • スペクトログラム直下のバーをクリックすると音声を再生 する。(以下に示すように録音がうまくいっ てなくて過大なノイズが入っている場合もありうる。最初は 再生時の音量に十分注意して、耳を痛めたり周囲に迷惑を かけたりしないこと。)

    • 左下の4つのボタンでズーム範囲を調整できる([all]:全体、 [in]: ズームイン、[out]: ズームアウト、[sel]: 選択範囲 にズーム)

  13. もし、ノイズだ(ら)けの画面が出たら、マイクの接続がうまく いっていない(断線や不完全な差し込み)か、マイクのスイッチの入 れ忘れが考えられる。

  14. Objectsウィンドウに送っただけでは、録音は保存されてい ない。[Write] - [Write to WAV file...] で適切な場所に保存。

  15. 保存したファイルを再度開くときはObjectsウィンドウの [Read]-[Read from file]で読み込む。

  16. なお、ICレコーダーなどステレオ録音用の機器で録音してきた場 合、左右どちらかのチャンネルのみを、音声分析の対象とする。 まず音声ファイルをPCにコピーしたら、それをObjectsウィン ドウの[Read]-[Read two sounds from a stereo file]という メニューを通じて読み込む。するとSound leftとSound right という2つのオブジェクトとなって現れる。どちらか1つを一貫 性を持って用いると決め、[Write]-[Write to WAV file]メ ニューを通じて一旦保存する。ファイル名はデフォルトでは left.wavなどとなってしまうので、あらためてわかりやすい名 前をつける方がよい。

  17. このページで用いたサンプルの音声ファイルはこちら

分節

  1. Objectsウィンドウにサウンドファイルがある状態で, Annotate-To TextGridを選択

  2. All tier namesにおいてMary John Bellを削除し,必要な層 (Tier)の名前を入力する。ここでは例として「Word Seg Tone Note」の4種。

  3. Which of these are point tiers?においてToneと入力 --> マーカー線の上に文字を入力できる。

  4. 残りは自動的にinterval層と呼ばれるものになる。 --> マーカー線と線の間に文字を入力できる。

  5. Objectsウィンドウにもどり、SoundとTextGridの二つを 両方選択して[Edit]

    • いろいろと分析をしてObjectsが溜ってきた時は、不要なものを 選んでから、Objectsウィンドウ左下の[Remove]ボタンで削除する。

    • 隣接していないObjectを複数選択したいときはControlキーを押 しながらクリックするとよい。

  6. 以下の図のように分節の際はPulsesとFormantの表示はオフにし ておいた方が見やすい。

  7. スペクトログラムの中で分節したいポイントにカーソルを置き, Enterを押すか、青丸をクリックする(間違ったときは Alt+Backspaceで削除)。

  8. Word層には単語のローマ字表記を書き込む

  9. Seg層には各音素の表記を入れる。筆者は日本語については日本語話しことばコーパス(CSJ)の分節音ラベ リングにおおむね準拠したラベルを使うことが多い。

  10. Note層には、判断に迷ったところ、背景の突発的なノイズなど について、必要があればメモを残しておく。

  11. Segのどこに線を入れるかについては以下のリンク類を参照

  12. TextGridを表示すると[all][in][out][sel]のボタンが隠れてし まうことがあるが、そのときは[View]メニューを開けば同等の機能 にアクセスできる。キーバインディングのControl-A/I/O/Nを使用し てもよい。

  13. Tone層のラベルを入れる前にピッチの表示範囲を調整する。

    • [Pitch]-[Pitch settings...]メニューを選ぶと以下のダ イアログが表れる。

    • Pitch range (Hz)を水色の線がよく収まる範囲で適切にあ たえる。ここでは55.0 -- 220.0としている。

  14. Tone層には[A]や[H*]などのラベルを入れる。これは日本語であれば アクセント核とみなされるピッチの頂点あるいは屈曲点である。や はり日本語話しことばコーパス(CSJ)のイン トネーションラベリングに準拠した方式が望ましいが、厳密に 行うとなると手間がかかりすぎるかもしれない。自分の実験の目的に 照らして合理的で一貫していればよい。

  15. こまめにTextGridの保存を行うこと。「File」-「Write Textgrid to text file...」メニューを用いるか、あるいはControl とSキーを押してもよい。

  16. なお、TextGridを作ってから、音声ファイルの部分的削除など 編集作業を行うと不整合が生じてしまうので気を付けること。

  17. 一旦終了した作業を再開するには音声ファイルとTextGridファ イルをそれぞれ[Read]-[Read from file]で読み込み、両方を選択し て[Edit]。

  18. このページで用いたサンプルのTextGridファイルはこちら

分析

  1. ウィンドウの同期

    • SoundEditorウィンドウ右下の[Group]にチェックが入っている と、複数のSoundEditorウィンドウを開いても、時間軸上で同期して 表示される。つまりひとつのウィンドウで左右にスクロールやズー ムすると、他のウィンドウもそれに自動的に追随する。

    • ひとつあるいは複数の音声ファイルの中の時間的に異なる場所を比べて 見たい場合は、[Group]のチェックをはずす。以下の例では、 [w(a)sed(a)daigaku]の()内の二つの[a]を見比べている。

  2. 数値リスト

    • SoundEditorウィンドウにおいて[Formant]を表示する状態 のとき、[Formnant]-[Formant listing]メニューを用いると、カー ソル位置の時刻とフォルマントの値をInfoウィンドウに示す。ある 領域を選択して同様のことを行うと、その領域内のフォルマント測 定点全てにわたって数値データが得られる。以下では、[wased(a)]の ()内の母音全体について、Formant listを得た。

    • SoundEditorウィンドウにおいて[Pitch]を表示する状態 のとき、[Pitch]-[Pitch listing]メニューを用いると、[Formant listing]の場合と同様に、カーソル位置や選択領域のピッチと時刻 の一覧が得られる。

    • 上記どちらの場合も、Infoウィンドウの内容はスペース区 切りのテキストなので、そのままコピーして表計算ソフトに 貼り付けることができる。もちろん、Infoウィンドウのメニュー から保存することも可能。

  3. ピッチの最高値、最低値

    • SoundEditorウィンドウにおいて[Pitch]を表示する状態の とき、ある領域を選択しておいて、[Pitch]-[Get maximum pitch] メニューを用いると、その領域のピッチの最高値がInfoウィンドウ に表示される。

    • 同様にして[Pitch]-[Move cursor to maximum pitch]メ ニューを用いると、カーソルを最高点に動かす。これは分節の作業 中、[A]を探す時に役立つ。

  4. 声質に関する様々な測定値(Voice report)

    • まず、SoundEditorウィンドウにおいて[Pitch]-[Pitch settings]を選び、[Analysis method]として[Cross-correlation]を 選ぶ。

    • SoundEditorウィンドウにおいて[Pulses]を表示する状態 ([Show Pulses]にチェック)の時、選択した範囲について [Pulses]-[Voice report]メニューを用いると、以下のように声質に 関する様々な測定値が得られる。Pulsesとは声帯振動の1発1発のこ と、Voicingとは声帯が振動して声が出ていること、Jitterとは声の 高さのゆれ、Shimmerは声の大きさのゆれ、Harmonicityとは振動が 整っているかどうかを表す。声質(voice quality)は定義するのが難 しい多面的な事象だが、Praatのみを用いた初級・中級音声学におい て主に注目するのは、Jitter(ppq5), Shimmer(apq5), Harmonics-to-noise raioの3つで十分であろう。この三つの値が大 きいほど、声がザラザラした(Harsh)感じになる。

  5. Ltas (Long term average spectrum): 周波数帯域ごとのエネル ギーを、比較的長い時間の音声について平均して求める。

    • まず、SoundEditorウィンドウにおいてSoundオブジェクト を選択しておいて、[Spectrum]-[To Ltas...]ボタンを選ぶ。

    • 設定ウィンドウではBandwidthという項目が出る。これは 下記の棒グラフにおける棒の太さと考えてかまわない。ここ ではデフォルトの100Hzとする。

    • Ltasオブジェクトを選択した状態で、[Draw]ボタン を押すと、設定ウィンドウが出る。Frequency rangeは横軸の 表示幅、Power rangeは縦軸の表示幅を設定する。Garnishに チェックを入れると、軸の説明が図に表示される。また、 Drawing methodはここではBarsを選択。

    • [OK]を押すとPictureウィンドウのピンクの領域に描画される。

刺激作成

  1. 原音声にノイズをかぶせる

    • まず原音声を測定しておく

      • Objectウィンドウ左下の[Info]ボタンをクリックするとTime domainの項にstart time, end time, total durationが得られる。また、Amplitudeの項にRoot-mean-squareの値が得られる。

    • [New] - [Sound] - [Create Sound from Formula]をメニューから選ぶ。

      • Name: NoiseRMS --- RMSのところには004など数値を入れるとよい

      • Number of channels: 1

      • Start time: -0.5 --- こうすると原音声開始の0.5秒前からノイズが始まる

      • End time: 原音声のEnd time + 0.5

      • Sampling frequency: 44100

      • Formula: randomGauss(0,RMS) --- RMSの値を原音声のRoot-mean-squareと同じにすれば、ノイズ:音声 = 1:1の比が得られる。0.5:1, 1:1, 2:1などを目的に応じて試してみるべし。

    • できあがったノイズのオブジェクトと原音声のオブジェクトを両方選択しておいて、[Combine] - [Combine to stereo]を選ぶ。

    • できあがったステレオのオブジェクトについて[Convert] - [Convert to mono]を選ぶ。

印刷用準備

  1. SoundEditorウィンドウにおいて [Spectrum]-[Extract visible spectrogram]メニューを選択。

  2. ObjectsウィンドウからSpectrogram untitledを選択して [Paint...]を選ぶと、以下の設定ダイアローグが出る。音声ファイ ル全体のスペクトログラムを得たい場合はTime range欄の値はその ままでよい。[Garnish]のチェックをはずすと枠線などが描かれない。

  3. [OK]をクリックすると、Pictureウィンドウにスペクトログラム が張り付けられる。

  4. Pictureウィンドウの中で、マウスによってピンクの領域を先ほ どよりも下方に広めに選択しておいてから,Objectsウィンドウの TextGridを選んで[Draw]ボタンをクリックすると、ラベルや境界線 をスペクトログラムの上に重ね書き することができる。つまり、ピンクの領域が指定するところに選ん だObject(波形、ピッチ、インテンシティなど)を好きなだけ重ね書 きできる。その場合最後に重ね書きするものだけに[Garnish]のチェックを入 れるとよい。

  5. PictureウィンドウのMargins, World, Penなどのメニューを用 いて、図の回りや中にさまざまな要素を書き込むことができる。

  6. Pictureウィンドウのメニューにおいて[File]-[Copy to clipboard]メニューを選択す ると,別なソフトウェアの中で「貼り付け」を用いて取り込むこと ができる。

画面取り込み

  1. 「印刷用準備」のセクションで述べたことの代わりに、OSや GIMPなどのグラフィックソフトの画面取り込み(キャプチャとも言う)機能 を用いて、Praatの画面をそのまま取り込むことも可能。

  2. Windowsならば、PrtScr(プリントスクリーン)キーを押すことで、 画面全体のキャプチャが可能。キーを押しただけでは何も起こって ないように見えるが、ペイント系のソフトを立ち上げて、「貼り付 け」を行うと表れる。

Sine wave speech

  1. Sussex大学のChris Darwin氏のサイト あるいはCambridge大学のMatt Davis氏のサイト(こちらの方がより詳しい)から、SWSというPraat scriptをダウンロードする。2012-11-21時点でのローカルのコピーはSWS.praatという名前でここ

  2. スクリプトを[Praat]-[Open script]メニューで読み込み、別途用意した原音声を選択してからRunする。

  3. 最初に、原音声の性別を選択。あとはデフォルトのままで[OK]

以下は、昔書いたものです。Praat5の方でいずれ書き直します。

LPCによるフォルマント再合成

  1. 元音声を用意し、それを選択した状態で[Convert]-[Resample] によって11,000Hzにする。 サンプルファイル

  2. リサンプルした音声を選択した状態で、[Formants & LPC - ]-[To LPC(burg)...]によってLPCオブジェクトを得る。 サンプルファイル

  3. リサンプルした音声とLPCオブジェクトを両方選択した状態で、 [Filter(inverse)]によって、sourceオブジェクトを得る。 サンプルファイル

  4. LPCオブジェクトを選択した状態で、[To Formant]によって Formantオブジェクトを得る。 サンプルファイル

  5. Formantオブジェクトを選択した状態で[Down to FormantTier] によって、FormantTierオブジェクトを得る。

  6. FormantTierオブジェクトを選択した状態で[Write]-[Write to text file...]によって、編集可能なフォルマントデータを得る。 サンプルファイル

  7. praat外部の適当なエディタによって、フォルマントを任意の値 に編集する(例では、 ここ を参考に、[i]の値をF1, F2, F3に与えている)。 サンプルファイル

    • より最近のバージョンではFormantGridにおいて、マウスでフォルマントのピークを動かすこともできる

  8. [Read]-[Read from file...]によって先ほど編集したデータを 読み込む。

  9. 手順3で作ったsourceオブジェクトと、手順8で読み込んだ編集 済データの両方を選択した状態で[Filter]によって、再合成音声を 得る。 サンプルファイル

PSOLA再合成(時間長とピッチ)

  1. 適当な元音声を用意する(サ ンプル音声ファイル, 波形と スペクトログラフ)

  2. praatに読み込んで、メニューから[To Manipulation...]

  3. ピッチレンジは元音声に合わせて適切にセットする(サンプルでは 55-250Hz)

  4. Manipulationオブジェクトを[Edit]すると このようなウィンドウが開く。

  5. [Dur]メニューから[Add Duration point at cursor]によって ポイントを置き、それを上下に動かして伸ばす/縮める。ピッチは [Pitch]メニューの[Stylize pitch...]によってポイントを減らして から操作するとやりやすい。

  6. 再合成の結果(サ ンプル音声ファイル, 波形と スペクトログラフ)

intensity調整

  1. 適当な元音声を用意する。

  2. [To Intensity...]をクリックしてIntensityオブジェクトを得る

  3. そのオブジェクトを選択した状態で[To IntensityTier (peaks)] を選択して、編集可能なTierオブジェクトを得る。

  4. 元音声を[Copy...]してから、Tierオブジェクトと元音声の両方 を選択して、[Edit]で編集する。

  5. 編集が終わったら[Multiply...]をクリックして、intensityの調整 された音声オブジェクトを得る。

調音的合成

  1. Praat objectsのメニューから[New]-[Articulatory synthesis]-[Create Speaker]を選ぶ.適当な名前を付け,性別/大 人-子供を選んでから[OK}

  2. Praat objectsのメニューから[New]-[Articulatory synthesis]-[Create Artword]を選ぶ.適当な名前を付けて[OK]. 一応のサンプルはここからダウ ンロードできる.

  3. ダウンロードしたファイルを[Read]で読み込む,あるいは自分で 作ってから,それを選択し[Edit]ボタンを押す.

  4. 医学用語がずらずらと並んでいるが,Sternohyoidまでがおおむね 「喉」,VerticalTongueまでが「舌」,残りが「頬」や「唇」の筋 肉や軟骨の名前です.最初はあてずっぽうでよいから(興味がわいた らきちんと調べて),適当に選んで,「枠」の中を1回クリックして [Add Target]ボタンを押すごとに,その器官の動きが設定されます.

  5. ArtwordとSpeakerのオブジェクトを両方セレクトして[To Sound]を 押し,[OK]を何回か押すと,音声ができます.

リンク