未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

TinyASIO完成しました

TinyASIO完成したのでGitHUB Pagesのリンク貼ります.

http://grgsiberia.github.io/TinyASIO/

 

デフォルトだとGNU GPLv3なので利用の際はご注意を.ちゃんとテストできたらパッケージ売りにでもしようかなぁとか.無料体験版(商用利用可)はGPLとか.C#で使えるようになったらAssetStoreに投げてみたい.

TinyASIOというより,COMが原因でデバイスの取得や初期化に失敗したりするので,汎用的に使おうとするとたぶんうまくいかないかもしれない.一応,初期化等に失敗したらレジストリを書き換えるなどでリトライ処理を何度も挟んでいるから,ある程度は失敗しても大丈夫なようにできてる.

 

というわけで,今はギターの和音推定システムを作ってます.一般的な和音推定はピアノのように劣化や変化の少ない楽器を前提に作っていたりするため,ギターでピアノの和音推定をやると絶対にうまく行かないと指摘されたので,じゃあ抑えているフレットを推定する仕組みを考えればいいんじゃね? と思ってそんな感じのシステムになってます.

リアルタイム標榜していたのですが,サンプル数が少ないと周波数分解能が足りないとかで困りました.5弦開放が110Hz,5Hz間隔で音が隣接しているからFFTだと周波数分解能が足りなすぎるという問題にぶち当たりました.

しょうがないので,4096サンプルからFFTとDFTでスペクトルを得るところからスタートしようかなと.これなら,40Hzから440Hzの400Hz区間でDFTをかければいいのと,ギターで最も高い音でも1300Hzぐらいなので,矩形窓でエイリアシングを無視する形でゴリ押しすればなんとかなるかなぁとか.

とりあえず,既存のシステムを利用するとスペクトルを都合よく取れないので,特にDFTあたりは自作する必要があるかなとか思ってます.

というわけで,修論はこれやろうかなと.画像認識の方はネガポジサンプル集めるの挫折したので,しょうがないから専用の画像ビュワーを作っちゃいたいなぁとか.