年度末ということもあり、最近はあまり時間が取れないのですが、引き続きlogue SDK用のhvcc外部ジェネレータを少しずつ更新しています。
前回書いた、ウエーブテーブルのサポートですが、NTS-1 mkIIで問題なく動いたので、logue SDK v1系のデバイス(NTS-1/prologue/minilogue xd)にも拡張しました。
これは3つのウエーブテーブルをミックスするパッチを動かしているところです。
初代NTS-1用のPure Data→ユーザユニット変換を拡張して、Drumlogue用に導入したPCMのサポートの簡略化版を実装してウエーブテーブルをサポートしました。Logue SDKのウエーブテーブルをPure Dataのテーブルにコピーできます。これはデフォルトのユニットのwavesの簡易版をPure Dataで作ったもの。 pic.twitter.com/qUlQhgdXU9
— boochowp (@boochowp) March 29, 2026
元のPure Dataパッチはこちら。右上あたりで3つのテーブルを作成しています。テーブルのサイズが131なのは、補間機能を使うためです。(実データの直前に1つ、直後に2つのサンプルが必要。)あとはそれを[phasor~]で読みだしてミックスしているだけです。

logue SDKデバイスに標準で付属するオシレータユニット「waves」とほぼ同じ構成ですが、「waves」はビットクラッシャーとリングモジュレータも搭載されています。
1つのウエーブテーブルを鳴らすだけの最小限のパッチをコンパイルした場合、ユニットサイズは23.6KB程度、上のパッチをコンパイルすると28.5KBくらいです。上限の32KBまではまだ若干の余裕があります。なお、prologueでも動作確認できています。minilogue xdも多分大丈夫でしょう。
動かしてみるまでは、「テーブル1つに128×4バイトが必要になるので、32KBの制限の中でこの機能を実装するのは実用的ではないのではないか」という懸念もありました。しかし、むしろ32KBの制限の中でPure Dataだけでこのような多彩な音色を作るほうが難しく、その意味ではそこそこ実用性があるものになったと思っています。
ちなみにlogue SDKのウエーブテーブルはboards of canadaっぽい音が作れるので、個人的には結構好きです。

コメント