以前、パブリックドメインのリバーブであるFreeverbをlogue SDKを使って移植しましたが、先日、ドイツの方から「drumlogueに移植できますか?」というお問い合わせがあったので、やってみました。また、NTS-3にも移植していなかったのでついでに移植しました。
こちらがFreeverbをlogue SDKに最初に移植したときの記事です。NTS-1では動作しましたが、minilogue xdやprologueでは若干プロセッシングパワーが不足しており、他のエフェクタと共存させないほうがいい感じでした。その後、NTS-1 mkIIにも移植しましたが、こちらは処理能力は問題ありませんでした。
drumlogueへの移植では、
・RAMの心配をしなくていい(最大32MBも使える)
・CPUがパワフルなので演算量の心配をしなくていい
・パラメータが24個使える
といった利点があり、オリジナルのVST用のFreeverbのコードをほぼそのまま(UI部分の修正だけで)動かすことができます。ちなみに、logue SDKのAPIはVST SDK2のAPIと非常に似せて作られていますので、drumlogueは全logueシリーズの中で最もVSTからの移植がしやすい機種だと思います。
オリジナルのFreeverbには、以下の6つのパラメータがありました。
・Roomsize(遅延時間)
・Damp(減衰)
・Width(広がり感)
・Freeze(残響音の変化を止める)
・Wet(残響音)
・Dry(入力音)
最初のlogue SDK版では利用できるパラメータ数の制約から、このうちRoomsize、Damp、Wet/Dryの3つのパラメータに絞っていましたが、drumlogueでは、WetとDryを除いた(リバーブはセンド・リターン型のエフェクトとなっているため)4つのパラメータを実装しています。
ご要望があったので、drumlogueにFreeverbを移植しました。 pic.twitter.com/cTMbKerEei
— boochowp (@boochowp) September 7, 2024
drumlogue版のコードは、専用のブランチを作ってあります。バイナリはリリースページにあります。
次にNTS-3 kaoss pad版ですが、こちらは
・NTS-1 mkIIと同様、メモリ確保の問題があるので、NTS-1 mkII版をベースにする
・パラメータを8個利用でき、かつインサート型のエフェクトとなるため、6つのパラメータ全てを実装する
という方針で移植しています。NTS-3とほぼ同じSDKを使うNTS-1 mkIIで動作済みなので、こちらもあまり手間はかかりませんでした。
こちらは要望されていませんが、ついでにNTS-3にもFreeverbを移植しました。 pic.twitter.com/ItcN3WvGnd
— boochowp (@boochowp) September 7, 2024
コードは同じリポジトリの別ブランチに置いてあります。バイナリは同じくリリースページにあります。
なお、この移植の過程で、バグを2件見つけました。
1つ目はNTS-1 mkIIおよびNTS-3におけるパラメータの小数表示に関するもので、二進モード、十進モードともに表示がおかしいです。本来は、パラメータの実際の値を\(n\)、ヘッダファイルにおけるfracパラメータの数値を\(k\)とすると、ディスプレイの表示は
二進モード: \(n / 2^k \)
十進モード: \(n / 10k \)
となるはずなのですが、そうなっていません。二進モードの表示は\(k>3\)のときおかしいのですが、ちょっとロジックがよく分かりませんし、十進モードは\(n / 10^k \)が表示されます。
2つ目は、NTS-1 mkIIに関するものです。NTS-1 mkIIへの移植版は、NTS-1版をベースにしていたため、パラメータが3つになっていたのですが、これをNTS-3と同様に6つに拡大しようとしたところ、4番目以降のパラメータの変更がAPI側に通知されないことが分かりました。
以前、mod fxとrev fxについて、追加パラメータ(メニューから設定する、4番目以降のパラメータ)が表示されないというバグがあり、これはFirmware V1.2で修正されたのですが、今度はこのパラメータの変更がAPIから通知されないという問題が(mod fxは問題なく、rev fxのみ)起きていると思われます。【2024/9/12追記:Firmware v1.3で修正済みです。また、NTS-1 mkII版Freeverbに、上記NTS-3版と同じパラメータを持たせました。コードとバイナリは同じGitHubリポジトリに置いてあります。】
以上の2件はlogue SDKのIssuesにポストしてあります。
コメント