オープンソースの音声解析プログラム ― 2007年11月01日 20:20
WaveSurfer という、オープンソースの音声解析プログラムがありました。
http://www.speech.kth.se/wavesurfer/
少し使ってみましたが、機能満載で結構すごいです。
日本語の解説ページがこちらにあります。
http://www.f.waseda.jp/kikuchi/tips/wavesurfer.html
http://www.speech.kth.se/wavesurfer/
少し使ってみましたが、機能満載で結構すごいです。
日本語の解説ページがこちらにあります。
http://www.f.waseda.jp/kikuchi/tips/wavesurfer.html
音声認識、応用音響学 ― 2007年11月02日 21:17
音声認識というのは、音データから人間の声を認識する技術です。
http://ja.wikipedia.org/wiki/%E9%9F%B3%E5%A3%B0%E8%AA%8D%E8%AD%98
音声認識を RH1FFT で実装する予定はないのですが、音声認識とまではいかなくても、何か特定の音を検出できる機能があれば便利です。
大きさがあるレベル以上とか、ある周波数帯のパワーがある値以上とか、その程度なら簡単なのですが、それだけでは対応できないこともあります。
何か役に立つことがあるかと思って音声認識について少し調べていますが、まだあまり良く分かっていません。
キーワードは、ケプストラム、フォルマント、HMM, パターン認識のあたりだと思います。
ただ、人間の音声以外でこれらが使えるかどうかは不明です。
とりあえず、かなりそれらしき資料は見つかりました。
分野としては、応用音響学と呼ばれているようです。
http://ocw.u-tokyo.ac.jp/course-list/engineering/applied-acoustics-2005/lecture-notes.html
たとえこれを理解できても、そこから実際のプログラムにするのは、また遠い道のりなのですが。
http://ja.wikipedia.org/wiki/%E9%9F%B3%E5%A3%B0%E8%AA%8D%E8%AD%98
音声認識を RH1FFT で実装する予定はないのですが、音声認識とまではいかなくても、何か特定の音を検出できる機能があれば便利です。
大きさがあるレベル以上とか、ある周波数帯のパワーがある値以上とか、その程度なら簡単なのですが、それだけでは対応できないこともあります。
何か役に立つことがあるかと思って音声認識について少し調べていますが、まだあまり良く分かっていません。
キーワードは、ケプストラム、フォルマント、HMM, パターン認識のあたりだと思います。
ただ、人間の音声以外でこれらが使えるかどうかは不明です。
とりあえず、かなりそれらしき資料は見つかりました。
分野としては、応用音響学と呼ばれているようです。
http://ocw.u-tokyo.ac.jp/course-list/engineering/applied-acoustics-2005/lecture-notes.html
たとえこれを理解できても、そこから実際のプログラムにするのは、また遠い道のりなのですが。
ウィザードの実装に向けて ― 2007年11月06日 21:08
ここまで書いてきたステップをまとめて実装する場合に
どのようにできるのかを検討するための材料を作ってみます。
(ただし簡単のためにリアルタイム解析は省いています)
1.既存のデータの読み込み→3、
または新規に録音してから解析→2
2.録音の設定
トリガー(録音開始を始める)レベル設定
録音時間の上限の設定
3.録音実行
録音、データ保存を必要な回数繰り返す
→5
4.読み込むデータを指定
5.解析設定
解析のワンブロックの大きさを設定
窓関数を設定
窓倍率を設定
6.グラフ表示の設定
周波数グラフの縦軸横軸設定
ソノグラフの表示設定
7.特徴を抽出
という流れになります。
特に5.6.は設定を変更しながらベストの設定を見つける必要が
あるので、あきらめずに5.6を往復して、なんとか7.にいたることが
サクセスストーリーです。l
今後はこの各項目の中身を更新していきます
どのようにできるのかを検討するための材料を作ってみます。
(ただし簡単のためにリアルタイム解析は省いています)
1.既存のデータの読み込み→3、
または新規に録音してから解析→2
2.録音の設定
トリガー(録音開始を始める)レベル設定
録音時間の上限の設定
3.録音実行
録音、データ保存を必要な回数繰り返す
→5
4.読み込むデータを指定
5.解析設定
解析のワンブロックの大きさを設定
窓関数を設定
窓倍率を設定
6.グラフ表示の設定
周波数グラフの縦軸横軸設定
ソノグラフの表示設定
7.特徴を抽出
という流れになります。
特に5.6.は設定を変更しながらベストの設定を見つける必要が
あるので、あきらめずに5.6を往復して、なんとか7.にいたることが
サクセスストーリーです。l
今後はこの各項目の中身を更新していきます
ウィザードの実装 ― 2007年11月14日 23:43
ここまで考えてきたウィザードですが、
基本的にはこの最後にまとめているように実装できたら、FFT解析の進め方の説明がぐっと楽になると思います。
もしもユーザーのかたからさらに要望がありましたら、ぜひ実装を検討したいと思いますのでこの記事のコメントでもどしどしのせてください。
よろしくお願いします
基本的にはこの最後にまとめているように実装できたら、FFT解析の進め方の説明がぐっと楽になると思います。
もしもユーザーのかたからさらに要望がありましたら、ぜひ実装を検討したいと思いますのでこの記事のコメントでもどしどしのせてください。
よろしくお願いします
バグ:特定の状況で、時間グラフが正しく表示されない ― 2007年11月21日 22:04
以下のバグが見つかりました。
次バージョンで修正します。
解析結果に影響はありません。
1. [表示設定] で周波数グラフを非表示にする。
2. [オプション] の [解析] で、ステレオデータの解析対象を「平均」にする。
3. 10 秒程度以上のステレオデータを開く。
→ 時間グラフが、約半分の大きさで表示される。
次バージョンで修正します。
解析結果に影響はありません。
1. [表示設定] で周波数グラフを非表示にする。
2. [オプション] の [解析] で、ステレオデータの解析対象を「平均」にする。
3. 10 秒程度以上のステレオデータを開く。
→ 時間グラフが、約半分の大きさで表示される。
最近のコメント