//[[FrontPage]] #logparanoia() // It is free, available at http://language.world.coocan.jp/scripts/?PraatLauncher . #counter This page is ... - always under construction. - currently written in (pseudo-)Japanese (A translation into English is progressing at a snail's pace). [[目次へ>#ad498bb1]] &size(24){''Praat Launcher [Excel AddIn]''}; ''Praat Launcher is a Microsoft Excel Addin that launches [[Praat>http://www.fon.hum.uva.nl/praat/]] from Excel worksheets.'' *** Download [#x0851f5e] - &ref(praat_launcher.1.3.1.xla); (→「[[免責>#b2d5f0e3]]」「[[更新履歴>#ke4a6f6a]]」「[[セットアップ・動作確認>#a650460a]]」) //-- ↑ ちょっと待て 信頼できるか このアドイン //-- ↑ 「ウイルスか?」 疑い出せば きりがない //-- ↑ 嘘つきは 「正直者だ」と 嘘をつき //作者は正直者かうそつきかのどちらかである.「わたくしは正直者です」「このマクロはウイルスではありません」 //─│┌┐┘└├┬┤┴┼ //━┃┏┓┛┗┣┳┫┻╋ * はじめに [#pc3aca61] ** 概略 [#hf0aebd6] //Praat Launcher is a Microsoft Excel Addin that launches [[Praat>http://www.fon.hum.uva.nl/praat/]] from Excel worksheets. //Praat Launcher は,Microsoft(R) Office Excel から [[Praat>http://www.fon.hum.uva.nl/praat/]] を起動するためのExcelアドインです. - ''もうちょっと詳しく:''Excelシート上でアクティブになっている行のA列(ファイルベースネーム),B列(時刻),C列(時刻;任意)の値(と,他で定義した起動パラメータ値)を読み込んで,該当するファイル(TextGrid,音声)を Praatで開き,さらに該当箇所を表示します. - ''使用例(動画):'' CENTER:#youtube(wHACLupeAS8) ''注:''この動画では,1回目はアドインのメニューから,2回目は(右)クリックメニューから,3回目以降はショートカットキー(C-S-v)を使ってPraatを起動しています.Praatはその都度終了させていますが,その際にはPraatのショートカットキー(C-q)を使っています. // //-- //&ref(image_plaunch.JPG,,5%); ←イメージ(クリックで拡大) - ''モットー:''Praatをもっと楽しく! - ''特長:'' //- Praat Launcherは次のような特長を持ちます. -- 細かい情報を気にせずPraatで当該箇所にアクセスできる //ファイル名や時刻情報を気にせずに --- あらかじめ(このlauncherとは別に)ファイル名や時刻情報が含まれたデータを作っておきさえすれば,あとはlauncher任せ → アノテーション作業等に集中できる → アノテーションの質が向上することが期待される((もともとは,音響分析というより,アノテーション作業のために,このアドインを作成した.)). //で気軽にアクセスできる. //--- 大抵の場合---特にデータ構築作業において---,人間にとっての一義的関心事は,「(ファイル名)の(時刻情報)を見たり修正したりする」ではなく,「(付加情報)が付与された箇所を見たり修正したりしたい」ということであろう.あらかじめ,そのような箇所のファイル名や時刻情報が含まれたデータを作っておけば,後はその情報を元にPraat Launcherで該当箇所にアクセスできる. -- Excel VBAで実装したので… --- Excelさえあれば動く(Excelは大抵のマシンにインストールされていると想定しうるのであれば,このアドインも大抵のマシンで使える,ということになる)((これに対する重要な例外がExcel 2008 for mac. このExcelにはVBAが備わっていないため,このアドインを使うことはできない.)). --- 並べ替え(ソート),フィルタなどの,Excel本体の機能が使える. --- 関連する複数のシートをまとめて(一つのBookとして)保存できる. - 作者が学問的に尊敬する複数のphoneticians/phonologistsにこのアドイン(古いバージョン)を使っていただいたところ,そこそこ好評を博したようなので :) ,需要はそれなりにあると考え,必要な修正を加えた上でここに置いておきます((古いバージョン(0.9.x)をお使いの方へ:見た目だけでなく中身もかなり変えています.古いものは捨ててください.)). [[目次へ>#ad498bb1]] ** ユーザーの声 [#n5ccefde] //Praise from Users &color(red){〔個人の感想です〕}; //-- ''PRAISE FROM USERS'' &color(red){〔個人の感想です〕}; - これで仕事の仕方が変わる (埼玉県・男性) - とにかく使え! (広島県・男性) - 作業時間が劇的に減ります! (千葉県・女性) //--- もっと早くこれに出会っていたら… (千葉県・女性) //-- 古いバージョン(0.9.x)をお使いの方へ:見た目だけでなく中身もかなり変えています.古いものは捨ててください. [[目次へ>#ad498bb1]] ** 動作環境 [#h68c06da] - ''ソフト名 :'' Praat Launcher - ''ファイル名:'' praat_launcher.*.xla (Excelアドイン;*はバージョンを表す数値) - ''OS & Excel:'' 以下の環境で動作確認を行ないました((他の環境では動作確認していないが,Macintoshについていうと,(1) OS <= 9だとおそらく動かない,(2) Mac 2008 for macにはそもそもVBAがないので動かない.)) -- Windows XP & Excel 2003, 2007 -- Windows Vista & Excel 2007 -- Windows 7 & Excel 2007 -- Macintosh OS X & Excel 2004 for mac &color(red){(Version 1.x.x.からExcel 2004 for macでも動くようにしました)}; - ''作者:'' nisi -> [[ContactMe]] [[目次へ>#ad498bb1]] ** 以下の記述について [#w9dbe550] - このアドインは,Windows XP & Excel 2003で作成しました.以下の記述もほぼその環境に基づいています.他の環境では(細かい|重要な)点で相違するかもしれません. - 環境に関わらず,以下の記述と現状が相違する場合,現状を優先します(要するに,以下の記述は不正確かもしれない,ということです). - このページは,予告なしに変更することがあります. //(もしかすると,永遠に工事中かもしれません). [[目次へ>#ad498bb1]] * 目次 [#ad498bb1] #contents * セットアップ・削除・アップデート [#d7cd0636] ** セットアップ・動作確認 [#a650460a] このアドインを使用するための準備を行います.大きく次の二つの作業があります. - Excelへのアドインの登録 - (send)praatの設定・動作確認 *** アドインの登録 [#x5dedc28] //まずは,ダウンロードしたファイル(and/or このサイト)が信頼できるものかどうかをご検討ください. //((信用できないと判断した場合には,ご使用をお控えください.)). //信頼できると判断した場合には, //次の二つのうち''いずれか一方の''方法で 以下の手順で,ダウンロードしたアドインを使えるようにします((ここに挙げたものが唯一のやり方ではなく,他のやり方--例えばXLSTARTフォルダに置くやり方--も可能だが,ここでは触れない(XLSTARTフォルダに置く方が簡単だが).)) (アドインのダウンロードは現在のページの[[先頭>#x0851f5e]]から行なってください). //Excelのバージョンによって登録の仕方が異なります. //----------------------- //■ アドインに登録する方法 //----------------------- //■ Excel 2003, 2004 for mac + praat_launcher.*.xla をAddInsフォルダ(デフォルトのアドイン格納フォルダ),または自分で決めた場所(自分が忘れないところ)に置く. -- AddInsフォルダに置けば,以下の手順3.をスキップできます(多分). -- AddInsフォルダは,(環境によって異なるようですが)作者の環境では以下の場所にあります: //((AddInsフォルダは,作者の環境では次の場所にもある→ C:\Program Files\Microsoft Office\OFFICE11\ADDINS 〔ただしここに置くと,どの名前でWindowsにログインしてもアドインが起動してしまう,たぶん〕)). --- ''Windows XP'' C:\Documents and Settings\(ユーザー名)\Application Data\Microsoft\AddIns --- ''Windows 7'' C:\ユーザー\(ユーザー名)\AppData\Roaming\Microsoft\AddIns -- (Addinsフォルダを含む)"Application Data"フォルダ,"AppData"フォルダはデフォルトでは隠しフォルダとして扱われ,通常は見ることができないようです.(以下,Windowsの場合)エクスプローラーの「ツール」→「フォルダオプション」→「表示」タブ→「詳細設定」の「ファイルとフォルダの表示」で「全てのファイルとフォルダを表示する」をチェックして,見えるようにしてください.また,検索する際は,「詳細設定オプション」の「隠しファイルとフォルダの検索」にチェックを入れてから行なってください. //AddIns フォルダが見つからない場合は,手動でローカルドライブを検索して見つけてください. //(スタートメニューを右クリックして「検索」). + Excelを起動し,以下の手順でアドインリストを表示する. CENTER:&ref(addinlist.JPG,,50%); CENTER:''アドインリスト'' -- 【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 2007 //+ (未;ひとまず次のサイト等を参照) //-- [[アドインを登録または削除する(Microsoft)>http://office.microsoft.com/ja-jp/excel-help/HP010096834.aspx#BMexceladdin]] ----------------------- 以上の「仕込み」をすると,Excelに次のようなメニューが表示されるはずです(Excel 2007の場合,Excelの「アドイン」タブ(メニュー)を選択してください). //(OS, Excelのバージョンによって微妙に異なります). //(Excel 2007のケースは要確認). CENTER:&ref(menu_plauncher.JPG); //----------------------- //■ XLSTARTフォルダに置く方法 //- praat_launcher.*.xla をXLSTARTフォルダ(Excel起動フォルダ)に置いてください.XLSTARTフォルダは,作者の環境では次の場所にあります((XLSTARTフォルダは,作者の環境では次の場所にもある→ C:\Program Files\Microsoft Office\Office11\XLSTART 〔ただしここに置くと,どの名前でWindowsにログインしてもアドインが起動してしまう,たぶん〕)). // C:\Documents and Settings\(ユーザー名)\Application Data\Microsoft\Excel\XLSTART //XLSTART フォルダが見つからない場合は,手動でローカルドライブを検索して見つけてください(スタートメニューを右クリックして「検索」;XLSTARTは隠しフォルダになっているかもしれないので,「詳細設定オプション」で「隠しファイルとフォルダの検索」にチェックを入れて検索してください). // //ここで,Excelを(再)起動してください.次のようなメニューが表示されれば成功です(Excel 2007のケースは要確認). // //&ref(menu_plauncher.JPG); // //----------------------- //以上のいずれかの方法により アドインメニューが表示されたら, 動作確認の一環として,このメニューの「Help」→「VersionInfo」を選択し,このアドインのバージョンを表示させてみましょう.次のようなボックスが出れば成功です. CENTER:&ref(versioninfo.JPG); #br ここで,以下の点にご注意ください. - 注1:次回以降Excel を起動する際,アドインファイル(*.xla)をダブルクリックしないでください.アドインが二重起動してしまい,エラーとなります. - 注2: 類似のアドインファイル(古いバージョンのlauncherと新しいバージョンのlauncherなど)を共存させないでください.エラーとなります(→「[[アドインのアップデート>#eee930fe]]」,「[[アドインの削除>#h6a4e986]]」)((XLSTARTフォルダに類似のアドインファイルがある場合,そちらを削除してください.)). //同時にXLSTART フォルダに置いたり,アドイン登録したりしないでください. *** (send)praatの設定・動作確認 [#b254458f] このアドインの他に,以下の実行ファイルもご用意ください: - ''Praat'' -- Download (Windows) → http://www.fon.hum.uva.nl/praat/download_win.html -- Download (Macintosh) → http://www.fon.hum.uva.nl/praat/download_mac.html - ''sendpraat'' -- Download (Windows, Macintosh) → http://www.fon.hum.uva.nl/praat/sendpraat.html Praatは当然として,''sendpraatも必要となります''(とは言え,sendpraat''についての知識''は不要です).これらがなければ,ダウンロード&解凍の上,適当な場所に置いてください. //- Macintosh版sendpraatには,sendpraat_ppcとsendpraat_intelの2種類あります. //(以下では両方ともC:\praat\にあると仮定しています). //パスに日本語文字・スペースを含む場所に置くのはOKな模様 ここで,Praatおよびsendpraatの動作確認(および設定)を行ないます.手順は次の通りです: + Praat が起動中であれば,終了させる. + コマンドプロンプト(Windows),またはターミナル(Macintosh)を開く. -- ''Windows:'' 「スタートメニュー」→「(すべての)プログラム」→「アクセサリ」→「コマンド プロンプト」 //&color(red){(※Vista, 7では未確認)}; -- ''Macintosh:'' 「Macintosh HD」→「アプリケーション」→「ユーティリティ」→「ターミナル」 + 【Macintosh限定(Windowsユーザーはここを飛ばして次へ)】 sendpraat (sendpraat_ppc '''or''' sendpraat_intel)に実行属性を与えるため,ターミナルで以下のコマンドを実行(sendpraat のパスは環境に応じて適宜読み替えてください). -- 例: chmod +x /Applications/sendpraat_ppc 注:このコマンドを実行しても,目に見える変化はありません. + 【praat の動作確認】コマンドプロンプト/ターミナルで以下のコマンドを実行(praatのパスは環境に応じて適宜読み替えてください).Praat が起動すれば成功です. -- Windowsでの例: c:\praat\praat.exe -- Macintoshでの例(''注:ここでは"&"をつけてください''): /Applications/Praat.app/Contents/MacOS/Praat & ''注:''Praat起動直後に何らかの警告が出る場合,このアドインはうまく動きません.警告が出ないよう対処してください(例えば以下のような警告が出る場合,適当な場所に音声フォントを入れる;cf. [[Downloading Praat for Macintosh>http://www.fon.hum.uva.nl/praat/download_mac.html]]). #br CENTER:&ref(warning_phonetic.JPG,,70%); #br + 【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!' #br CENTER:&ref(dos.jpg,,50%); 以上で動作確認は終了です. 手順4-5でpraat, sendpraatがうまく動かなければ,このアドインもうまく動きません. 意図する挙動を示さない場合,コマンドプロンプト/ターミナル上のメッセージ等を参照しながら,成功するまで試行錯誤を繰り返してください. [[目次へ>#ad498bb1]] ** アドインのアップデート [#eee930fe] 〔初めて読む方は,この節を飛ばしてください〕 アドインをアップデートする際には,一旦古い[[アドインファイルを削除>#h6a4e986]]してから,改めて新しい[[アドインファイルをセットアップ>#x5dedc28]]してください. ** アドインの削除 [#h6a4e986] 〔初めて読む方は,この節を飛ばしてください〕 このアドインを使わなくなったら,以下の手順で削除してください. //■ アドインに登録した場合 //----------------------- //■ Excel 2003, 2004 for mac + 以下の手順でアドインリストを表示する. -- 【Excel 2003, 2004 for mac】 --- Excelメニューの「ツール」→「アドイン」を選択. -- 【Excel 2007】 +++ 「Office ボタン」(Excel画面左上の丸いボタン)をクリック→ +++ 下にある「Excelのオプション」をクリック→ +++ 左側にある「アドイン」をクリック→ +++ 下にある「管理」が「Excelアドイン」となっていることを確認し,「設定」をクリック + "praat_launcher.*"のチェックをはずす. + Excelを終了する. + セットアップ時に置いた実体ファイル(praat_launcher.*.xla)を手動で削除. + 再度Excelを立ち上げる.ここで「(先ほど削除したアドイン)が見つかりません」と出るかもしれないが,OKを押す. + 再度1.の手順に従いアドインリストを表示. + アドインリストに"praat_launcher.*"があれば,それにチェックを入れる.「リスト内から削除しますか」と聞かれるので,「はい」を押す. //----------------------- //■ Excel 2007 //+ (未;ひとまず次のサイト等を参照) //-- [[アドインを登録または削除する(Microsoft)>http://office.microsoft.com/ja-jp/excel-help/HP010096834.aspx#BMexceladdin]] //■ XLSTARTフォルダに置いた場合 //- XLSTART フォルダに置いた praat_launcher.*.xla を手動で削除してください. [[目次へ>#ad498bb1]] * とりあえず使ってみる [#hd0678cf] このアドインの機能を知るには,実際に使ってみるのが一番だと思われます.そこで,まずはサンプルファイルを使って遊んでみましょう. //以下の記述において,次のサンプルファイルを使用します: ** サンプルファイル [#i4604d97] 次のファイルをダウンロードしてください. - [[サンプルファイル (sample20101230.zip)>http://language.world.coocan.jp/sample/sample20101230.zip]] サンプルは,日本語読み上げ音声(女声)が一文ずつ収録された音声ファイル(*.wav)と,対応するTextGridファイルから構成されます. - 読み上げ文は次の通りです. sample1:青森のおにぎりをたくさんもらった。 sample2:青森のお土産をたくさんもらった。 sample3:宮島のおにぎりをたくさんもらった。 sample4:宮島のお土産をたくさんもらった。 sample5:青森でおにぎりをたくさんもらった。 sample6:青森でお土産をたくさんもらった。 sample7:宮島でおにぎりをたくさんもらった。 sample8:宮島でお土産をたくさんもらった。 - TextGridに格納されている付加情報については,当座の目的に関連しないので,説明は省略します((『日本語話し言葉コーパス』(CSJ)([[添付マニュアル>http://www.ninjal.ac.jp/products-k/katsudo/seika/corpus/releaseinfo/040/]],[[報告書>http://www.ninjal.ac.jp/products-k/katsudo/seika/corpus/csj_report/]])の「分節音情報」と「韻律情報」に相当する情報を付与している.ただし,ラベリング体系は簡素化している.また,一部の形態論的情報も付与している.)). - サンプルのディレクトリ構成を以下に示しておきます.解凍の上,sampleフォルダ以下を適当な場所に置いてください(ただし,Windowsの場合,パスに日本語文字を含むところに置くことは避けてください). 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 // ┗ sample_luw.txt // ┗ sample_BI.txt (?) // ┗ sample_UTTR.txt (?) //- ''*.wav'': 読み上げ音声(女声). // // sample1:青森のおにぎりをたくさんもらった。 // sample2:青森のお土産をたくさんもらった。 // sample3:宮島のおにぎりをたくさんもらった。 // sample4:宮島のお土産をたくさんもらった。 // sample5:青森でおにぎりをたくさんもらった。 // sample6:青森でお土産をたくさんもらった。 // sample7:宮島でおにぎりをたくさんもらった。 // sample8:宮島でお土産をたくさんもらった。 // //- ''*.TextGrid'': Seg(分節音),およびWord(語),BI (Break Index)などの韻律情報を付与した,Praat annotationファイル. //- ''sample_{word,BI}.txt'': sample1-8のWord, BI情報をKWIC形式で表現した,タブ区切りテキストファイル.フォーマットは次のとおり: //-- 第1フィールド:ファイルベース名 //-- 第2フィールド:時刻1 //-- 第3フィールド:時刻2(BIのファイルでは空) //-- 第4フィールド: //-- 第5フィールド: //-- 第6フィールド: //-- 第7フィールド: //-- 第8フィールド: //-- 第9フィールド: //- ''sample_UTTR.txt'': 読み上げ文のリスト(時刻情報含む).タブ区切りテキストファイル.フォーマットは次のとおり: //-- 第1フィールド:ファイルベース名 //-- 第2フィールド:開始時刻 //-- 第3フィールド:終了時刻 //-- 第4フィールド:読み上げ文 // // - さらにいくつかダウンロードしていただくファイルがあるのですが,それらについてはその都度説明いたします. [[目次へ>#ad498bb1]] ** 実際に動かしてみる [#k3ac2c33] では,さっそくサンプルファイルを使ってPraat Launcherを動かしてみましょう.Praatが起動中でも問題ないのですが,ここではせっかくなので(ありがたみが感じられるように),Praatは閉じておきます. + &ref(sample_luw.txt);をダウンロードしてExcelに読み込みます. -- このファイルは,sample*.TextGridファイルのLUW層の情報(長い単位の語((LUW層は『日本語話し言葉コーパス』(CSJ)の「長単位」に相当.またWord層は『日本語話し言葉コーパス』(CSJ)の「短単位」(短い単位の語)に相当する.)))を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列とまとめてそれらを右揃えし,さらに人間が読めないくらい幅を狭くしておきます. -- 他の列も適宜幅を調整します. CENTER:&ref(cellproperties.JPG,,30%); + アドインメニューの「Setting」→「SettingSheet」を選択します.すると,"PraatSetting"という名前のシートが新たに作成されます(このシートを以下「''設定シート''」と呼ぶことにします). #br CENTER:&ref(PraatSetting.JPG,,50%); #br + 同シート1-4行目のD列を,ご自身の環境に合わせて書き換えてください.以下に例を示します. //-- Location of praat //-- Location of sendpraat //-- Folder containing the TextGrid Files //-- Folder containing the Sound Files | C列 | D列 |h | 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 | CENTER:''Windowsでの例'' #br | C列 | D列 |h | 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 | CENTER:''Macintoshでの例'' #br 1-2行目には,先に行なった[[Praatおよびsendpraatの動作確認>#b254458f]]で,その挙動が確かめられたものを記述します(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の後でエンターキー). //+ Excelシートの他の行でも試してみます. 以上が一連の流れです.5.に戻って他の行についても試してみてください. また,次のこともお試しください. - Praat Launcherの機能とは直接関連しませんが,Excelの「データ」→「並べ替え」機能を使って,ソートキーを変えてシートの情報をソートしなおすこともお試しください(例えば「L列(前文脈逆)→ I列(後文脈)→ H列(KWICキー)」など). - ここで使ったデータをExcelファイルとして保存しておけば,次回はそのファイルをそのまま使って5.の作業から再開することができます.このデータはどこに保存してもかまいません. -------- 別のファイルでも試してみましょう.→ &ref(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はどんな仕事をするのか [#t808abbd] まとめると,Praat Launcherはこんな仕事をします. - カレントシートのカレント行のA列,B列,C列(任意)の値と, - 設定シートのD列の値を読み込み, - これらの値を元にPraatを起動する. //という機能を持ったExcel アドインである,というふうにまとめられます. したがって,人間は次のことを行なうことになります. - 起動用の情報(ファイルベースネーム,時刻)が記されたデータをExcelに読み込む. - 設定シートを作成し,必要な箇所を書き換える. - Praat LauncherでPraatを起動する. //細かいことは以降で述べますが, //以上がPraat Launcherの主要な使い方です. サンプルファイルに飽きてきたら,以下の記述にざっと目を通した上で,ご自身のデータ(TextGridファイル,音声ファイル)でも試してみてください. * 起動用データの作成方法 [#m7af0abb] このアドインの説明を続ける前に一言.以上の記述から明らかな通り,Praat Launcherでは,TextGridファイルと音声ファイルの他に,sample_{luw,bi}.txtのような起動用のデータ(A列がファイルベースネーム,B列(C列)が時刻情報であるようなデータ)が別途必要になります.この種のデータはいろいろなやり方で作成することが可能ですが(最悪,手で入力してもよい),われらがPraatで作成することもできます.上のsample_{luw,bi}.txtもPraatで作成したものです(このとき使ったPraat scriptは,おいおいアップします(未)). //((作者は,ちょっと前まではperlを使ってこの種のデータを作成していたが, //Praat scriptingの面白さに目覚めて以来,Praat scriptでできることは, //それで行なうようにしている.)). (追記)Akira Utsugi さんが,起動用のデータを作成するPraat Plug-inを作ってくださいました.簡単でとても便利です.ぜひお試しください. - [[Plug-in for Praat Launcher>http://utsakr.web.infoseek.co.jp/misc/index.htm#Plugin_forLauncher]] (by Akira Utsugi) [[目次へ>#ad498bb1]] * 【重要】(使用|仕様)上の注意 [#k86e3890] - このアドインは個人での使用を想定して作成しました.より具体的に言うと, このアドインで扱うTextGridファイルは,一人の個人だけが修正できるものである (他の人はそれを修正することがない) ということを前提としています. - もし(コーパス構築作業などで)複数の作業者が同時に修正する可能性のあるファイルを扱うのであれば,データの整合性を保つ何らかの仕組みが必要となりますが,このアドインにはそのような仕組みは備わっていません((複数の作業者に対応したものも,このアドインとは別に作成したが,結構大掛かりなものになってしまった.)). - 例えばこのアドインでは,次のような事態を回避することはできません: -- シナリオ1:AさんとBさんが,ほぼ同時刻に,同一のファイルhoge.TextGridをObjectに読み込み,TextGridEditorで開いた(この時点では,この二人が見ているTextGridEditor上の情報は同じ).二人はそれぞれ異なる箇所に修正を施し,Aさんが時刻t1にhoge.TextGridを(上書き)保存,その後Bさんが時刻t2にhoge.TextGridを(上書き)保存した.この結果,時刻t2以降のhoge.TextGridにはBさんの修正内容だけが反映されており,Aさんの修正内容は一切反映されていない,ということになる〔Aさんがどれだけがんばって修正したとしても,その努力は水の泡〕.((この種の事態は,実は普通にPraatを使うときでも起きることであり,したがって,この種の事態に対する特別な仕組みはマクロの側には必要ない,と考えることもできるが,このマクロを使うことでそのような事態は起きやすくなる,ということは言えると思う.)) - くれぐれも以上の点にご留意の上,Praat Launcherをご使用ください. [[目次へ>#ad498bb1]] * 複数のTextGridEditorの起動 [#e5424c73] //〔まずは単純な話から…〕 ■ Praat Launcherで複数のTextGridEditorを開くことができます(&color(red){Version 1.0.0から仕様変更}; ((0.9.xまでのバージョンでは,複数のTextGridEditorを開くことは明示的に禁止していた.))). //Tさんのリクエストにより仕様変更. - やり方:ExcelからPraatを起動した後,Praatを閉じずにExcelシートに戻り,再度Praatを起動する. - これにより,Editorを並べて波形を見比べてみる,といったことが可能です. // (画像未) //〔ここまではどうということのない話.以下から話がやや込み入ってくる…〕 ■ ただし「同名のObjectを同時にObject listに載せない」という制約を設けています. - このような制約を設けず,同一のファイルに対し複数のObjectを作ってしまうと,以下のような事態を回避できません. //り,それらを別々にEditorで開い -- シナリオ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に存在する場合((これはTextGrid Objectに限った話.TextGrid Objectではなく,Sound Object/Long Sound Objectが既にObject listに存在する場合,このようなメッセージなしに,Object listに存在するものを開く.ただし,TextGridとSoundはペアで開かれるのが普通であれば,TextGridの方でこのようなメッセージが表示されることになる.)),以下のようなメッセージが表示され, CENTER:&ref(StopOrCont.JPG,,70%); ~ここで"Continue"を押すと,Object list上のObjectがEditorで開かれます("Stop"を押すと,現在の処理を中止します). //-- いずれにせよ,同クラス同名のObjectが既にObject listに存在する限り,ファイルをObjectに読み込むことはしません. ■ 既に存在するObjectの方をEditorで開くことにより,たとえ同一のデータを複数のEditorで開いたとしても,データの整合性が保たれます. (画像未)一つのEditor上の情報を修正すると,他のEditor上の情報も自動的に修正される. //(そうではなく,ファイルを新たにObjectに読み込んで,それをEditorで開いてしまうと,上に述べたシナリオのような事態を回避できません) //〔以下,"Continue"を選んだ場合の話〕 // //- 既に存在するObjectの方をEditorで開くことにより,たとえ同一のデータを複数のEditorで開いたとしても,データの整合性が保たれます. // (画像未)一つのEditor上の情報を修正すると,他のEditor上の情報も自動的に修正される. //〔ここまでは良いこと尽くめのようだが…〕 ■ しかし,既に存在するObjectを開くという処理には,次のような別の問題があります: - ''問題1: ''Object listに存在するObjectが意図するものではなくても,同名のObjectである限り,そちらが開かれる. -- Object名しか参照していないので,異なるフォルダにある別のファイルであっても,同名である限り,Praat側ではその区別ができず,Object listにあるほうを開いてしまう(このことは,このLauncherでは同名異ファイルを同時に開くことはできない,ということを意味する). //,もちろん違うディレクトリに存在する以上,異なるファイルであるが,Object nameとしては同じになってしまう.そのため,Object nameだけでは,それが本当に意図するものか否かは(少なくともPraat側では)判断できない. -- Praat Launcherを使う限り,TextGridを格納するフォルダを固定しておくことになるので,このような問題は生じにくいが,それでも,バックアップフォルダの中のファイルを手動で開いたとか,設定シートの値を(一時的に)変更してから開いた,などというケースが想定できる. - ''問題2: ''範囲選択機能がうまく働かない.すなわち,同じObjectを複数回Editorで開くとき,次のいずれかの事態が生じる: -- それ以前に開いたEditorの選択範囲が現在の選択指定範囲に変更されてしまう(synchronizeされる). -- 2番目以降のEditor上では範囲選択がなされない(単にEditorで開くだけで処理を終了). --- (補)Editor右下の"Group"ボタンにチェックが入っている場合前者の,そのチェックがはずされている場合後者の事態が生じる. (画像未) - ''問題3: ''同一のObjectから開けるEditorは最大5枚まで(これはPraatの仕様). #br CENTER:&ref(5editors.JPG,,70%); //〔ということで〕 //- //(波形を見比べるといった特殊なケースを除き)少なくとも保存を伴うような通常の作業で,上の ■ 上に挙げた厄介な問題を回避するため,"Stop/Continue"ウインドウが出たら,(波形を見比べるといった)さしたる事情がない限り,"Stop"を選択し,さらに手動で一旦Praatを終了させた上で,改めてPraatを起動することを推奨します((そもそも"Stop/Continue"ウインドウが出ない場合であっても,さしたる事情がない限り,複数のObjectのペアをObject listに載せることはせず,TextGrid保存(C-s)→Praat終了(C-qの後エンターキー)→Excelシート上で新たに起動(C-S-v),というサイクルを繰り返すことを推奨する.)). [[目次へ>#ad498bb1]] * ファイル名・パス名における非ASCII文字の禁止 (Windows) [#x148725c] - Windowsの場合,ファイル名・絶対パス名に非ASCII文字(いわゆる全角文字や半角カナなど)を含むファイル(TextGridファイル,Soundファイル,スクリプトファイル)を扱うことはできません((これはおそらく,shell/cmd.exe (Shift JIS)からpraat (Unicode)にうまく送ることができないためだと思われる.ちなみに,実行ファイル(praat.exeおよびsendpraat.exe)のパスに非ASCII文字が含まれていても問題はない.)). - そのため,以下の項目には非ASCII文字を含めないでください. -- 起動(作業)用シート ---A列(ファイルベースネーム) -- 設定シート(後述) --- Folder containing the TextGrid Files --- Folder containing the Sound Files --- TextGrid File Extension --- Sound File Extension --- Praat Script File(s) - Macintoshには,このような制約はありません. //- これらは,Praat Launcher実行時にExcel側でチェックされます. [[目次へ>#ad498bb1]] * 一時ファイルの生成 (Macintosh) [#w1870f3f] - Macintoshの場合,Launcher起動時に~/tmpxlstmp.praatという一時ファイルが作成されます((最初は一時ファイルを作るのは負けだと思っていたが,だんだん「まあ動けばよいか」という気になってきた.それでも,一時ファイルを作らないほうがよいとは思っている(実際,Windowsでは一時ファイルは作っていない).)). - このファイルはPraat起動後直ちに削除されます.したがって,何らかの実行時エラーが生じたりしない限り,目に触れることはありません. - Windowsの場合には,一時ファイルは作成されません. [[目次へ>#ad498bb1]] * 機能一覧 [#t9bcf848] アドインメニューの項目に沿って,改めてこのアドインの機能をレファレンス風に解説します.既に述べたことを繰り返すところもあります.その他の機能についてもここで述べます. ** メニュー(1):「Praat」 [#eb96f694] &ref(praatmenu.JPG,,70%); *** 概略 [#j0c3726c] - カレント行の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起動に成功しても,色は変わらない場合があります. --- Excelシートが保護されている場合,など. -- Praat起動後に何らかの事情で処理が中断された場合,色が変わってしまいます. --- Object listに存在するものを開こうとして中止した場合(→「[[複数のTextGridEditorの起動>#e5424c73]]」) --- ファイルが存在しないなどの理由で開けなかった場合,など [[目次へ>#ad498bb1]] *** メニュー項目 [#xf9d0bb0] アドインメニューの"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]'' //- TextGridファイルは無視し, - 音声ファイルだけSoundEditorで開きます. //- これは主に,同じファイルの異なる箇所の波形を比べる,といった場合を想定しています(このとき,一組だけ「TG+Sound」で開き,残りの箇所はこの機能を使ってSoundだけ表示). //- 上述の通り,同名のSound ObjectがObject Listに存在しても,それとは別にObjectを作ってしまいます. //- 音声ファイルは一旦作ったら,それを修正することはない(少ない)という前提で,TextGridの場合とは対処を変えてあります. //- 他にも,TextGridファイルをまだ作っていないが,とりあえず音声だけ確認したい,と言った場合にも使えるかもしれません. ------------- ■ ''TextGrid''~ - TextGridファイルだけTextGridEditorで開きます ((TextGridファイルだけ開くという機能にどういう使い方があるか,作者自身にもよくわからないが,簡単に実現可能なので,とりあえず作ってみた.)). //(音声ファイルの在り処が分からなくなったが, //とりあえずTextGridだけ今は見られればよい,というケース?) *** その他 [#ubaca5dc] - 一部の機能にはショートカットキーを割り当てています(メニューにも記載されています). | メニュー | ショートカットキー |h | 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 | Ctrl-Shift-- (CtrlキーとShiftキーを押しながら-を押す) | | Praat -> Sound[*-left] | Ctrl-Shift-^ (CtrlキーとShiftキーを押しながら^を押す) | - さらに,一部の機能については(右)クリックメニューから実行することもできます. #br CENTER:&ref(rightclickmenu.JPG,,30%); #br [[目次へ>#ad498bb1]] ** メニュー(2):「Setting」 [#zd70ff8a] &ref(Settingmenu.JPG,,70%); *** 概略 [#jf816c80] -「Setting」→「SettingSheet」で,"PraatSetting" という名前のシート(以下「設定シート」)が作成されます. #br CENTER:&ref(PraatSetting.JPG,,50%); #br - Praat Launcherはさまざまなパラメータを用いてPraatを起動します.設定シートは,起動時に用いられるパラメータのデフォルト値を確認したり,デフォルト値ではない,独自の値をパラメータとして用いてPraatを起動する際に用います. - Praat Launcherは,設定シートがあればそこに記されている値を,なければコード内で定義されているデフォルト値を用いてPraatを起動します. - デフォルト値がそのまま,お使いの環境での最適値になっているとはまず考えられないので //((Praat Launcherのデフォルト値に合わせてディレクトリを構成した場合を除く.)) ,設定シートの作成・値の変更という作業は,ほぼ必須になります((使用法・環境によっては,コードに規定されているデフォルト値をお使いの環境に合わせて書き換えてしまうことも有効な手段かと思われる(→「[[デフォルト値の書き換え>#re8629a6]]」).)). - パラメータ値の変更は,設定シートのD列の情報を直接書き換える(またはプルダウンメニューから選択する)ことで行ないます. - 設定シートは,D列を除き,保護されています.したがって,D列以外のセルを書き換えることはできません. - 設定シートの変更は,作業中でも行なうことができます.変更した値は,次回のPraat Launcher起動から有効です. - 設定シートを削除したり,シート名("PraatSetting")を変更すれば,再度デフォルト値が用いられるようになります. -- シートの削除や名前の変更は,シートのタブを(右)クリックすることで行ないます(これはExcel本体の機能です). CENTER:&ref(tabrightclick.JPG,,50%); - 設定シートが既に存在する場合,新たに設定シートを作成することはできません.どうしても作りたい場合は,既に存在する設定シートを削除するか,名前を変更してから作成してください. - 設定シートのスコープ(作用域)は,それが属するブックが持つシート(比喩的に言えば,設定シートと姉妹関係にあるシート)までです.別のブックについては,そのブックに属する設定シートの値,またはデフォルト値がPraat起動の際用いられます. -- 例えば,Book1.xls, Book2.xls, Book3.xlsという三つのExcelブック(ファイル)があり,それぞれ次のようなシートを持っているとします. //━┃┏┓┛┗┣┳┫┻╋ Book1.xls Book2.xls Book3.xls ┃ ┃ ┃ ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓ ┃ ┃ ┃ ┃ ┃ ┃ sheet1 PraatSetting sheet2 PraatSetting sheet3 sheet4 ここで,sheet1(Book1.xlsに属する)からPraat Launcherを使ってPraatを起動するとき,参照される設定シートは,Book1.xlsに属するPraatSettingシートであり,Book2に属するPraatSettingシートではないという点にご注意ください.また,sheet3およびsheet4(Book3.xlsに属する)から起動する場合,デフォルト値がパラメータの値として使用されます(Book3.xlsに属するPraatSettingシートが存在しないため). -- したがって初期状態では,''おのおののブックごとに設定シートを作成し,起動パラメータの値を定める''必要があります((このことは,一見面倒くさいように見えるが,必ずしもPraat Launcherの欠点とはならないと思う.)). //-- このことを利用して,例えば似て非なる複数の作業(Praatを使用するが,対象ファイルが異なる作業)を同時並行的に行なう場合,作業ごとにExcel Bookを用意し,それぞれのBookに別の値を記した設定シートを持たせれば, //適切に設定された設定シートを含む専用のブックを複数用意することで, //作業を効率的に進めることができます. [[目次へ>#ad498bb1]] *** 設定項目 [#i0e62f62] 各パラメータについて,設定シートC列の項目に沿って簡単に解説します. ------------------------------------------ //■ praat.exe格納フォルダ~ //■ sendpraat.exe格納フォルダ ■ ''Location of praat'' 〔praat実行ファイルの在り処〕~ ■ ''Location of sendpraat'' 〔sendpraat実行ファイルの在り処〕 - 絶対パスだけでなく,本体のファイル名を含めて指定してください.&color(red){(←Version 1.x.x.から変更((Macintosh版Praatにも対応するため,本体ファイル名を含めた形で指定するよう変更した.)))}; × C:\praat ○ C:\praat\praat.exe - ここには,「[[(send)praatの設定・動作確認>#b254458f]]」節で行なった動作確認でその挙動が確かめられたものを指定します. ------------------------------------------ ■ ''Folder containing the TextGrid Files'' 〔TextGridファイル格納フォルダ〕~ ■ ''Folder containing the Sound Files'' 〔音声ファイル格納フォルダ〕 //■ TextGridファイル格納フォルダ~ //■ 音声ファイル格納フォルダ - 末尾のパス区切り記号はあってもなくても動きます. ○ C:\speech\sample\TextGrid ○ C:\speech\sample\TextGrid\ - Windowsの場合,日本語文字((「日本語文字」とは,より正確には「非ASCII文字」.以下同様.))を含む場所を指定することはできません. - 「TextGridファイルのパス」および「音声ファイルのパス」にファイルベースネームが含まれるとき,その部分を「<BASENAME>」で指定することができます.例えば,以下のようなディレクトリ構成であれば, C:\speech ┗ sample ┣ sample1 ┃ ┣ sample1.wav ┃ ┗ sample1.TextGrid ┣ sample2 ┃ ┣ sample2.wav ┃ ┗ sample2.TextGrid ┣ sample3 ┃ ┣ sample3.wav ┃ ┗ sample3.TextGrid : : 「TextGridファイルのパス」および「音声ファイルのパス」に C:\speech\sample\<BASENAME> と指定することで,意図するファイルを開くことができます. -- ただし,閲覧だけならともかく,保存を伴うような作業をこのようなディレクトリ構成で行なうことは推奨しません. --- Praatは直前に読み込んだり書き込んだりしたフォルダを開くという仕様になっているようなので,保存のたびにフォルダの指定をしなければならなくなる.これでは面倒くさいし,意図しない場所に修正結果を保存してしまうといった作業ミスも多くなりそう. ------------------------------------------ ■ ''TextGrid File Extension'' 〔TextGridファイルの拡張子〕~ ■ ''Sound File Extension'' 〔音声ファイルの拡張子〕 //■ TextGridファイルの拡張子((TextGridファイルの拡張子がTextGridであることは当然と言えば当然で,パラメータとして設定する必要はないかもしれない.))~ //■ 音声ファイルの拡張子 //- 先頭のドット"."はあってもなくても動きます. // ○ TextGrid // ○ .TextGrid - ここで日本語文字を使用することはできません. ------------------------------------------ //■ スクリプトファイル (Version 0.9.4から追加((この機能は,Akira Utsugi さんのリクエストにより追加したものである.))) ■ ''Praat Script File(s)'' 〔スクリプトファイル〕(Version 0.9.4から追加((この機能は,Akira Utsugi さんのリクエストにより追加したものである.))) - Praat scriptを絶対パス込みでこの欄に指定すれば,起動と同時にそれが開かれます(任意;null(空)でも可). - 単にPraat scriptを開くだけであり,それを実行することまではしません. - 1バイトカンマ","で区切ることで複数指定が可能です. -- 以下の例では,hoge.praatとpiyo.praatが開かれます. //((hogeとpiyoは日本語圏でしばし用いられる意味のないメタ変数.英語の'''foo, bar'''に相当.)) C:\speech\script\hoge.praat,C:\speech\script\piyo.praat - ここで指定するファイルは,拡張子が"*.praat"でなければなりません ((このアドインの内部では"Read from file..."コマンドでスクリプトファイルを開いているが,作者の環境では同コマンドで*.pscや*.txtを読み込むことができなかった.)). //はPraat scriptファイルの拡張子として"praat"を用いているが,[[Bert Remijsen氏作成のスクリプト>http://www.ling.ed.ac.uk/~bert/praatscripts.html]]では"psc"が使われている.)) - Windowsの場合,日本語文字を含む場所を指定することはできません. - 存在しないファイルを指定した場合,エラーとはならず,単純に無視されます.ご注意ください. ------------------------------------------ ■ ''Sound Object Class'' 〔音声オブジェクトクラス〕 &color(red){(Version 1.x.xから変更)}; - "Sound"か"LongSound"のいずれかをプルダウンメニューから選択します((以前は,音声読み込み方法("Read from file..."か"Open long sound file...")を選択するようにしていた.)). // (画像未) - 長い音声ファイル(例えば[[CSJ>http://www.ninjal.ac.jp/products-k/katsudo/seika/corpus/]]の音声ファイル)の場合,後者を選択してください. -- 長い音声ファイルであっても,ある程度のサイズまでなら読み込むことができるようですが,読み込みに時間がかかります. - "Sound"と"LongSound"の違いについては,PraatのHelp"Long Sound"の項,またはウェブ上のPraatマニュアル"[[LongSound>http://www.fon.hum.uva.nl/praat/manual/LongSound.html]]"等を参照してください) ------------------------------------------ ■ ''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..."の値の和が,ここで指定した値(閾値)より大きければ,警告を出して処理を終了します. - 単位は秒です. この二つは起動時チェックの際に用いられる閾値です((ただし,これらの値(閾値)が役に立ったことはあまりない.)). ------------------------------------------ ■ ''Font Color'' 〔フォント色〕 (Version 1.0.0から追加) - Excelシートから起動したとき,そのシートのカレント行のフォントをどの色に変えるか(BLUE, BROWN, RED, PINK, BLACK),あるいは変えないか(AsIs)を,プルダウンメニューから選択します. // (画像未) ** メニュー(3):「Help」 [#ge4fd906] &ref(helpmenu.JPG,,70%); ■ ''VersionInfo'' - Praat Launcherのバージョン情報等を表示します. //■ WebSite //- ネットブラウザを立ち上げてこのサイトを開きます. // //時々この二つでバージョンを比べてみて,新しいバージョンのものが公開されていたら, [[アップデート>#eee930fe]]してください. [[目次へ>#ad498bb1]] ** その他の機能 [#kada02dd] //メニューの実行以外で実現できる機能についてここで解説します. - 古いバージョンで作成された設定シートの自動更新 //-- 設定シートのフォーマットは,バージョンが上がるごとに変わっていますが, -- Praat Launcher実行時に,古いバージョンで作成された設定シートがあった場合,メッセージを表示した上で,自動的に現在のフォーマットに更新します. // (画像未) -- このとき,古い設定シートは違う名前(「PraatSetting_OLDx」xは数字)で保持されます.古い設定シートが不要であれば,手動で削除してください. -- 古い設定シートの値は,可能な限り新しい設定シートに引き継がれます. -- 対応していないフォーマットがあるかもしれません. [[目次へ>#ad498bb1]] * 免責(お約束) [#b2d5f0e3] - このアドイン(およびこのページの記述)を利用することによって直接的・間接的に生じたいかなる損害についても,作者は賠償する責任を負いません. [[目次へ>#ad498bb1]] * ライセンス [#f948fac2] //音声研究の役に立つと思われるのであれば, - このアドインは,音声研究に貢献すると信じる限り,自由に使用,配布,改変していただいてかまいません. //((明示的にライセンスを定めた方がいいのかもしれませんが,今のところはうやむやにしておきます.)). //なお,マクロウイルスには注意しましょう. - 改変したものを配布する場合,以下のように,アドインメニューの「Help」→「VersionInfo」で現れるメッセージボックスに改変した人の名前等が表示されるようにしてください(不要な混乱を避けるため). #br CENTER:&ref(modified.JPG); [[目次へ>#ad498bb1]] //* エラーメッセージ [#kab64781] // //(未) // //[[目次へ>#ad498bb1]] //* トラブルシューティング [#veeadbaa] //(未) // //[[目次へ>#ad498bb1]] // //** FAQ(←遣らせ) [#ub23fafc] //*** sample_luw.txtのような,起動用のデータはどのようにして作るか? [#seafb737] // //作者は,perlまたはPraat scriptで作成しています.sample_luw.txtを作成した//Praat scriptをどこかにおいておきます.(未) // //*** なぜ(他のソフトウェアではなく)Excelでこのようなものを作ろうと思ったのか? [#y3cbb9c1] //これには歴史的な事情と実際的な事情とがあります. //- 歴史的な事情: //- 実際的な事情: //-- たいていのWindowsマシンにインストールされている //-- Excel自体の大まかな操作方法は広く知られていると想定できる //(未) // //*** なぜC-S-vにショートカットキーを割り当てたのか? [#c2f3105b] //作者が作った他のアドインで押しやすいキーが既に使われているからです. // //[[目次へ>#ad498bb1]] //** 今後 [#i91d5c89] //- 作者は飽きっぽい性格な上,時間を取れるかどうか甚だ微妙なので,今後このアドインをバージョンアップするかどうかは保証の限りではありません. //- ただし,明らかなバグには何とか対応したいと思います. //- このページの更新日を見て,更新が滞っているなら,もう飽きたか,忙しい(ふりをしている)かのいずれかだと思ってください. //- 機能に関することではないが,以下の点は検討中: //-- 表示を日本語ではなく,global standardな言語(English)にする? //-- このサイトも英語に? // //[[目次へ>#ad498bb1]] * お願い(言い訳) [#f21ad800] - 作者はphoneticianでもpholonogistでもないし,またprogrammerでもありません.PraatにもExcel (VBA)にもそれほど詳しいわけではありません.奇妙なコードを見つけても大目に見てください. //((作者のコードに対しツッコミを入れそうな音声学者は,少なくとも二人はすぐに思いつく〔元同僚と元上司(の上司)〕)) //可能な限り,コードを見てくすくす笑わないでください. //くすくす笑っていただく場合であっても,作者の目の前でそれを行なうことはどうかご遠慮ください. - 「(俺|僕|私)なら,もっとマシなものが書ける」という方,emacs lisp版や秀丸マクロ版などのLauncherを作成可能な方(→「[[付録2:最小コード>#i7e40a15]]」),ぜひ作って公開してください. //作者までお送りいただければ幸いです. - このアドインをバージョンアップする意欲はあるのですが,そのための余裕は今後ないかもしれません.このアドインのバグ,改良点,機能拡張,このページの記載内容の誤りなどのご指摘は歓迎いたしますが(ぜひお寄せください),以上の事情により,対応できない恐れが多分にあります.この点あらかじめご了承ください. //-- (やや蛇足めきますが)以前,作者が尊敬する研究者に「プログラムのコメントは英語で書くべきだ」と言われ,確かにその通りだと説得させられたのですが,にも関わらずPraat Launcherのコードには日本語のコメントが混じっています(いわんやdocumentationをや!).対応したいと思いますが,まだ先の話になりそうです. - 「アドインがうまく登録できない」などといったタイプのトラブルに関しては,作者のお役に立てることはないと思います.Web検索等に当たってください. - 冒頭に挙げたモットー(Praatをもっと楽しく!)が達成(?)されているか否かが,作者にとって最も気になるところです.この点についてコメントをいただければ幸いに存じます. -> [[ContactMe]] [[目次へ>#ad498bb1]] //対応できない可能性がきわめて高いのですが,参考にさせていただきます //((ちなみにPraat Launcherの作者は「褒められて伸びるタイプ」である. //「豚もおだてりゃ木に登る」うまい具合に作者を誘導すれば,その気になるかもしれない.)). //- お気づきの点,改良点等ありましたら, //''やさしく''お知らせていただけると幸いです. //反映できるかどうかは分かりませんが,今後の参考にさせていただきます. //** リンク [#j11f7a69] //[[Praat本家>http://www.fon.hum.uva.nl/praat/]] * 謝辞 [#u062f549] このアドインが音声研究に何がしかの貢献をするとすれば,それはまずもって以下に挙げる方々のおかげです: - Yosuke Igarashi さん (phonology, phonetics) - Akira Utsugi さん (phonology, phonetics) これらの方々は,音声学を専攻していない作者(paper phonetician)に,音声について考えるための環境を日ごろから提供してくださっています.このアドインの作成に当たっても,数多くの建設的なコメントをいただきました((特にYosuke Igarashi さんには,(i) sendpraatを使ってpraatにコマンドを送る方法をご教示いただき,さらに (ii) 「設定シート」のアイディアを示唆していただいた.)).また,サンプルファイル作成にもお力添えをいただきました. 以下の方々には,ベータ版をお使いいただき,貴重なフィードバックをお寄せいただきました: - N.I.さん (phonology, phonetics) //- A.M.さん (phonology, phonetics) - K.T.さん (second language acquisition) //作者が不慣れなMacintoshについて, // //- N.Y.さん (psychology) // //にいろいろご教示いただきました. //また,アドイン作成にあたり次のサイトを参照しました. //- [[だるまのエクセルVBA>http://members3.jcom.home.ne.jp/daruma_kyo/]] 末尾ながら,Praatというすばらしいソフトウェアを開発し,今なお改良を続けている - Paul Boersma さん - David Weenink さん //の両氏 にも(勝手に)感謝いたします. //(last, but not the least) [[目次へ>#ad498bb1]] * 変更履歴 [#ke4a6f6a] - Version 1.3.1 (Jan. 4, 2011) コメント等修正〔機能的には変わらず〕 - Version 1.3.0 (Dec. 30, 2010) ひとまず公開 [[目次へ>#ad498bb1]] * 付録 [#y87acd81] 以下の節は,コードを改変しようとする人のために設けました.初期状態のまま使う人は読む必要がありません. ** 付録1:コード書き換え [#ce7601bd] デフォルトの状態でもそこそこ使えるはずですが(と思いたいのですが), コードを直接書き換えることでさらに使いやすくなるかもしれません. - Excel VBAの知識があったほうがよいのは確かですが,なくても何とかなるかもしれません(他の箇所を変更しないよう気をつければ). - もしかしたら今後あるかもしれないバージョンアップに備え,どの箇所をどのように変えたのかを,どこかに記しておくことをお勧めします. - コードは次のようにして表示します. -- Excel 2003, 2004 for macの場合 +++ Excelメニューの「ツール」→「マクロ」→「Visual Basic Editor」を選択し, +++ Projectウインドウで,「VBA Project(praat_launcher.*.xla)」→「標準モジュール」→ 「launcher」をダブルクリックでたどっていく(*はバージョン名を表す数値) 画像(未) -- Excel 2007の場合 +++ (未) //あったほうがよいですが //ここでは,ひとまず次の3点について述べます. // //- [[デフォルト値の書き換え>#re8629a6]] //- [[ショートカットキー割り当て(変更)>#d51d2c2c]] //- [[関連するファイルを開く>#hdad5687]] // //なお, [[目次へ>#ad498bb1]] *** パラメータデフォルト値の書き換え [#re8629a6] 設定シートで起動パラメータの値をいろいろいじくって,自分にとっての最適値が定まったら,それをデフォルト値にすると便利(日常的な作業では,設定シート作成は不要になる). + 以下の関数を検索(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を選択し,設定シートで値を確認する. もちろん,デフォルト値を変更したとしても,新たに設定シートを作成し,それを書き換えることでいつでも(一時的に)設定値を変更することができます. [[目次へ>#ad498bb1]] *** ショートカットキー変更・追加 [#d51d2c2c] ショートカットキーのキーバインドを変更する場合 + 以下の関数を検索(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を再起動. [[目次へ>#ad498bb1]] //*** 関連するファイルを開く [#hdad5687] //音声ファイルとTextGridファイルのベースネームは,大抵の場合一致していますが, //例えばhogehoge(ExcelシートA列の値)に対して,hogehoge.TextGridとhogehoge-left.wav ('''not''' hogehoge.wav)のペアをPraatで開きたい,などということが時としてあります(対話音声を扱っている場合など).このように,A列の文字列そのままではなく,その前後に特定の文字列が付加された名前をベースネームとして持つファイル(TextGridファイル/音声ファイル)を開きたい //という場合には,新たな関数を作り,それを実行するメニューを追加する(またはショートカットキーを割り当てる)ことで実現可能です. // //既に「(A列の文字列)-left」「(A列の文字列)-right」をベースネームとする音声を //開く機能は追加してあります.ここでは,「(A列の文字列)-hidari」をベースネームとする音声を開くやり方を説明します. // //(未) // //Excelを一旦終了する必要あり. // //[[目次へ>#ad498bb1]] ** 付録2:最小コード [#i7e40a15] //しくみ ここでは,最小限の動作を行なうコードがどのようなものになるかを検討する. ぐちゃぐちゃとコードを書いているが,大部分は値のチェックである.チェックをしなくても,値が不適切であれば,おそらくPraat側で(fatalではない)実行時エラーが起きるだけのことであって,実害・不便はそれほどないとも考えられるが,ここではできる限りその種のエラーは出さないようExcel側で対処することにした((ただし,ファイル・フォルダの存在チェックをExcel 2004 for macにやらせるとかなり時間がかかるようなので,その種のチェックはPraat側で行なうか,実行時エラーが発生した場合にのみ行なうようにした.)). 今,値のチェックも設定シートのような仕組みも不要で,もろもろの値を決め打ちできたとすると,最小限の動作(関連するファイルを開いて,指定した区間を表示する)を行なう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を起動した後((Praatが既に起動している状態でPraatを実行しても問題なし.)),上のコマンドをsendpraatでPraatに一気に送る. &ref(minscriptdos.JPG); 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 (以下未) [[目次へ>#ad498bb1]] //** 舞台裏 [#gf3ba759] //もともとは,音声コーパス構築のために作成. // //[[目次へ>#ad498bb1]] //** 変更履歴 [#se0915ad] //(未) // //[[目次へ>#ad498bb1]]