« 2007年6月 | トップページ

2007年7月22日 (日)

小さくても安心

ASIOというオーディオインターフェイスのAPI規格は、レイテンシが少ないというメリットがあるため、音楽用のソフトや、オーディオカードは軒並み対応しています。
で、レイテンシが少ないのは明らかにメリットなので、多少扱いが面倒でもASIOは使ったほうがいいわけです。

で、僕のアプリもASIOに対応しました。ASIOは規格に曖昧な部分が多くて、色々とトラブルがあるらしいのですが、少なくとも自分のオーディオインターフェイスでは動きます。

で、これはとりあえず解決したとしましょう。

で、もっと本質的な問題として、レイテンシが小さいことが挙げられます。
そもそもの目的としていた性質が問題となるのです。
なぜ問題なのかというと、レイテンシが小さいということは、言い換えると時間的なバッファが少ない。
1000サンプルに1回、重い重い処理をするというようなことをしていたとして、仮にバッファサイズが300サンプルの場合、重い重い処理でも1000サンプルに1回なら中和できるだろうという目論みは外れて、300サンプルで中和しないと、そのバッファの処理で音切れが発生してしまうわけです。
なので、思い思い処理を大きな時間粒度でドカンとやるわけにはいかず、もっと細かいタイミングで、五月雨式に実行してやる必要があります。

で、メモリの消費量を増やして、ダブルバッファリングというのをやるのがベターかと思いました。
「聴かせない」メモリ上で、必要なデータが揃っている処理ブロックについては、五月雨式なタイミングで実行して、全てのデータが揃った時点で、「聴かせる」メモリと、「聴かせない」メモリへのポインタをスワップします。

そんな感じでConvolverの実装を作り変えて見たいと思います。

| | コメント (0) | トラックバック (0)

2007年7月12日 (木)

ありゃ。。

きづいたら1ヶ月近く更新してない。。
mixiで駄文ばかりかいているせいで、この有様だ。。

6末で前の現場をオサラバして、今は家でゴロゴロしつつ未踏の作業なんかもやっている。そんな感じだ。
ASIOへの対応が一応終わって、今はプリセット機能のコーディング。
プリセットはDLLにしてプラグインのように追加できるようにする。これも今週中にはできるだろう。
残るはプリセットそのものを充実させること
少し余裕も出てきそうな感じがするので、8月の最終発表にむけて曲らしきものも作ってみるつもりだ。

| | コメント (0) | トラックバック (0)

« 2007年6月 | トップページ