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

はじめに

前のページでは,Praatスクリプトとはどういうものかを見ました。このページでは,スクリプトに関してもう少し詳しく見ていきます。

スクリプトの中身をみてみる

先ほどのページの例1,tone100.praatの中身をもう少し詳しくみていきましょう。

このスクリプトには次のように書かれています。

sine100.praat

Create Sound from formula: "tone100", 1, 0, 1, 44100, "1/2 * sin(2*pi*100*x)"
Play
View & Edit

このスクリプトは,三つのコマンドから成っています。1行目は式によりSoundオブジェクトを作成するコマンド,2行目は音を再生するコマンド,3行目はSoundEditorを開くコマンドです。このスクリプトをRunすると,1行目から順に実行されていきます。

スクリプトを作成するための一つの方法は,一つ一つのコマンドを手で入力していくというものです。そのためには,様々なコマンドを知る必要があります。PraatのHelpを利用することで,コマンドを調べることができます。

historyを使ってスクリプトを書く

コマンドを手で一つ一つ入力するというのは,けっこうたいへんなことです。実は,スクリプトを作成するのには,もう一つの方法があります。それは,history(履歴)を利用するというものです。たとえば,Praatを立ち上げて何か作業をしていたとしましょう。Praatは,起動してから行われた作業(history/履歴)を全て記憶しています。Paste historyという機能を利用することで,このhistoryをScriptEditor上に貼りつけることができます。

まず,オブジェクトウィンドウ上で Praat > New Praat script によりScriptEditorを立ち上げましょう。

次に,ScriptEditorの上部メニューからEdit -> Paste historyを選んでみましょう。

これを実行するとhistoryが貼りつけられるはずです。もし何も起きなかったら,historyが無いということです。Praatを起動したあと何もしていなかった場合,historyはありません。まず何か(なんでもいいので)作業をしてみた後,Paste historyを行ってみましょう。

今度は,Edit -> Clear historyを行ってみましょう。これを行うと,historyは消去されます。

改めてPaste historyを行っても,新たに貼りつけられるものは何もありません。historyが空になったからです。

Clear historyとPaste historyを用いることで,効率的にスクリプトを作成することができます。何かスクリプトにしたい作業があったら,まずClear historyでhistoryをいったん空にした後,スクリプトにしたい作業を実際に行ってみます。その後でPaste historyを行うことで,たった今実行した作業だけがScriptEditor上に貼りつけられるわけです。

この手順を実際にやってみましょう。

  1. ScriptEditor上で,Clear historyを行います。
  2. オブジェクトウィンドウ上で,100Hzの純音を作ります。(New > Sound > Creat sound from formula… ここで数式を書く欄に 1/2 * sin(2*pi*100*x) と入力します。また,Nameをtone100とします。)
  3. これによって作られたSoundオブジェクトに対して,右側のコマンドから Play を押します。
  4. 同じく右側のコマンドから,View & Edit を押します。
  5. ScriptEditor上で,Paste historyを行います。

これにより,サンプルのスクリプトと同じスクリプトが出来上がるはずです。

このように,単純なスクリプトであればhistoryを利用するだけで作成することができます。もちろん,実際には,Paste historyだけでは済まないことも多いです。たとえば,前のページの例2のスクリプトは,Paste historyだけは完成できません。ただ,そのような場合でも,基本的な部分をPaste historyで作った上で,それを手で修正していくことにより,効率的にスクリプトを作ることができます。

スクリプトの保存

作ったスクリプトは保存しましょう。保存するには,スクリプトウィンドウの上部メニューから File > Save または Save as… を選択してください。Saveは上書き保存で,Save as… は名前を付けて保存に相当します。

なお,Praatスクリプトの拡張子は,一般的には .praat を用います。

終わりに

このページでは,historyを使ったスクリプトの書き方を説明しました。ただし,上にも述べたように,historyだけで書いたスクリプトではできることは限られています。変数や条件分岐,ループなどを用いると,さらに利用範囲の広いスクリプトになります。次のページ以降では,スクリプトの書き方をさらに詳しく見ていきます。