Counter: 633,
today: 1,
yesterday: 0
This page is ...
always under construction.
currently written in (pseudo-)Japanese (A translation into English is progressing at a snail's pace).
目次へ
Praat Launcher [Excel AddIn]
Praat Launcher is a Microsoft Excel Addin that launches Praat from Excel worksheets.
Download †
はじめに †
概略 †
もうちょっと詳しく: Excelシート上でアクティブになっている行のA列(ファイルベースネーム),B列(時刻),C列(時刻;任意)の値(と,他で定義した起動パラメータ値)を読み込んで,該当するファイル(TextGrid,音声)を Praatで開き,さらに該当箇所を表示します.
使用例(動画):
注: この動画では,1回目はアドインのメニューから,2回目は(右)クリックメニューから,3回目以降はショートカットキー(C-S-v)を使ってPraatを起動しています.Praatはその都度終了させていますが,その際にはPraatのショートカットキー(C-q)を使っています.
モットー: Praatをもっと楽しく!
特長:
細かい情報を気にせずPraatで当該箇所にアクセスできる
あらかじめ(このlauncherとは別に)ファイル名や時刻情報が含まれたデータを作っておきさえすれば,あとはlauncher任せ → アノテーション作業等に集中できる → アノテーションの質が向上することが期待される*1 .
Excel VBAで実装したので…
Excelさえあれば動く(Excelは大抵のマシンにインストールされていると想定しうるのであれば,このアドインも大抵のマシンで使える,ということになる)*2 .
並べ替え(ソート),フィルタなどの,Excel本体の機能が使える.
関連する複数のシートをまとめて(一つのBookとして)保存できる.
作者が学問的に尊敬する複数のphoneticians/phonologistsにこのアドイン(古いバージョン)を使っていただいたところ,そこそこ好評を博したようなので ,需要はそれなりにあると考え,必要な修正を加えた上でここに置いておきます*3 .
目次へ
ユーザーの声 †
〔個人の感想です〕
これで仕事の仕方が変わる (埼玉県・男性)
とにかく使え! (広島県・男性)
作業時間が劇的に減ります! (千葉県・女性)
目次へ
動作環境 †
ソフト名 : Praat Launcher
ファイル名: praat_launcher.*.xla (Excelアドイン;*はバージョンを表す数値)
OS & Excel: 以下の環境で動作確認を行ないました*4
Windows XP & Excel 2003, 2007
Windows Vista & Excel 2007
Windows 7 & Excel 2007
Macintosh OS X & Excel 2004 for mac (Version 1.x.x.からExcel 2004 for macでも動くようにしました)
作者: nisi
目次へ
以下の記述について †
このアドインは,Windows XP & Excel 2003で作成しました.以下の記述もほぼその環境に基づいています.他の環境では(細かい|重要な)点で相違するかもしれません.
環境に関わらず,以下の記述と現状が相違する場合,現状を優先します(要するに,以下の記述は不正確かもしれない,ということです).
このページは,予告なしに変更することがあります.
目次へ
目次 †
セットアップ・削除・アップデート †
セットアップ・動作確認 †
このアドインを使用するための準備を行います.大きく次の二つの作業があります.
Excelへのアドインの登録
(send)praatの設定・動作確認
アドインの登録 †
以下の手順で,ダウンロードしたアドインを使えるようにします*5
(アドインのダウンロードは現在のページの先頭 から行なってください).
praat_launcher.*.xla をAddInsフォルダ(デフォルトのアドイン格納フォルダ),または自分で決めた場所(自分が忘れないところ)に置く.
AddInsフォルダに置けば,以下の手順3.をスキップできます(多分).
AddInsフォルダは,(環境によって異なるようですが)作者の環境では以下の場所にあります:
Windows XP C:\Documents and Settings\(ユーザー名)\Application Data\Microsoft\AddIns
Windows 7 C:\ユーザー\(ユーザー名)\AppData\Roaming\Microsoft\AddIns
(Addinsフォルダを含む)"Application Data"フォルダ,"AppData"フォルダはデフォルトでは隠しフォルダとして扱われ,通常は見ることができないようです.(以下,Windowsの場合)エクスプローラーの「ツール」→「フォルダオプション」→「表示」タブ→「詳細設定」の「ファイルとフォルダの表示」で「全てのファイルとフォルダを表示する」をチェックして,見えるようにしてください.また,検索する際は,「詳細設定オプション」の「隠しファイルとフォルダの検索」にチェックを入れてから行なってください.
Excelを起動し,以下の手順でアドインリストを表示する.
アドインリスト
【Excel 2003, 2004 for mac】
Excelメニューの「ツール」→「アドイン」を選択.
【Excel 2007】
「Office ボタン」(Excel画面左上の丸いボタン)をクリック→
下にある「Excelのオプション」をクリック→
左側にある「アドイン」をクリック→
下にある「管理」が「Excelアドイン」となっていることを確認し,「設定」をクリック
アドインリストに"praat_launcher.*"がなければ,「参照」ボタン(Excel 2004 for macの場合「選択」ボタン)を押し,ダウンロードしたファイルを置いた場所まで行き,"praat_launcher.*.xla"を選択.
"praat_launcher.*"にチェックを入れ,OKを押す.
以上の「仕込み」をすると,Excelに次のようなメニューが表示されるはずです(Excel 2007の場合,Excelの「アドイン」タブ(メニュー)を選択してください).
アドインメニューが表示されたら,
動作確認の一環として,このメニューの「Help」→「VersionInfo」を選択し,このアドインのバージョンを表示させてみましょう.次のようなボックスが出れば成功です.
ここで,以下の点にご注意ください.
注1:次回以降Excel を起動する際,アドインファイル(*.xla)をダブルクリックしないでください.アドインが二重起動してしまい,エラーとなります.
注2: 類似のアドインファイル(古いバージョンのlauncherと新しいバージョンのlauncherなど)を共存させないでください.エラーとなります(→「アドインのアップデート 」,「アドインの削除 」)*6 .
(send)praatの設定・動作確認 †
このアドインの他に,以下の実行ファイルもご用意ください:
Praatは当然として,sendpraatも必要となります (とは言え,sendpraatについての知識 は不要です).これらがなければ,ダウンロード&解凍の上,適当な場所に置いてください.
ここで,Praatおよびsendpraatの動作確認(および設定)を行ないます.手順は次の通りです:
Praat が起動中であれば,終了させる.
コマンドプロンプト(Windows),またはターミナル(Macintosh)を開く.
Windows: 「スタートメニュー」→「(すべての)プログラム」→「アクセサリ」→「コマンド プロンプト」
Macintosh: 「Macintosh HD」→「アプリケーション」→「ユーティリティ」→「ターミナル」
【Macintosh限定(Windowsユーザーはここを飛ばして次へ)】 sendpraat (sendpraat_ppc or sendpraat_intel)に実行属性を与えるため,ターミナルで以下のコマンドを実行(sendpraat のパスは環境に応じて適宜読み替えてください).
【praat の動作確認】コマンドプロンプト/ターミナルで以下のコマンドを実行(praatのパスは環境に応じて適宜読み替えてください).Praat が起動すれば成功です.
【sendpraat の動作確認】Praat を立ち上げたままコマンドプロンプト/ターミナルに戻り,以下のコマンドを実行(sendpraat のパスは環境に応じて適宜読み替えてください).Praat のInfoウインドウに"Hello, World!"と表示されれば成功です.
Windowsでの例:
c:\praat\sendpraat.exe praat "echo Hello, World!"
Macintoshでの例(注:single quotationを使ってください ):
/Applications/sendpraat_ppc praat 'echo Hello, World!'
以上で動作確認は終了です.
手順4-5でpraat, sendpraatがうまく動かなければ,このアドインもうまく動きません.
意図する挙動を示さない場合,コマンドプロンプト/ターミナル上のメッセージ等を参照しながら,成功するまで試行錯誤を繰り返してください.
目次へ
アドインのアップデート †
〔初めて読む方は,この節を飛ばしてください〕
アドインをアップデートする際には,一旦古いアドインファイルを削除 してから,改めて新しいアドインファイルをセットアップ してください.
アドインの削除 †
〔初めて読む方は,この節を飛ばしてください〕
このアドインを使わなくなったら,以下の手順で削除してください.
以下の手順でアドインリストを表示する.
【Excel 2003, 2004 for mac】
Excelメニューの「ツール」→「アドイン」を選択.
【Excel 2007】
「Office ボタン」(Excel画面左上の丸いボタン)をクリック→
下にある「Excelのオプション」をクリック→
左側にある「アドイン」をクリック→
下にある「管理」が「Excelアドイン」となっていることを確認し,「設定」をクリック
"praat_launcher.*"のチェックをはずす.
Excelを終了する.
セットアップ時に置いた実体ファイル(praat_launcher.*.xla)を手動で削除.
再度Excelを立ち上げる.ここで「(先ほど削除したアドイン)が見つかりません」と出るかもしれないが,OKを押す.
再度1.の手順に従いアドインリストを表示.
アドインリストに"praat_launcher.*"があれば,それにチェックを入れる.「リスト内から削除しますか」と聞かれるので,「はい」を押す.
目次へ
とりあえず使ってみる †
このアドインの機能を知るには,実際に使ってみるのが一番だと思われます.そこで,まずはサンプルファイルを使って遊んでみましょう.
サンプルファイル †
次のファイルをダウンロードしてください.
サンプルは,日本語読み上げ音声(女声)が一文ずつ収録された音声ファイル(*.wav)と,対応するTextGridファイルから構成されます.
sample20101230
┃
┗sample
┃
┣ wav
┃ ┣ sample1.wav
┃ ┣ sample2.wav
┃ ┣ sample3.wav
┃ ┣ sample4.wav
┃ ┣ sample5.wav
┃ ┣ sample6.wav
┃ ┣ sample7.wav
┃ ┗ sample8.wav
┃
┗ TextGrid
┣ sample1.TextGrid
┣ sample2.TextGrid
┣ sample3.TextGrid
┣ sample4.TextGrid
┣ sample5.TextGrid
┣ sample6.TextGrid
┣ sample7.TextGrid
┗ sample8.TextGrid
さらにいくつかダウンロードしていただくファイルがあるのですが,それらについてはその都度説明いたします.
目次へ
実際に動かしてみる †
では,さっそくサンプルファイルを使ってPraat Launcherを動かしてみましょう.Praatが起動中でも問題ないのですが,ここではせっかくなので(ありがたみが感じられるように),Praatは閉じておきます.
sample_luw.txt をダウンロードしてExcelに読み込みます.
このファイルは,sample*.TextGridファイルのLUW層の情報(長い単位の語*8 )をKWIC形式で表現した,タブ区切りのテキストファイルです.内容は次の通りです(「XXX」で示したフィールドは,当座の目的に関連しないので,説明は省略します).
A列:ファイルベースネーム
B列:当該KWICキーの開始時刻
C列:当該KWICキーの終了時刻
D列:XXX
E列:XXX
F列:当該層におけるインデックス番号(ラベル先頭からの連番)
G列:前文脈
H列:KWICキー(この場合,長い単位の語)
I列:後文脈
J列:XXX
K列:KWICキー逆
L列:前文脈逆
G列(前文脈)→H列(KWICキー)→I列(後文脈)と横に目をずらしていけば人間が「読める」形式になっています.
H列 (KWICキー)→ I列(後文脈)→ L列(前文脈逆)でソート(並べ替え)されています.
Praat Launcherの機能とは直接関連しませんが(その意味では必須の作業ではありませんが),人間が見やすいように,読み込んだシートに次のような加工を施します.
G列(前文脈)を右揃え,H列(KWICキー)を中央揃えにし,G-I列の幅を適宜調節します(G列(前文脈)とI列(後文脈)については,全体を表示させる必要はありません).
K列(KWICキー逆),L列(前文脈逆)はソート用であって,人間が参照する必要はないので,参照しないJ列とまとめてそれらを右揃えし,さらに人間が読めないくらい幅を狭くしておきます.
他の列も適宜幅を調整します.
アドインメニューの「Setting」→「SettingSheet」を選択します.すると,"PraatSetting"という名前のシートが新たに作成されます(このシートを以下「設定シート 」と呼ぶことにします).
同シート1-4行目のD列を,ご自身の環境に合わせて書き換えてください.以下に例を示します.
C列 D列 Location of praat C:\praat\praat.exe Location of sendpraat C:\praat\sendpraat.exe Folder containing the TextGrid Files C:\speech\sample\TextGrid Folder containing the Sound Files C:\speech\sample\wav
Windowsでの例
C列 D列 Location of praat /Applications/Praat.app/Contents/MacOS/Praat Location of sendpraat /Applications/sendpraat_ppc Folder containing the TextGrid Files ~/Desktop/speech/sample/TextGrid Folder containing the Sound Files ~/Desktop/speech/sample/wav
Macintoshでの例
1-2行目には,先に行なったPraatおよびsendpraatの動作確認 で,その挙動が確かめられたものを記述します(Macintoshユーザーの方へ:ここでは"&"は不要です).
sample_luwのシートに戻り,好きな箇所にセルポインタ(カーソル?)をあわせます.
アドインメニューの「Praat」→「TextGrid+Sound」を選択します(または,(右)クリックメニューの「Praat:TextGrid+Sound」を選択するか,コントロールキー(Ctrl)とシフトキー(Shift)を押しながらvキーを押します).すると,Praatが起動し,TextGridEditorに当該箇所が表示されます.
ここで動作確認として次の点を確認しておきましょう.
Excelシート上で,今実行した行の文字が青くなっていること
青くなった行のA列をベースネームとするファイル(TextGrid, 音声)がTextGridEditorで開かれ,さらに,B列の値からC列の値までがTextGridEditor上で範囲選択(select)されていること
この操作をしてもPraatが起動しない場合,何らかのエラーメッセージが出るはずです.それを参考にして対応してください(先ほど設定シートで設定した値を修正する,など).
Praatで音声・付加情報等を確認,必要あらば---サンプルファイルなので,ここでは不要ですが---TextGridを修正・保存の上,Praatを終了します(C-qの後でエンターキー).
以上が一連の流れです.5.に戻って他の行についても試してみてください.
また,次のこともお試しください.
Praat Launcherの機能とは直接関連しませんが,Excelの「データ」→「並べ替え」機能を使って,ソートキーを変えてシートの情報をソートしなおすこともお試しください(例えば「L列(前文脈逆)→ I列(後文脈)→ H列(KWICキー)」など).
ここで使ったデータをExcelファイルとして保存しておけば,次回はそのファイルをそのまま使って5.の作業から再開することができます.このデータはどこに保存してもかまいません.
別のファイルでも試してみましょう.→ sample_bi.txt
このファイルは,sample*.TextGridファイルのBI層の情報(Break Indices)をKWIC形式(?)で表現した,タブ区切りのテキストファイルです.内容は上のサンプルファイル(sample_luw.txt)とほぼ同様ですが,そもそもBI層はpoint tierなので,時刻情報が一つしか存在しません.そのため,C列は空になっています.
前文脈,後文脈はLUW層(長い単位の語)の情報を使っています(point tierの情報で文脈を作っても,大抵の場合意味がないので).
H列(KWICキー?)を飛ばして(無視して),G列(前文脈)→I列(後文脈)と横に目をずらしていけば人間が「読める」形式になっています.
L列(前文脈逆)→ I列(後文脈)→ H列(KWICキー?)でソート(並べ替え)されています.
このように,細かい違いはありますが,上と同じ手順を踏めばPraatを起動できます.
ここで次の点をご確認ください:
時刻情報がB列の値一つしか存在しない場合(より正確には,C列の値が終了時刻として解釈できない場合),Praat画面では,その時刻(B列の値)を含む区間が選択されること
要するにPraat Launcherはどんな仕事をするのか †
まとめると,Praat Launcherはこんな仕事をします.
カレントシートのカレント行のA列,B列,C列(任意)の値と,
設定シートのD列の値を読み込み,
これらの値を元にPraatを起動する.
したがって,人間は次のことを行なうことになります.
起動用の情報(ファイルベースネーム,時刻)が記されたデータをExcelに読み込む.
設定シートを作成し,必要な箇所を書き換える.
Praat LauncherでPraatを起動する.
サンプルファイルに飽きてきたら,以下の記述にざっと目を通した上で,ご自身のデータ(TextGridファイル,音声ファイル)でも試してみてください.
起動用データの作成方法 †
このアドインの説明を続ける前に一言.以上の記述から明らかな通り,Praat Launcherでは,TextGridファイルと音声ファイルの他に,sample_{luw,bi}.txtのような起動用のデータ(A列がファイルベースネーム,B列(C列)が時刻情報であるようなデータ)が別途必要になります.この種のデータはいろいろなやり方で作成することが可能ですが(最悪,手で入力してもよい),われらがPraatで作成することもできます.上のsample_{luw,bi}.txtもPraatで作成したものです(このとき使ったPraat scriptは,おいおいアップします(未)).
(追記)Akira Utsugi さんが,起動用のデータを作成するPraat Plug-inを作ってくださいました.簡単でとても便利です.ぜひお試しください.
目次へ
【重要】(使用|仕様)上の注意 †
目次へ
複数のTextGridEditorの起動 †
■ Praat Launcherで複数のTextGridEditorを開くことができます(Version 1.0.0から仕様変更
*11 ).
やり方:ExcelからPraatを起動した後,Praatを閉じずにExcelシートに戻り,再度Praatを起動する.
これにより,Editorを並べて波形を見比べてみる,といったことが可能です.
■ ただし「同名のObjectを同時にObject listに載せない」という制約を設けています.
このような制約を設けず,同一のファイルに対し複数のObjectを作ってしまうと,以下のような事態を回避できません.
シナリオ2:Aさんが同一のファイルhoge.TextGridについて,複数の(同名の)Objectを作り,それぞれを画面aと画面bの二つのTextGridEditorで開いた(この時点では,この二つの画面の情報は同じ).Aさんはこの二つの画面で異なる修正を施し,時刻t1にhoge.TextGridを画面a上で保存,その後時刻t2にhoge.TextGridを画面b上で保存した.この場合,画面b上で行なった修正内容だけがhoge.TextGridに反映され,画面a上で行なった修正内容は一切反映されていない,ということになる.〔これは「シナリオ1」の二人の登場人物を同一人物に変更しただけ〕
■ とはいえ,同一のファイルを複数のEditorで開けないわけではありません.開こうとするファイルと同名のTextGrid Objectが既にObject listに存在する場合*12 ,以下のようなメッセージが表示され,
ここで"Continue"を押すと,Object list上のObjectがEditorで開かれます("Stop"を押すと,現在の処理を中止します).
■ 既に存在するObjectの方をEditorで開くことにより,たとえ同一のデータを複数のEditorで開いたとしても,データの整合性が保たれます.
(画像未)一つのEditor上の情報を修正すると,他のEditor上の情報も自動的に修正される.
■ しかし,既に存在するObjectを開くという処理には,次のような別の問題があります:
問題1: Object listに存在するObjectが意図するものではなくても,同名のObjectである限り,そちらが開かれる.
Object名しか参照していないので,異なるフォルダにある別のファイルであっても,同名である限り,Praat側ではその区別ができず,Object listにあるほうを開いてしまう(このことは,このLauncherでは同名異ファイルを同時に開くことはできない,ということを意味する).
Praat Launcherを使う限り,TextGridを格納するフォルダを固定しておくことになるので,このような問題は生じにくいが,それでも,バックアップフォルダの中のファイルを手動で開いたとか,設定シートの値を(一時的に)変更してから開いた,などというケースが想定できる.
問題2: 範囲選択機能がうまく働かない.すなわち,同じObjectを複数回Editorで開くとき,次のいずれかの事態が生じる:
それ以前に開いたEditorの選択範囲が現在の選択指定範囲に変更されてしまう(synchronizeされる).
2番目以降のEditor上では範囲選択がなされない(単にEditorで開くだけで処理を終了).
(補)Editor右下の"Group"ボタンにチェックが入っている場合前者の,そのチェックがはずされている場合後者の事態が生じる.
(画像未)
問題3: 同一のObjectから開けるEditorは最大5枚まで(これはPraatの仕様).
■ 上に挙げた厄介な問題を回避するため,"Stop/Continue"ウインドウが出たら,(波形を見比べるといった)さしたる事情がない限り,"Stop"を選択し,さらに手動で一旦Praatを終了させた上で,改めてPraatを起動することを推奨します*13 .
目次へ
ファイル名・パス名における非ASCII文字の禁止 (Windows) †
Windowsの場合,ファイル名・絶対パス名に非ASCII文字(いわゆる全角文字や半角カナなど)を含むファイル(TextGridファイル,Soundファイル,スクリプトファイル)を扱うことはできません*14 .
そのため,以下の項目には非ASCII文字を含めないでください.
起動(作業)用シート
設定シート(後述)
Folder containing the TextGrid Files
Folder containing the Sound Files
TextGrid File Extension
Sound File Extension
Praat Script File(s)
Macintoshには,このような制約はありません.
目次へ
一時ファイルの生成 (Macintosh) †
Macintoshの場合,Launcher起動時に~/tmpxlstmp.praatという一時ファイルが作成されます*15 .
このファイルはPraat起動後直ちに削除されます.したがって,何らかの実行時エラーが生じたりしない限り,目に触れることはありません.
Windowsの場合には,一時ファイルは作成されません.
目次へ
機能一覧 †
アドインメニューの項目に沿って,改めてこのアドインの機能をレファレンス風に解説します.既に述べたことを繰り返すところもあります.その他の機能についてもここで述べます.
メニュー(1):「Praat」 †
概略 †
カレント行のA列,B列,(C列)の値を読み込んでPraatを起動します.
A列:ファイルベースネーム(拡張子を除いた部分)
B列:時刻1
C列:時刻2(任意)
Praat画面に表示される箇所は,主としてカレント行のC列の値によって決まります.
C列が終了時刻と解釈できれば,B列の値からC列の値までの区間が指定されたことになります(区間指定).Praat画面では,その区間が選択(select)され,前後にマージンを伴って表示されます.
C列が終了時刻と解釈できないときは,B列の値が時刻として指定されたことになります(時刻指定).Praat画面では,その時刻を含む区間が選択され,前後にマージンを伴って表示されます.
B列とC列が同じ値ならば,時刻指定として処理されます.
前後のマージンや,時刻指定したときの選択範囲については,設定シートで変更が可能です(後述).
A列(ファイルベースネーム)とB列(時刻)の値は必須です.
表示する区間はともかく,特定のファイルをとにかく開きたいという場合には,A列にファイルベースネーム,B列に適当な数値(例えば0)を入れた上でPraat Launcherを起動してください.
D列以降の値は何でもかまいません.
アドインはD列以降の値を参照しないので,あってもなくてもよい.
A-C列以外の適当な列に,作業メモを記すことも可能.
このアドインでPraatを起動すると,Excelシートのカレント行のフォントの色が変わります.
この機能を利用して,Excelシートを簡易版の進捗状況確認表として用いることも可能です.
この処理に関する挙動は設定シート(Font Color)で変更することができます.
変化させようとする色に既に変化している行については,そのままです(同じ色に変えていることになる).
Praat起動に成功しても,色は変わらない場合があります.
Praat起動後に何らかの事情で処理が中断された場合,色が変わってしまいます.
目次へ
メニュー項目 †
アドインメニューの"Praat"の項目に沿って各機能を簡単に解説します.
■ TextGrid+Sound
A列の文字列をベースネームとするTextGridファイルと音声ファイルをTextGridEditorで開きます.
もっとも標準的な機能です.
■ TextGrid+Sound[*-left]
■ TextGrid+Sound[*-right]
これらはそれぞれ,「(A列の文字列)-left」「(A列の文字列)-right」をベースネームとする音声ファイルを開きます.
例えば,A列の値が「sample」であったら,sample.TextGridとsample-left.wavのペア,またはsample.TextGridとsample-right.wavのペアをTextGridEditorで開きます.
■ Sound
■ Sound[*-left]
■ Sound[*-right]
音声ファイルだけSoundEditorで開きます.
■ TextGrid
TextGridファイルだけTextGridEditorで開きます
*16 .
その他 †
一部の機能にはショートカットキーを割り当てています(メニューにも記載されています).
メニュー ショートカットキー Praat -> TextGrid+Sound Ctrl-Shift-v (CtrlキーとShiftキーを押しながらvを押す) Praat -> TextGrid+Sound[*-left] Ctrl-Shift-o (CtrlキーとShiftキーを押しながらoを押す) Praat -> TextGrid+Sound[*-right] Ctrl-Shift-/ (CtrlキーとShiftキーを押しながら/を押す) Praat -> Sound[*-right] Ctrl-Shift-- (CtrlキーとShiftキーを押しながら-を押す) Praat -> Sound[*-left] Ctrl-Shift-^ (CtrlキーとShiftキーを押しながら^を押す)
さらに,一部の機能については(右)クリックメニューから実行することもできます.
目次へ
メニュー(2):「Setting」 †
概略 †
「Setting」→「SettingSheet」で,"PraatSetting" という名前のシート(以下「設定シート」)が作成されます.
Praat Launcherはさまざまなパラメータを用いてPraatを起動します.設定シートは,起動時に用いられるパラメータのデフォルト値を確認したり,デフォルト値ではない,独自の値をパラメータとして用いてPraatを起動する際に用います.
Praat Launcherは,設定シートがあればそこに記されている値を,なければコード内で定義されているデフォルト値を用いてPraatを起動します.
デフォルト値がそのまま,お使いの環境での最適値になっているとはまず考えられないので
,設定シートの作成・値の変更という作業は,ほぼ必須になります*17 .
パラメータ値の変更は,設定シートのD列の情報を直接書き換える(またはプルダウンメニューから選択する)ことで行ないます.
設定シートは,D列を除き,保護されています.したがって,D列以外のセルを書き換えることはできません.
設定シートの変更は,作業中でも行なうことができます.変更した値は,次回のPraat Launcher起動から有効です.
設定シートを削除したり,シート名("PraatSetting")を変更すれば,再度デフォルト値が用いられるようになります.
シートの削除や名前の変更は,シートのタブを(右)クリックすることで行ないます(これはExcel本体の機能です).
設定シートが既に存在する場合,新たに設定シートを作成することはできません.どうしても作りたい場合は,既に存在する設定シートを削除するか,名前を変更してから作成してください.
設定シートのスコープ(作用域)は,それが属するブックが持つシート(比喩的に言えば,設定シートと姉妹関係にあるシート)までです.別のブックについては,そのブックに属する設定シートの値,またはデフォルト値がPraat起動の際用いられます.
目次へ
設定項目 †
各パラメータについて,設定シートC列の項目に沿って簡単に解説します.
■ Location of praat 〔praat実行ファイルの在り処〕
■ Location of sendpraat 〔sendpraat実行ファイルの在り処〕
■ Folder containing the TextGrid Files 〔TextGridファイル格納フォルダ〕
■ Folder containing the Sound Files 〔音声ファイル格納フォルダ〕
■ TextGrid File Extension 〔TextGridファイルの拡張子〕
■ Sound File Extension 〔音声ファイルの拡張子〕
■ Praat Script File(s) 〔スクリプトファイル〕(Version 0.9.4から追加*21 )
Praat scriptを絶対パス込みでこの欄に指定すれば,起動と同時にそれが開かれます(任意;null(空)でも可).
単にPraat scriptを開くだけであり,それを実行することまではしません.
1バイトカンマ","で区切ることで複数指定が可能です.
ここで指定するファイルは,拡張子が"*.praat"でなければなりません
*22 .
Windowsの場合,日本語文字を含む場所を指定することはできません.
存在しないファイルを指定した場合,エラーとはならず,単純に無視されます.ご注意ください.
■ Sound Object Class 〔音声オブジェクトクラス〕 (Version 1.x.xから変更)
"Sound"か"LongSound"のいずれかをプルダウンメニューから選択します*23 .
長い音声ファイル(例えばCSJ の音声ファイル)の場合,後者を選択してください.
長い音声ファイルであっても,ある程度のサイズまでなら読み込むことができるようですが,読み込みに時間がかかります.
"Sound"と"LongSound"の違いについては,PraatのHelp"Long Sound"の項,またはウェブ上のPraatマニュアル"LongSound "等を参照してください)
■ Automatic Play 〔音声自動再生〕(Version 1.0.0から追加)
起動時に選択区間の音声を再生するか(ON)否か(OFF)を,プルダウンメニューから選択します.
■ Browse: Preceding Margin 〔表示・前方マージン〕
■ Browse: Following Margin 〔表示・後方マージン〕
区間指定の際,どこまでをマージン(選択されないが表示される区間)とするかを指定します.
単位は秒です.
(画像未)
■ Select: from the Specified Point Minus... 〔選択・前方〕
■ Select: to the Specified Point Plus... 〔選択・後方〕
■ Browse: Preceding Margin 〔表示・前方マージン〕
■ Browse: Following Margin 〔表示・後方マージン〕
時刻指定の際,その時刻を含むどこからどこまでを選択(select)するか,どこまでをマージンとするかを指定します.
単位は秒です.
(画像未)
■ Max Time 〔指定時刻最大値〕
カレントシートのB列またはC列の値がここで指定した値(閾値)より大きければ,警告を出して処理を終了します.
単位は秒です.
■ Max Duration 〔選択区間最大値〕
カレントシートのB列とC列の値の差,またはパラメータ"Select: from the Specified Point Minus..."と"Select: to the Specified Point Plus..."の値の和が,ここで指定した値(閾値)より大きければ,警告を出して処理を終了します.
単位は秒です.
この二つは起動時チェックの際に用いられる閾値です*24 .
■ Font Color 〔フォント色〕 (Version 1.0.0から追加)
Excelシートから起動したとき,そのシートのカレント行のフォントをどの色に変えるか(BLUE, BROWN, RED, PINK, BLACK),あるいは変えないか(AsIs)を,プルダウンメニューから選択します.
メニュー(3):「Help」 †
■ VersionInfo
Praat Launcherのバージョン情報等を表示します.
目次へ
その他の機能 †
古いバージョンで作成された設定シートの自動更新
Praat Launcher実行時に,古いバージョンで作成された設定シートがあった場合,メッセージを表示した上で,自動的に現在のフォーマットに更新します.
このとき,古い設定シートは違う名前(「PraatSetting_OLDx」xは数字)で保持されます.古い設定シートが不要であれば,手動で削除してください.
古い設定シートの値は,可能な限り新しい設定シートに引き継がれます.
対応していないフォーマットがあるかもしれません.
目次へ
免責(お約束) †
このアドイン(およびこのページの記述)を利用することによって直接的・間接的に生じたいかなる損害についても,作者は賠償する責任を負いません.
目次へ
ライセンス †
このアドインは,音声研究に貢献すると信じる限り,自由に使用,配布,改変していただいてかまいません.
改変したものを配布する場合,以下のように,アドインメニューの「Help」→「VersionInfo」で現れるメッセージボックスに改変した人の名前等が表示されるようにしてください(不要な混乱を避けるため).
目次へ
お願い(言い訳) †
作者はphoneticianでもpholonogistでもないし,またprogrammerでもありません.PraatにもExcel (VBA)にもそれほど詳しいわけではありません.奇妙なコードを見つけても大目に見てください.
「(俺|僕|私)なら,もっとマシなものが書ける」という方,emacs lisp版や秀丸マクロ版などのLauncherを作成可能な方(→「付録2:最小コード 」),ぜひ作って公開してください.
このアドインをバージョンアップする意欲はあるのですが,そのための余裕は今後ないかもしれません.このアドインのバグ,改良点,機能拡張,このページの記載内容の誤りなどのご指摘は歓迎いたしますが(ぜひお寄せください),以上の事情により,対応できない恐れが多分にあります.この点あらかじめご了承ください.
「アドインがうまく登録できない」などといったタイプのトラブルに関しては,作者のお役に立てることはないと思います.Web検索等に当たってください.
冒頭に挙げたモットー(Praatをもっと楽しく!)が達成(?)されているか否かが,作者にとって最も気になるところです.この点についてコメントをいただければ幸いに存じます.
目次へ
連絡先 †
作者 (nisi; Ken'ya Nishikawa)に連絡を取りたい方は以下まで.
scriptxlspraat [at] gmail [dot] com
目次へ
謝辞 †
このアドインが音声研究に何がしかの貢献をするとすれば,それはまずもって以下に挙げる方々のおかげです:
Yosuke Igarashi さん (phonology, phonetics)
Akira Utsugi さん (phonology, phonetics)
これらの方々は,音声学を専攻していない作者(paper phonetician)に,音声について考えるための環境を日ごろから提供してくださっています.このアドインの作成に当たっても,数多くの建設的なコメントをいただきました*25 .また,サンプルファイル作成にもお力添えをいただきました.
以下の方々には,ベータ版をお使いいただき,貴重なフィードバックをお寄せいただきました:
N.I.さん (phonology, phonetics)
K.T.さん (second language acquisition)
末尾ながら,Praatというすばらしいソフトウェアを開発し,今なお改良を続けている
Paul Boersma さん
David Weenink さん
にも(勝手に)感謝いたします.
目次へ
変更履歴 †
Version 1.3.1 (Jan. 4, 2011) コメント等修正〔機能的には変わらず〕
Version 1.3.0 (Dec. 30, 2010) ひとまず公開
目次へ
付録 †
以下の節は,コードを改変しようとする人のために設けました.初期状態のまま使う人は読む必要がありません.
付録1:コード書き換え †
デフォルトの状態でもそこそこ使えるはずですが(と思いたいのですが),
コードを直接書き換えることでさらに使いやすくなるかもしれません.
Excel VBAの知識があったほうがよいのは確かですが,なくても何とかなるかもしれません(他の箇所を変更しないよう気をつければ).
もしかしたら今後あるかもしれないバージョンアップに備え,どの箇所をどのように変えたのかを,どこかに記しておくことをお勧めします.
コードは次のようにして表示します.
Excel 2003, 2004 for macの場合
Excelメニューの「ツール」→「マクロ」→「Visual Basic Editor」を選択し,
Projectウインドウで,「VBA Project(praat_launcher.*.xla)」→「標準モジュール」→ 「launcher」をダブルクリックでたどっていく(*はバージョン名を表す数値)
画像(未)
Excel 2007の場合
(未)
目次へ
パラメータデフォルト値の書き換え †
設定シートで起動パラメータの値をいろいろいじくって,自分にとっての最適値が定まったら,それをデフォルト値にすると便利(日常的な作業では,設定シート作成は不要になる).
以下の関数を検索(C-f).
Function ParamSetting(number As Long) As Variant
やたら横に長いこの関数の右端にデフォルト値が設定されているので,これを適宜変更し,保存(C-s).
(omitted) & "Location of praat " & ll & "C:\praat\praat.exe "
(omitted) & "Location of sendpraat " & ll & "C:\praat\sendpraat.exe "
(omitted) & "Folder containing the TextGrid Files " & ll & "C:\speech\sample\TextGrid "
(omitted) & "Folder containing the Sound Files " & ll & "C:\speech\sample\wav "
(omitted) & "TextGrid File Extension " & ll & "TextGrid "
(omitted) & "Sound File Extension " & ll & "wav "
(omitted) & "Praat Script File(s) " & ll & " "
(omitted) & "Sound Object Class " & ll & "Sound "
(omitted) & "Automatic Play " & ll & "OFF "
(omitted) & "Browse: Preceding Margin " & ll & "0.7 "
(omitted) & "Browse: Following Margin " & ll & "0.7 "
(omitted) & "Select: from the Specified Point Minus... " & ll & "0.03 "
(omitted) & "Select: to the Specified Point Plus... " & ll & "0.03 "
(omitted) & "Browse: Preceding Margin " & ll & "1.0 "
(omitted) & "Browse: Following Margin " & ll & "1.0 "
(omitted) & "Max Time " & ll & "1860 "
(omitted) & "Max Duration " & ll & "60 "
(omitted) & "Font Color " & ll & "BLUE "
※文字列の末尾のスペースは見易さのためであり,なくても,またいくつあってもかまいません(右端のダブルクオーテーションの位置を揃える必要はありません).
Excelに戻り,設定シートを削除するか,別の名前に変更する(設定シートの値を読み込まないようにするため).
このアドインからPraatを起動し,意図通り開かれるか確認する.または,メニューからSetting -> SettingSheetを選択し,設定シートで値を確認する.
もちろん,デフォルト値を変更したとしても,新たに設定シートを作成し,それを書き換えることでいつでも(一時的に)設定値を変更することができます.
目次へ
ショートカットキー変更・追加 †
ショートカットキーのキーバインドを変更する場合
以下の関数を検索(C-f).
auto_open()
以下の記述を適宜(見よう見まねで)変更し,保存(C-s).
' =========================================================
' Shortcut Keys
' =========================================================
Application.OnKey "+^{v}", "praat_TGSound"
Application.OnKey "+^{o}", "praat_TGSound_left"
Application.OnKey "+^{/}", "praat_TGSound_right"
Application.OnKey "+^{-}", "praat_Sound"
Application.OnKey "+^{^}", "praat_Sound_left"
' Application.OnKey "+^{\}", "praat_Sound_right"
' Application.OnKey "+^{n}", "praat_TG"
Excelを再起動.
目次へ
付録2:最小コード †
ここでは,最小限の動作を行なうコードがどのようなものになるかを検討する.
ぐちゃぐちゃとコードを書いているが,大部分は値のチェックである.チェックをしなくても,値が不適切であれば,おそらくPraat側で(fatalではない)実行時エラーが起きるだけのことであって,実害・不便はそれほどないとも考えられるが,ここではできる限りその種のエラーは出さないようExcel側で対処することにした*26 .
今,値のチェックも設定シートのような仕組みも不要で,もろもろの値を決め打ちできたとすると,最小限の動作(関連するファイルを開いて,指定した区間を表示する)を行なうPraatスクリプトは,例えば次のように書ける.
Read from file... C:\speech\sample\wav\sample1.wav
Read from file... C:\speech\sample\TextGrid\sample1.TextGrid
select Sound sample1
plus TextGrid sample1
Edit
editor TextGrid sample1
Zoom... 0.56205995166484 2.40671800762395
Select... 1.26205995166484 1.70671800762395
endeditor
Praatを起動した後*27 ,上のコマンドをsendpraatでPraatに一気に送る.
C:\praat\praat
C:\praat\sendpraat praat "Read from file... C:\speech\sample\wav\sample1.wav"
"Read from file... C:\speech\sample\TextGrid\sample1.TextGrid"
"select Sound sample1"
"plus TextGrid sample1"
"Edit"
"editor TextGrid sample1"
"Zoom... 0.56205995166484 2.40671800762395"
"Select... 1.26205995166484 1.70671800762395"
"endeditor"
(※見易さのため,ここでは改行を入れてあるが,本来は2行目以降は1行で書かれる)
または,上のコマンドを一旦ファイルに落とし(仮にminimum.praatとする),それをsendpraatで実行する.
C:\praat\sendpraat praat "execute c:\speech\script\minimum.praat"
Excelでやっていることは,要するにこの種のコマンドを生成し,そのコマンドをshell関数等で実行することである.この動作をするだけ(ただし,カレントシートのA-C列の値は読み込むこととする)のExcel VBA スクリプトは次のように書ける(最小コードと言っても,バイト数の少なさを競う訳ではないので,可読性は考慮する).
(未)mincodepraat.xla
(以下未)
目次へ