昨日,自分はこんな事を書きました.
「音声の収録は何とか終わりましたもんで,今後はラベリングというヤツをやっていく事になります.」
で,そのラベリングの際に使うツールとして自分はMatLabを使うような事を書いていた訳ですが,どうやらWaveSurferなるツールの方が使いかってが良いようなのです.

といいますか,自分も昨日このツールの存在を知ったばかりですもんで,使い方から何から全然分かっていない訳です.
で,昨日は自宅に帰ってからググってみまして,ちょいと調べてみました.
何でも結構有名なツールのようなのですが,何しろ自分は素人同然なもんですから,リファレンスとか何とかを必死こいて探していた訳です.

で,見つけました.WaveSurferでラベリングをする方法.
何でもWaveなりRawなりの音声データを開いた上で「Create Pane」とかいうヤツを展開(?)していけばどうにかなるらしい.
で,自分は考えた訳です.
「いっその事,予め適当にラベルファイルを作っておいて,それを音声データと並べて表示し,その上でラベルの微調整をしていった方が速いんじゃないの!?」

という訳で,その方法も調べてみました.
何でも「Load Transcription」とか「Load Text Labels」とかいうのを選択するとインポート出来るらしい.
となれば,ちゃっちゃとラベルファイルを作っちゃうっきゃないでしょ?
で,実際にラベルファイルを自動で作ってくれるようなプログラムを書いてみた訳ですが,上手く機能してくれないのです.

...えぇ~...はい,自分の知識不足が原因です.
自分はこのプログラムをPerlで書いた訳ですが,Perlでは数値の長さを指定した出力をどのようにすれば良いのか分からない訳です.
具体的な話.
例えばこんな行をアウトプットしたいとします.
「0.000000 0.100000 sil」
(意味は,0.000000~0.100000秒の区間に音素silを割り当てる)

ちなみにsilというのはサイレント(無音)の事だと勝手に解釈している訳ですが,兎に角にもこんなような出力が欲しいのに,「0」の数がまちまちだったりしちゃいまして,どうしたらいいもんかと悩んでいた訳です.
ちなみに,C言語なんかだと"%1.6d"とか何とか書けば良かったかと思いますが,何しろPerlに関しては付け焼き刃で来てますもんで,数値の出力桁数だとか何だとかの基礎的な部分は全く知らない訳です.

...で,自分が下した結論...
...ふ~っ(ため息)...しゃ~ない,Perlは諦めよう...
えぇ~...早めにこんな風な決断を下しちゃえば良かったのですが,こういった方針転換には不馴れな(?)もんで,色々と路頭に迷ったりもしていた訳です.
で,まぁ,兎に角もこれからJavaでプログラムを書き直して行きます.
ではっ!!
終.
ちなみにですが,自分が書くPerlプログラムでは日本語が扱えなかったりします.
文字化けに次ぐ文字化け...
思うにPerlの使い方自体に問題があるものと思われます...
「音声の収録は何とか終わりましたもんで,今後はラベリングというヤツをやっていく事になります.」
で,そのラベリングの際に使うツールとして自分はMatLabを使うような事を書いていた訳ですが,どうやらWaveSurferなるツールの方が使いかってが良いようなのです.

といいますか,自分も昨日このツールの存在を知ったばかりですもんで,使い方から何から全然分かっていない訳です.
で,昨日は自宅に帰ってからググってみまして,ちょいと調べてみました.
何でも結構有名なツールのようなのですが,何しろ自分は素人同然なもんですから,リファレンスとか何とかを必死こいて探していた訳です.

で,見つけました.WaveSurferでラベリングをする方法.
何でもWaveなりRawなりの音声データを開いた上で「Create Pane」とかいうヤツを展開(?)していけばどうにかなるらしい.
で,自分は考えた訳です.
「いっその事,予め適当にラベルファイルを作っておいて,それを音声データと並べて表示し,その上でラベルの微調整をしていった方が速いんじゃないの!?」

という訳で,その方法も調べてみました.
何でも「Load Transcription」とか「Load Text Labels」とかいうのを選択するとインポート出来るらしい.
となれば,ちゃっちゃとラベルファイルを作っちゃうっきゃないでしょ?
で,実際にラベルファイルを自動で作ってくれるようなプログラムを書いてみた訳ですが,上手く機能してくれないのです.

...えぇ~...はい,自分の知識不足が原因です.
自分はこのプログラムをPerlで書いた訳ですが,Perlでは数値の長さを指定した出力をどのようにすれば良いのか分からない訳です.
具体的な話.
例えばこんな行をアウトプットしたいとします.
「0.000000 0.100000 sil」
(意味は,0.000000~0.100000秒の区間に音素silを割り当てる)

ちなみにsilというのはサイレント(無音)の事だと勝手に解釈している訳ですが,兎に角にもこんなような出力が欲しいのに,「0」の数がまちまちだったりしちゃいまして,どうしたらいいもんかと悩んでいた訳です.
ちなみに,C言語なんかだと"%1.6d"とか何とか書けば良かったかと思いますが,何しろPerlに関しては付け焼き刃で来てますもんで,数値の出力桁数だとか何だとかの基礎的な部分は全く知らない訳です.

...で,自分が下した結論...
...ふ~っ(ため息)...しゃ~ない,Perlは諦めよう...
えぇ~...早めにこんな風な決断を下しちゃえば良かったのですが,こういった方針転換には不馴れな(?)もんで,色々と路頭に迷ったりもしていた訳です.
で,まぁ,兎に角もこれからJavaでプログラムを書き直して行きます.
ではっ!!
終.
ちなみにですが,自分が書くPerlプログラムでは日本語が扱えなかったりします.
文字化けに次ぐ文字化け...
思うにPerlの使い方自体に問題があるものと思われます...