bonar note

京都のエンジニア bonar の技術的なことや技術的でない日常のブログです。

2008年下期 最終成果報告会 に行ってきました

最終成果報告会

去年の12月から、IPA独立行政法人情報処理推進機構)が主催する「未踏ソフトウェア人材育成事業」の2008年下半期の部で「コード進行を用いたセミオートマチックな作曲ライブラリの開発」というテーマで研究を行っていました。

先週末の金曜日にその最終報告会があったので、その際の動画、感じたこと等を書こうと思います。

発表内容(動画)

30分くらいあるので覚悟して下さい。mobileme に上げています。Windows で IE とかだと見れないかもしれません。申し訳ありません。

http://gallery.me.com/bonar#100016
f:id:bonar:20090727233457p:image

本当は他の方の発表内容も取りたかったのですが、ビデオのバッテリーが持たず。。。残念。2009年は会場側でこういう設備を整えられると過去の資源が有効活用されていいんじゃないかと思いました。

質疑応答

非常に的確な指摘や、いろいろなアドバイスを頂くことが出来ました。質問者の方の名前と所属が入っていたので映像ではなくテキストに書き起こしました。いろんな方に質問していただけてうれしかったです。また、質疑のあとの休憩時間に実際に使ってみてもらったりして、意見を頂くことが出来ました。

f:id:bonar:20090727233533p:image

普通の電子ピアノでも出来る(特別なMIDI機器ではなく)というアピールが足りなかったかもと反省しています。具体的な質疑の内容は以下です。

Q. 協和度をベースに調整すると、クラシカルな音楽に偏ってしまいそうな気がしますがどうでしょうか

A. 確かに。クラシックは協和度やコード進行に厳格な世界なので、そういう性質は出てしまうかもしれません。

Q. ドとレが不協和がという話ですが、「シ、ファ、ソ」というメジャーな和音はどういう扱いになるか。

A. 避けてしまいます。避けるのが良くない気もするのですが、現状だとファソときたときに上に音をスキャンしていって、より協和度の高いものがあればそちらが採用されてしまいます。この辺りは調整が難しい部分ですね、、今の挙動は良くないかもしれません。

Q. 私も音楽が好きでいろんな楽器を弾いたりするのですが、最近wiiの「wiiミュージック」をやりました。このゲームはwiiリモコンを振るだけで楽曲が作成出来ます。ドラム、ベース、全てwiiリモコンを振るだけです。これもこの仕組みと近いものがあると思うがどうか。

A. wiiミュージックに関してはその場でダイナミックに曲を作るというよりは決まったレールを選択するタイプに見えます。自由度という点では今回のプロジェクトとは違いがあると思う。ただ個人的にはwiiミュージックは非常に素晴らしいゲームで、ああいうもので楽しんでやれればいいと思います。僕は「自分の曲を作らせてあげたい」という思いがあるので、そういう意味ではwiiミュージックは物足りないと考えています。

Q. 入力のバッファリングが必要だと言う話があったが、それがあるとリズムの補正も出来るようになりそう。16分音符とかにクオンタイズしてくれるような。入力するまで待ってくれる、というのも面白いかもしれない。

A. なるほど、確かにそうですね。ありがとうございます。

Q. 作曲支援ということだったが、最終的にはセッション支援に見えます。いろんなMIDI楽器を1台のPCに接続してセッション、というのがキラーな使用例になるのではないか。電子楽器屋さんも喜びそう。

A. ありがとうございます。おっしゃられる通りで、最初に作ろうと思っていたものとはかなり違うものになってしまいました。はじめはMIDIファイルを書き出すPerlのライブラリを書いていました。初期の段階でJavaで書いた方がいいのではというアドバイスがあり書き直していたのですが、JavaのSound API が素晴らしくそれにのめり込んでしまいました。演奏に介入出来るということがわかって「これだ」という感じになりました。そのため、当初の予定とは違ったものになってしまったのですが、ミッションというかコンセプトを実現するものとしては(結果的に)よかったのかなと思っています。

