Praatスクリプト入門(1):はじめに

概要
Praatスクリプトの入門講座その1。この入門講座全体の目的について説明。また、Praatがどういうソフトウェアなのかについても紹介。

この入門講座の目的

この入門講座は、具体的なスクリプトの作成を通じ、Praatのスクリプトの文法の基礎を身につけることを目的としている。プログラミングの知識を事前に持っている必要はない。プログラミングに関して説明すべきことが出てきたら、この入門講座の中で適宜説明する。この入門講座で扱うPraatのスクリプトには以下のような要素が含まれている。これらの要素は、他のプログラミング言語と共通する点が多いので、今後他のプログラミング言語を学ぶ際にも役立つだろう。

本入門講座の目次は「Praatスクリプト入門:目次」というページをご覧いただきたい。

この入門講座では、周波数の高い音が聞き取れるかどうかの実験を行うスクリプトを作成する。このスクリプトの作成を通じ、Praatのスクリプトの文法の基礎を学ぶことができる。このプログラムは、一気に作るわけではない。いくつかの部分に分けて、順を追って作っていく。慌てずに、着実に一歩ずつ進めていこう。

音の高さ、周波数、年齢

この入門講座では、人間がどれだけ高い音を聞くことができるかについて実験する。というわけで、音の高さとはどういうものなのかについて簡単に見ていきたいと思う。

音には高さがある。耳が聞こえる人ならば、音の高さに関してある程度判断がつくはずだ。例えば、小さな子どもが出す声ならば高い音、大人の男の声ならば低い音という傾向がある。楽器で言えば、フルートが出す音は高いし、コントラバスが出す音はかなり低いと言えるだろう。

さて、私たちが音の高低を判断する際の基準は何なのだろうか。人間の聴覚理解はかなり複雑なので、1つの基準で音の高低が決まるわけではない。だが、音の周波数というものが、高低の判断に大きな影響を与えている。極めて単純に言うと、周波数が高い音ほど人間には高く聞こえ、周波数が低い音ほど人間には低く聞こえる。

以下の波は同じような形を繰り返している。ある状態から始まり、同じ状態に戻るまでの間を1つの周期として捉える。
以下の波は同じような形を繰り返している。ある状態から始まり、同じ状態に戻るまでの間を1つの周期として捉える。この図の左端から右端までで、7周期を経ている。

それでは周波数とは何だろうか。物理的に言えば、音は波である。この波には周期というものがある。この周期がある一定の時間内に何回現れるかを示したものが周波数である。音について記述する際は、1秒あたりの周波数を見ることが多い。つまり、1秒の間に何回の周期があるかということを見るわけである。1秒間に着目したときの周波数の単位としてヘルツ (Hz) という単位がある。ある音の周期の長さが100分の1秒だったとする。このとき、1秒間に100回の周期があることになる。よって、この音は 100 Hz の音になる。

周波数が高いほど、音は高く聞こえる。10000 Hz の音(10000Hzの正弦波の音のファイル)はかなり高く聞こえるだろう。逆に 100 Hz 程度の音(100Hzの正弦波の音のファイル)ならばかなり低く聞こえるはずである。

さて、人間はどれだけ高い音を聞くことができるのだろうか。これは人によって違うのであるが、およそ 20000 Hz ぐらいの音を聞くことができる [1] 。それより高い音、例えば 50000 Hz ぐらいの音になると人間には聞き取ることができない。

今、20000 Hz ぐらいの音を聞くことができると書いたが、実はこれは若い人に限った話である。人間は年をとればとるほど、高い音が聞こえにくくなると言われている [2] 。年をとると、13000 Hz 程度の高さの音ですら聞き取ることが困難になる。

先にも述べたが、この入門講座では、高い音が聞こえるかどうかを調べるためのスクリプトを扱う。スクリプトが完成したらいろいろな年齢の人に聞かせてみて、どれぐらいの周波数の音が聞こえるかを試してみると良いだろう。そうすれば、どれだけ高い音を聞くことができるかと年齢との関係を見ることができるはずだ。

PraatとPraatスクリプト

Praat音声について様々な処理ができるソフトウェアである。Praatは、「プラート」と発音する。これは、元々オランダ語の単語で、「話」を意味する。

Praatを使えば、音声を録音したり、合成したりするだけでなく、音声がどういう性質を持っているのかを分析することもできる。また、音声を提示する実験を実施したり、簡単な統計分析を実行したりすることもできる。このため、Praatは人間がどのように音を産出し、どのように音を知覚するかを研究する [3] 際に、必要不可欠なソフトウェアとなっている。

Praatは、オランダのアムステルダム大学で開発されたソフトウェアである。Windows, Macintosh, LinuxなどさまざまなOSで使用可能である。このソフトは、Praatの公式ウェブサイトからダウンロードできる。Praatは無料で配布されている。

