- 不適切な図が教科書に掲載されています。図6はこちら(jpeg, eps)が正しいです。
- はじめに
- 「音声信号処理の基礎」の講義スライドはここ。
- 最終的な「音声リモコンロボット」の動画はここ。
- 「音声インタフェースの構築」テキストはここ。
- 「追加実験」テキストはここ。
- 準備1:音声分析ソフトを触ってみる・使ってみる
- wavesurfer のダウンロードはここ。
- wavesurfer の使い方は,例えばここ。
- 準備2:音声波形データの読み出しとGNUPLOTによる表示
- 音声サンプルのダウンロードはここをクリック。
- xxx.wav は wav データ。xxx.dat はヘッダの付いていない short integer の配列データ(little endian)。いずれもバイナリーデータである。
- エンディアン(endian)って何?という人はここ。big endian のデータは用意していない。
- GNUPLOTの使い方については,ここや,ここが役立つでしょう。
- xxx.dat の読み込みには fread() を使う。ライブラリ関数の仕様についてはここ。
- 課題1:自己相関関数を用いたピッチ抽出
- 3.3 節の自己相関関数の式を幾何学的に解釈するとどうなりますか?(ヒント:内積)
- 何故,この式のように「掛けたものを足す」という操作が「相関関係」を示す量になるのかを考えてみなさい。この式は s_t と s_{t+tau} の相関(つまり自己相関)ですが,x_t と y_t の場合は相互相関と言われます。
- ここまでが第一日目か。
- 課題2:DFT/FFTを用いたスペクトルの算出を描画
- DFT のソースファイルはここ。前期実験のソースと若干異なる。DFT と IDFT(Inverse DFT) の関数を作成せよ。
- テキスト 3.4 節の DFT の式をそのままプログラミングするだけである。
- FFT のソースファイルはここ。FFT と IFFT(Inverse FFT) の関数を作成せよ。
- 穴埋め部分はバタフライ計算のところだけである。
- FFT はこの複素行列計算を,IFFT はこいつをプログラミングすればよい。なお,b_i はビット反転順序で並び替えられた入力である。
- また,ソースの見易さを優先して,無用な処理も入れている。FFT の実装としては遅いバージョンだと思えばよい。
- なお,授業で配布している蝶蝶の絵を見ながらソースを眺めたい人はこちら。
- 作成したプログラムの実行時間を計測する場合は time コマンドを使うとよい。先頭512個のデータに対する DFT/FFT を各々1000回行うと何秒かかるか?
- % time ./FFT speech_sample/A_a.dat 0 512 > FFT_A_a.dat
- などとやれば良い。表示の解釈は,"man time" でもしなさい。
- 課題3:FFTを用いたケプストラム係数の計算とスペクトル包絡の推定
- ケプストラム係数の一部を操作する場合,スペクトルの対称性を崩さないようにすること。
- ここまでが,第二日目か。
- 課題4:パワースペクトルと自己相関関数(Wiener-Khintchineの定理)
- Wiener-Khintchine の定理を知らない学生は,ここ。つまり,自己相関関数のフーリエ変換が何になるのか?ということです。
- 準備3:ケプストラム係数のユークリッド距離に対する物理的意味について
- 課題6:各自が持参した音サンプルの音響分析
- 音声認識の講義まで時間がる人は,色んな音を分析にかけてみて下さい。
- 課題7:孤立単語音声認識システムの構築
- 孤立単語音声認識ツールキットのダウンロードはここ。
- 孤立単語音声認識に関する講義スライドはここ。
- システムをあれこれいじってみて,性能評価して下さい(3.10の課題)。認識システムの個々のモジュールをいじってシステムの概要を把握すること,及び,ここまでの課題において学習・知識が不十分だった部分を補うのが,第四,五日目,となります。
- 後半のロボット課題は,ここまでの知識が「既知」であることが前提となっています。
- レポートについて
- 〆切最終日から2週間後。
- 実験の区分けについて
- 第一部 各自で行った音声の音響分析,
- 第二部 音声認識/話者認識の原理の習得,
- 第三部 各班で統合システムを構築+プレゼン,
- レポート執筆について
- 考察レポートに関して
第一部の実験について,「内容」を簡潔に記し,「結果」及び「考察」については詳細に述べよ。
第二部に関しては記述する必要はない。
第三部に関しては統合システム構築において,自身がどのように貢献できたのかを記せ。
また,プレゼンファイルは班員間で内容が等しくなるが,班員毎に提出せよ。
- 総合レポートについて
本課題全体の目的,原理・理論,実験機材(どういう環境でプログラミングしたのか,その様子が再現できなければ意味がない),課題内容,予想される結果,実際の結果,考察・・・などを記す。
感想文の提出を求めている訳ではない。時々学生には,峯松が学部3年の時に書いたレポートを見せている。25年たっても再実験できるような,そういう既述が求められている。
第一部は各種課題が並んでいたいので,それに従ってレポートをまとめればよい。
第二部に関しても,何を学んだのか,第三者に分かるように記述せよ。音声認識/話者認識に関する教科書の記述に対して,例えば,下記のようなチャレンジ課題を試みてみるのもよいだろう。
1)EM(Expectation Maximization)法を用いた GMM パラメータの推定法を調査する
2)SVM におけるカーネルトリックを調査する
3)主成分分析の原理(より数学的な説明)と一番基礎的な各主成分の求め方(実装方法)を調査する
第三部については,同一班の班員で協力して一つのレポートを仕上げればよい。
1)どういう統合システムを作ったのか,統合システムの仕様についてまとめ,
2)プレゼン資料と一緒に班ごとに作成する。
と同時に,以下の点については,各自の記述を追加して欲しい。
3)システム開発やプレゼン資料作成において,
A)自分がどう貢献したのかを書き,
B)期間があと一週間あればどういう機能を追加したか,も記す。
- レポート提出について
レポートは PDF (プレゼンはパワポ相当のファイルでよい)にして提出する。 メールで提出する。
班番号をA01, A02, A03, A04(前半のグループ),B01, B02, B03, B04(後半のグループ)とする。
考察レポートの場合,班番号_学籍番号_kousatsu.pdf とし,
プレゼンファイルは,班番号_学籍番号_kousatsu.ppt とする。
総合レポートの場合,第一部・第二部(と第三部の各自記述)は,班番号_学籍番号_sougou.pdf とする。
総合レポートの班単位でのレポートは,班番号_sougou.pdf or 班番号_sougou.ppt などとする。
- 提出はメールに添付して下記に送付する。
speech_ta [at] gavo.t.u-tokyo.ac.jp