Q. 補助輪というたとえがありましたが、補助輪だとしたらどこかで外すタイミングが来ると思います。そういう移行の基準等はありますか

A. 難しいですね。。例えば僕は奥さんがピアノを弾くのですが、この補正が聴いたピアノを弾いてもらうとかなり気持ち悪くてストレスがたまるということを言われます。弾いているうちにそういう「もっと自由にきめ細かく弾きたい」という気持ちが出てくるのかなと予想してますがまだわからないです。

Q. 使っていくとたまに奇跡(素晴らしい演奏)がおこると思うんです。そういうのを再現できるといいと思う。

A. なるほど、今のところ出来ないですが、出来たら面白いですね。考えます。

Q. 弾いたときには補正せずに、正しいタッチがsuggestされる、というのでもいいかもしれないですね

A. いいかもしれないですね。実装も簡単そうです。

Q. 全体的に機材にいくらくらいかかってますでしょうか。

全体的に安いものばかりです。全部中古(ヤフオク)で、KORG microKONTROL、フットペダルが各一万円、キーボードスタンドが4000円くらいなので計24000円くらい
だと思います。

本当はPCすら介さずに、MIDI OUT から出てきたものをフィルタしてそのまま MIDI IN に突っ込む、みたいな形で、小さなデバイスをピアノに取り付けるだけで魔法のように誰でも弾けるようになる、ということをしたかったのですが、現在の多くの電子ピアノのMIDI実装上それは難しいようです。そういうことを調べるためにいくらか無駄遣いしました。ちなみに、bozack は楽器がなくてもPCのキーボードでも音が鳴らせます。

僕以外の方の発表内容

この未踏同期メンバーとは8ヶ月くらい一緒に合宿をしたりして過ごしてきたので感慨深いですね。。個人的にはもっとドライな個人作業なのかと思ってましたが、勝屋PM/畑PMの人柄か非常に家族的な感じでした。

始まってから今までの悪戦苦闘が分かっているだけにあまり冷静な評価は出来ないのですが、各プロジェクトの簡単な紹介と、最終発表会を聞きながら思ったことをまことに勝手ながら書かせて頂こうと思います。

人生検索エンジン「ライフリサイクル」

ICレコーダーで会話を記録してjuliusで文字列化し蓄積し、それらのテキストを効果的に検索できるようにするシステム。意味モデル(話題のトピックから外れた意味の言葉を除外する)と、音素列(言葉のサウンドが似ているものを検索する)を使った検索精度の向上が特徴。

プレゼンの中にもありましたが、ヘッドセット(マイク)と録音デバイスがどこまで小型化され日常に溶け込めるかが勝負かもしれません。個人的には会議室の置きマイクで議事録を自動採取するシステムとかが手堅く需要ありそうな気がしました。

質問の中で、「感情でindexingできないか」みたいなものがあって、なるほどなと思いました。音声であることの特性はそういうところにも活かせるかもですね。

情報検索のための学習成長型対話システムの開発

対話によって相手のことを把握し、バックグラウンドで情報を整理し、適切なものをユーザに返す対話システム。結果を大胆に1件に絞り込むパーソナライズドサーチと言えるかもしれません。ユーザのプロファイルはその人のブログやブックマークから特徴語を抽出し、UIにはtwitterを使用する。

裏で大量にcrawlしてきた検索結果からどのように絞り込むかが難しそうだなと思いました。結果が面白いものであればすごく楽でよさそうですね。使ってみたいです。

「創造性」を共有するソーシャルウェブデザインツール

既存のデザインを修正していくこととで簡単に自分のオリジナルデザインを作成することが可能なwebアプリケーション「Originaloid」。画像やHTMLコード、CSSJavascript等を得意な人が持ち寄って、それを組み合わせることで個人の部分的な能力を活かせる。また色彩パターンのレコメンド等もあり、簡単にデザインを作成してシェアし、多くのブログサイトにそのテーマをインポート出来る。