上記のウェブサイトから、自分のOSに合ったPraatを選んで、ダウンロードし、自分のPCで使えるようにしてほしい。自分のPCで使えるようにする方法については、この入門講座では特に説明しない。英語が分かるなら、Praatの公式ウェブサイトに書いてある記述を参考にすれば簡単に使えるように設定できるはずだ。日本語でのインストールの説明としては、Windowsに関しては、宇都木昭研究室のウェブサイトに、「Praatのインストールと基本操作」というページに記載がある。ちなみに、Praatのメニューはすべて英語で書かれている。とは言え、英語がそれほど分からなくても、何とかなる。

Praatは基本的にメニューやボタンをマウスでクリックすることで分析を行うソフトである。マウスを使った操作は分かりやすいと言えば分かりやすいのだが、大量のデータを処理したり、同じことを繰り返したりするような作業には向いていない。1個の音声ファイルを処理するのに5回ボタンを押す必要があるとしたら、100個の音声ファイルを処理するのに500回もボタンを押す必要が出てくる。これでは面倒である。また、途中でボタンを押し間違えるかもしれない。

このような面倒を防ぐために、Praatにはスクリプト [4] というものが用意されている。スクリプトを書いて実行すると、面倒な操作が一気に処理できる。

なお、マウスなどを使ってアイコンやボタンを押して操作する方式をグラフィカルユーザインターフェース (Graphical User Interface) と言う。略してGUIと呼ぶこともある。これと対照的なのが、キャラクタユーザインターフェース (Character User Interface, CUI) である。CUIでは、キーボードを使って、文字を打ち込むことで様々な処理を行う。Praatは基本的にGUIで処理するソフトであるが、これをCUIで使えるようにしたものがスクリプト機能となる。

Praatのスクリプトを書くにはプログラミングの知識が必要となる。もっとも、この入門講座ではプログラミングの経験がない人にも分かるように書いているので、安心してほしい。プログラミングに関して必要な知識は、この入門講座の中で適宜紹介する。なお、スクリプトもプログラムの一種である。プログラムの中でも簡易的なものがスクリプトと呼ばれると考えてほしい。

Praatのスクリプトを作るには以下のようにする。まず、Praatを立ち上げる。すると、ウィンドウがいくつか出てくるので、その中から、Praat Objectsというウィンドウを選ぼう。このPraat Objectsというウィンドウの上部にあるメニューから、Praatと書かれているところを選んでクリック。そうすると、詳しいメニューが出てくる。その中からNew Praat scriptを選んでクリック。これで、新しいウィンドウが出てくる。これが、Praatのスクリプトエディタのウィンドウである。このウィンドウにスクリプトの文章を書くことになる。

スクリプトの内容を保存するには、スクリプトエディタのウィンドウのメニューから、Fileを選んでクリックし、さらにSave [5] を選んでクリックする。

保存したスクリプトを開くには、Praat Objectsウィンドウのメニューから、Praatと書かれているところを選んでクリックし、Open Praat script…を選んでクリックする。スクリプトエディタから開くことも可能である。スクリプトエディタのウィンドウのメニューでFileを選んでクリックし、さらにOpen…を選んでクリックすればよい。

スクリプトを入力するときに注意すべきこと

この入門講座では、スクリプトを以下のような枠に入れて表示する。

line one
line two
line three

枠の左側についている数字は行番号を示す。この入門講座で「何行目を見よ」と書いてあるときは、見た目上の行数ではなく、枠の左側についている行番号の数字に従ってほしい。なお、各行の終わりでは必ず改行するようにしよう。

スクリプトで大文字と小文字は違うものとして扱われる。自分で入力するときに、この入門講座でPraatと書いているものをpraatとしてしまったり、PRAATとしてしまったりするとうまく動かなくなってしまう。また、スクリプトを入力するときは、いわゆる半角文字で入力するようにしよう。全角文字で入力するとうまく動かなくなってしまう。

本入門講座の続きは「Praatスクリプト入門(2):音を合成してみる」というページをご覧いただきたい。

脚注
  1. 人間が聞き取れる音の範囲のことを可聴域と言う。 []
  2. 逆に言うと、高い音は若者にしか聞こえないということになる。なお、若者にしか聞こえない高い音のことをモスキート音と呼ぶことがある。モスキート音を利用して若者を追い払うという仕組みもある。 []
  3. 人間が発する言語の音の研究のことを音声学 (phonetics) と言う。Praatは音声学の研究で広く使われているソフトウェアである。 []
  4. スクリプト(script)という英語はもともと「台本」という意味である。劇の台本には、どういう動きをするのか、どういうセリフを言うのか、ということが書かれており、俳優はその指示に従って動くことになる。この俳優と台本の関係は、コンピュータとスクリプトの関係に類似している。スクリプトに命令を書くことで、コンピュータにその命令を実行させるのである。 []
  5. Saveはいわゆる「上書き保存」になる。いわゆる「名前をつけて保存」にしたければ、Saveの代わりにSave as…を選ぼう。 []