SAART完成

ということで隠密理に?作っていたアプリが完成しました。

リアルタイムで周波数変換しながら音楽を再生するアプリなのですが、裏ではいろんな苦労がありました。

1)フーリエ変換

FFTの理屈はわかっていましたが、リアルタイムで出来るのかというのが一番の問題でした。結論から言うと全然楽勝でした。現時点では4096 点のFFTにしていますが、8192くらいは余裕だと思われます。

2)音楽の読み込み

iOS5からiPhoneの標準ライブラリでiTunesの音楽を読めるようになったのがブレイクスルーとなりました。しかしいろんな制限がきつく、いまのところ早送り・巻き戻し機能はつけていません。中学生の頃からOS-9/6809の本を読んだりしていたのでセマフォなどの同期機構の知識はあったのですが、今回自分の中では初めて音楽読み込みルーチンと再生ルーチンを同時に走らせて同期をとるようにしました。他の部分でもGrand Central Dispatch使いまくりです。途中でやりすぎてバグを作りこんでしまったこともありましたが解決しているかな?

3)クラウド

データ収集のためにサーバーを用意するところですが、どれくらいのユーザーを相手にするのか不明ですので無料ではじめられるGoogleAppEngineをつかいました。自分にはPythonの方が合っていると思いつつ、参考書が手に入るという理由でJavaでサーバーサイドのプログラムを作っています。一部でjavaScriptのプログラムを書かねばならなくなり、いろいろ勉強にはなりました。

ということでプログラムは完成してしまったのでいまから何をしようか困っています。HenPitsuのiPad版でもつくろうかな?