3.04. スクリプト(2)応用例:無音区間の挿入

このページで使うサンプルファイルは以下の通りです。右上に表示されるアイコンをクリックするとGoogle Driveを開くことができます。

応用例として,別ページの「無音区間の挿入」をスクリプトで実行できるようにしてみましょう。ここでの作業のうちの,「型」の音声を切り分けて[ka](A)と [t]の破裂以降(C)が手作業で切り出せたところから始めます。オブジェクト名はそれぞれ “A”, “C” としておきます。

また,新しいスクリプトを書くための準備として,Objectウィンドウの上メニューからPraat > New Praat scriptを実行し,スクリプトのウィンドウが立ち上がったらClear historyを実行しておきましょう。

(1)無音の作成

ここで行いたいことは,様々な長さの無音区間を作ることです。まず,「無音区間の挿入」のページの方法にしたがって,手動で100 ms の無音を作りましょう。

New > Sound > Create Sound from formula...

ここでName: silence,End time: 0.1,formula: 0とします。

次に,Praatウィンドウ上でEdit > Paste historyを実行します。すると,Praatウィンドウ上に以下のようにペーストされるはずです。

Create Sound from formula: "silence", 1, 0, 0.1, 44100, "0"

さて,このスクリプトを次のように加工してみましょう。

for i from 0 to 20

duration = 0.1 + i * 0.01

Create Sound from formula: "silence", 1, 0, duration, 44100, "0"

endfor

1行目・2行目・4行目が加わるとともに,3行目において 0.1 をdurationという変数に変えたところに注目してください。ここでは,durationという変数の値がforループの中で0.1, 0.11, 0.12... というようにだんだん大きくなるようにしてあります。

上のスクリプトを実行すると,長さのことなる21個の無音ができるはずです。

(2)オブジェクトの選択

オブジェクトを選択するときは,次のようにスクリプトを書きます。この例は,Aという名前のSoundオブジェクトを選択することを意味しています。

select Sound A

複数のオブジェクトを選択する場合は,二つ目以降のオブジェクトについてplusを使います。

select Sound A

plus Sound C

また,個々のオブジェクトは固有のIDを持っています。例えば,先ほど作ったいくつかのsilenceから一つを選び,オブジェクトウィンドウ下段メニューのInfoというボタンを押すと,Object IDを知ることができます。以下の例では50となっています。

この情報を利用すれば,以下のようにオブジェクトを指定することもできます。

select 50

次に,以下の例をみてみましょう。

b = Create Sound from formula: "silence", 1, 0, 0.1, 44100, "0"

select b

先ほどのsilenceをつくるコマンドの前に, “b =” をつけました。このようにすることで,Soundオブジェクトを新しく作るとともに,そのオブジェクトIDをbという変数に代入することができます。もしIDが50であれば,bには50が代入されるというわけです。その次のselect bでは,上の例でいえば,50というIDを持つオブジェクトを選択することになります。

(3)発展させたスクリプト

以上を応用すれば,先ほどの無音作成スクリプトをさらに発展させ、刺激をまとめて作ることができます。

for i from 0 to 20

select Sound A

a = Copy... A_copy

duration = 0.1 + i * 0.01

b = Create Sound from formula: "silence", 1, 0, duration, 44100, "0"

select Sound C

c = Copy... C_copy

select a

plus b

plus c

Concatenate

Rename... stimulus'i'

endfor