はじめに
初回に1時間ほどのビデオ講義を行った後、課題にうつります.
準備1: 音声波形データの読み出しとGNUPLOTによる表示
- 音声サンプルデータ
- xxx.wav は wav データ.xxx.dat はヘッダの付いていない short integer の配列データ(little endian).いずれもリトルエンディアンのバイナリデータである.
サンプルコード
以下のコードの欠落部分を適宜穴埋めする.もちろんスクラッチから実装も可.テキストの式の実装およびバタフライ計算の部分が穴埋めになっている.
- DFT のソースコード
- FFT のソースコード
- コンパイル時に "-DSTRESSTEST" というオプションをつけるとDFT/FFT を1000回実行、"-DINVERSE" をつけるとDFT/FFT 後に逆変換を行うプログラムになります.(マクロによってソースコードが分岐します.詳しくは中身を読んでみること.)
- Linux環境でコンパイル時にM_PI がないと怒られる場合は、-std=gnu99 オプションをつけてみてください.また、math.h のライブラリ実行のため、-lm オプションをつけてください.
- バタフライを実装する上で、複素行列による計算 (順変換, 逆変換) を実装することになる.b_i はビット反転で並び替えられている.
- バタフライ演算の模式図
- プログラムの実行時間計測にはtime コマンドを用いるとよい.
レポートについて
- 後期実験全体と同じ締切とする(今年度は2025年1月6日(月)13:00:00).
- 実験の区分けについて
- 第一部: 各自で行った音声の音響分析
- 第二部: 音声認識/話者認識の原理の習得
- 第三部: 各班ごとによる統合システムの構築とプレゼンテーション
- レポート執筆について
-
本課題全体の目的,原理・理論,実験機材(どういう環境でプログラミングしたのか,その様子が再現できるように),課題内容,予想される結果,実際の結果,考察・・・などを記す.
- 第一部は各種課題が並んでいたので,それに従ってレポートをまとめればよい.
- 第二部に関しても,何を学んだのか,第三者に分かるように記述せよ.音声認識/話者認識に関する教科書の記述に対して,例えば,下記のようなチャレンジ課題を試みてみるのもよいだろう.
1)EM(Expectation Maximization)法を用いた GMM パラメータの推定法を調査する
2)非線形SVMにおけるカーネルトリックを調査する
3)主成分分析の原理(より数学的な説明)と一番基礎的な各主成分の求め方(実装方法)を調査する
- 第三部については,同一班の班員間で情報を共有しつつ,以下について各自の言葉でレポートをまとめる.
1)どういう統合システムを作ったのか,統合システムの仕様についてまとめる
と同時に,以下の点についても各自が記述する.
2)システム開発やプレゼン資料作成において,
A)自分がどう貢献したのかを書き,
B)期間があと一週間あればどういう機能を追加したか,も記す.
- レポート提出について
- 形式: レポートは PDFにしてUTOLにて提出する.
- 班番号を01, 02, 03, 04とする(最終発表会の発表班に準拠).
- ファイル名は班番号_学籍番号.pdf とする
- プログラムおよびスライドの提出について
- 班ごとに作成したプログラムとスライドについてもまとめる.
- 班単位でのスライド、デモ動画とプログラムはまとめて,班番号.zip or 班番号.tar.gz などとする.
- 提出先について
- PDFはUTOLを用いて提出する
- 作成したシステムのプログラム、デモ動画とスライドについては,Google Driveなどのアクセス可能な場所に設置後,リンク先をコメント欄に明記してPDF提出と同時にUTOLにて連絡する.