高いのね(09/05/09)

まだ未整理音源の整理が終わっていないにも関わらず、新規音源の収集にも手を出してしまった(いやほら、音源集めるのってそれ自体楽しいし)。

で、弦楽器系のVSTiを漁っていて見つけたのがCutterMusicのRevitar 2.0というプラグイン。ギター音源なのだが、アルペジエーター(というかストロークのシミュレーター)を内蔵していて、コードフォームとフレットの平行移動を入力してやるとコード弾きできる(もちろん単音弾きも可能)。物理モデリングのようで、お約束のピック&ピックアップ位置からボディ形状やピックの形やパームミュートの具合まで、これでもかというくらい細かく設定できる。

初心者がサクっと「それなりにギターっぽい」音を出すのにもよさそうだし、オモチャとしてもイジりがいがありそうで、なかなかいい発想である。しかも6.9ドルと格安で「これは画期的だ、買っちゃおう」と思いもう一度確認したら実は69ドルの見間違いという悲しいオチが待っていた。よくできているとはいえ、筆者の場合打ち込みギターに69ドルは出ない。悔しいので、これって6.9ドルにしたら今の倍10以上売れたりしないのかなぁ、と勝手なことを言ってみる。


発想と応用と熟練(09/05/10)

このところずっと、アレンジやら打ち込みやらデモ録りやらミックスのデモやらをやっているわけだが、やればやるほど「発想と応用と熟練」のバランスが大切であることを実感する。

ようするに「こんな音はどうだろう」と発想できなくては始まらないし、発想できても「どうすればその音を出せるか」を探り当てられなければ絵に描いた餅だし、実際に音を出すところまで進んでも「いい音」を出す技術がなくては意味がない。

もちろん、何も考えずに手クセだけで名曲を作れてしまう熟練オンリーの人や、思いつきだけで押し切れてしまう発想オンリーの人もいないではないが、それができるのは、凡人とは「次元が違う」レベルまで達したごく一部の例外的な人たちだけである。

最初に挙げた3つはどれも「ボトルネック」になり得るものだが、同時に、相互に連携させる意識を持つことで制作の手助けにもなる。「こんな音が欲しい」「こんなことをやってみよう」「こんな音が出せた」どこから出発してもよいのが、音楽の面白いところだと思う。


FFTしないIRフィルタ(09/05/11)

TTFを使わずひたすら掛け算と足し算を繰り返すIRフィルタは実用可能なんだろうか、という与太話。

面倒なのでIRファイルと加工対象ファイルはともに32bit(float)/48KHzだとする。IRサンプルを読み込んで各サンプルを0dbFSの音圧で除算、音圧比を求める。加工対象の最初の1サンプルを読んで、IRファイルの各音圧比に乗算し、最初の1サンプルをファイルに書き出して残りをメモリに入れる。これで1工程。以後、加工対象サンプルを読んでは掛け算してメモリの波形と足し算、最初の1サンプルをファイルに書き出して残りを次で使う工程を繰り返す。

これだと、全体の工程数は加工対象ファイルのサンプル数で決まる。1工程の計算量は、掛け算と足し算の回数がIRファイルのサンプル数で決まり、浮動小数点数の加減乗除算コストはほぼ同じ(除算が微妙にハイコストだが、回数的に誤差の範囲)。ということで全体の計算量=加工対象ファイルのサンプル数にIRファイルのサンプル数をかけた回数の2倍の演算回数だとドンブリ勘定する。メモリの読み書きはどうせボトルネックにはなるまい。

たとえば加工対象ファイルが5分=300秒=14,400,000サンプルでIRファイルが5秒=240,000サンプルだった場合の計算量は、約7兆回になる。10GFLOPS(10億演算/秒)の計算資源を使ったとして7000秒、2時間くらいかかかる計算。現在民生品のCPUはハイエンドでも50GFLOPSくらいだから、CPUでの計算はちょっと厳しい。GPU(結局行列演算になるのでこちらの方が速い)なら、現在民生品のハイエンドであるRadeonHD4870が1TFLOPSを超えるそうだから、半分占有できれば14秒で終わる。複数のIRファイルに通したい場合、前もって片方のIRファイルをもう片方のIRファイルに通しておけばよいので、処理時間は(IRファイルの長さが同じなら)ファイル数に比例して長くなる(=線形オーダー:ファイルの最後にある音圧の絶対値が非常に小さい部分を捨てればもう少し速い)。

GPGPU(というか、演算の丸投げを引き受けてGPUに計算させて送り返すライブラリ)が普及したら普通にできちゃいそうだなぁ。



もどる / 音楽メモの目次にもどる

自滅への道トップページ