ハモンド+レスリVSTに向けての考察 その2
(VSTとVSTiは基本同じなんだが)VSTiの作り方のコツ、演奏情報イベントに対するキメ細かい処理について充分理解しているとは言えない状況なので、SDK(v.2.4)の仕様の調査と研究とVSTiプラグインの独自試作をやっている現在。
2012-08-28 17:06:01付属サンプルのvstxsynthがどんくらい参考にならんかというと、例えばDAWのマスタピッチを変更しても音程が全く変わらんのよ。具体的にはA=442[Hz]にしたくても出来んのだ。
2012-08-28 17:34:40どうやってそのマスタピッチ変更のイベントを拾うのかすら判らんくらい、俺はVSTiが判ってない程度だ現在。
2012-08-28 17:36:08@Masa_Takahashi 何故「参考にしちゃいかん」のかというと明らかなバグがあって、all note off (BxH,7BH) の扱いは正しいが、all sound off (BxH,78H) が、BxH,7EHになっている。このコード書いた輩は乱視か?
2012-08-29 19:49:02話を戻すが、他にも書ききれんくらい問題があって、何であんなサンプルプログラムをSteinberg Media TechnologiesがSDKに付けたのか理解に苦しむ。VSTiプログラマを育成する気がないんじゃろか。
2012-08-30 14:45:58それはそれとして、1960年代あたりの加工精度の怪しいトーンホイールを(仮想的に)作って回して音にしている現在。ほど良く低い方に倍音を伸ばすのがポイントかもしれん。
2012-08-30 15:08:33トーンジェネレイタ部分のみ試作してみたが、全音ポリ発音管理+発音そのものの処理が重い過ぎる。どうも作りが悪いのでアルゴリズムを練り直す、これから。
2012-08-31 09:45:25シンクロナスモータを使っていることから電源周波数のブレがピッチ(音程)に影響するんだが、そこまでは考慮しない。
2012-08-31 12:01:08トーンジェネレイタのフィジカルな動作を正確に再現しようとすると、結構面倒てか巧くアルゴリズムを整理する必要があるんだが、ノーアイデア現在。
2012-08-31 13:50:13根元のシンクロナスモータの回転位置から12音階分のホイール回転位置を各々計算し、個別に作った波形テーブルをピックアップ(てかルックアップというか)する方法が理に適っているが、それだと計算機科学的に無理があって時間が経つにつれて微妙に変になる。(続く)
2012-08-31 15:37:36そこで音階毎にホイールを仮想的に(1サンプル周期単位で)常時回転させる方法で問題回避してるんだが、そこんとこから既に重いぞ、おい。
2012-08-31 15:38:27ドローバ合成&フォールドバックも正確に再現する都合上、現状、同じ波形テーブルを複数回参照する処理になってるんだが、これも効率悪いぞ、おい。
2012-08-31 15:42:29トーンホイール91枚の内、低音用12枚はともかく、フォールドバックに絡んで上7枚の扱いが特殊なんでソースがえらく汚くなっている現在。
2012-09-01 12:55:39B3クローン+αなんだけど。http://t.co/1Ij8YA7r デモ曲、クリックノイズが揃ってて(発音毎に微妙に異ならないと)ウソっぽい。こういう単純なサンプリングは聴いてすぐバレる。
2012-09-01 18:33:00本物のクリックノイズ(多列接点で生み出される接触ノイズ)はこんな感じ。http://t.co/w0wVmFZK
2012-09-01 18:55:20