個人的にはかなり注目していて、使いたいと思いました。僕もデザインとか苦手なのですが、人とは差別化したいと思っていて、そういうニーズはかなり強いと思います。文言だと伝わりにくいのですが、jQuery を使った非常に滑らかなUIを持っていて、さながら Dreamweaver online といった感じです。

セキュリティ周りの実装を待って公開されるそうですが、予定通りデザインの共有や継承が実装されたら相当使われそうな気がします。

画像認識に特化した物理シミュレーションエンジンとUIの開発

物理シミュレーションを利用したリアリティにある表現と独自のノイズ耐性の高い画像認識を利用したUIの開発。

物理シミュレーションにより作成された世界の中に自分の手を突っ込んで操作することが出来ます。その空間の中で、物体を突き刺して移動させたり、四隅を引っ張って拡大したりというジェスチャ認識ではない現実的な操作のデモを行っていました。

こちらも非常に実装レベルが高く、まさに未踏、っていう感じのプロジェクトですね。将来ヘッドマウントディスプレイ(もしくは眼鏡一体型)が一般化した際にはこういった仮想空間上でのUIが非常に重要になり、それを先取ったものと言えそうです。

音声認識Webアクセスツール「Puppy」の開発

「ラーメン」としゃべるだけで近くのラーメン屋を検索出来る。iPhone/windows Mobile の端末でクライアントを作成しており、juliusを使った音声認識音声の特徴を抽出し、サーバ側でクエリを処理して クライアントに位置情報を返す。最終的には Google Maps のピンとして表示されるので、違和感無く使えます。

「ライフリサイクル」のプロジェクトでも使われていたjuliusをマルチスレッド化するなどの工夫があり、この辺は本家にfeedbackされるとのことです。いたずらに機能を増やさず地道な改善を続けた点が非常に素晴らしいなと思いました。

一足お先にアドホックでクライアントアプリ「puppy」をもらっちゃいました!

f:id:bonar:20090727234714p:image

こちらのレビューは AppStore に出てからしたいなと思います。ちゃんと動いてます!

終わってみて

月並みですが本当にあっという間でした。僕を含む何人かの方は平日の仕事が終わった後や土日を使用してやられていたので結構しんどかったんじゃないかと予想します。僕は日曜日に終わったとふっと気が抜けて珍しく風邪を引いてしまいました。。

僕が最初に未踏のことを知ったのはPoderosaがきっかけでした。仕事でWindowsの端末を使っていた頃で、TeraTermのカラーとPoderosaが半々くらいの人気だった気がします。

ターミナルエミュレータを軸とした統合環境の開発
http://www.ipa.go.jp/jinzai/esp/2005mito2/gaiyou/10-2.html

Poderosa はちょっと重いけど非常に丁寧にターミナルエミュレーションをしていて、double byte 文字をvimで編集してるときに縦横無尽に new/vnew したりしてもちゃんと乱れず表示出来ていて素晴らしいなと思っていました。

この例以外にも、採択者のリストには今活躍されている偉大なエンジニアの方の名前がたくさん並んでいます。エンジニアとしてそういった方々と並べる程の実力が無いことはわかっています。それでも憧れはあるので、少しでも恥ずかしくないように精進していきたいと思っています。

僕にとってこの期間は本当に life changing で、特に音響工学系の本と論文をかなり読んだ影響で、今まで自分の中になかった大きな興味の方向性が炸裂した気がします。

とりあえずは少しだけ休んで、bozack を再設計してリファクタリングしたいなと思っています。早くも書き直したい病が。。

自分にプレッシャーをかけつつ、自分の作りたい物と向き合う期間を過ごすことが出来ます。未踏2009年下期は現在絶賛公募中です。
http://www.ipa.go.jp/jinzai/mitou/index.html