NTS-1での開発がなかなか面白いので、オシレータをポリフォニックで鳴らしてみたくなり、minilogue xd moduleを買ってしまいました。
キーボードはついていませんが、シーケンサー用の16個のLED付きボタンがキーボードの代わりにもなるというなかなか楽しい仕様です。
早速自作のオシレータやエフェクタを移植してみましたが、いくつか気が付いた点があったのでメモしておきます。
ShapeへのLFOのかかり方が違う
一番困ったのはこれですね。NTS-1では、Shapeパラメータに対するLFOが0.0~1.0の範囲で振動するのですが、minilogue xdではどうも-1.0~1.0の範囲で振動するようです。
矩形波のShapeパラメータ(PWM)に対して100%でLFOをかけた場合の波形の変化です。
上がNTS-1、下がminilogueです。
NTS-1のデューティ比は0%~50%の範囲で変動しているのに対して、minilogueでは0%~100%の範囲で変動しています。
両者で同じ挙動をさせようとするとコードを変えなければならなくなるので困ります。
バッファの初期値が違う
NTS-1では、ディレイ等の出力側のバッファには、入力のデータが最初からコピーされていたので、そういう仕様なのかなと思っていたらそうではないようです。
minilogue xdでは自分で入力データを出力側へコピーしないと動きません。
本体のファームウェア更新が必要
最近のAPIでビルドしたモジュールは古いファームウェアで動作しませんので、本体のファームウェアをアップデートしておく必要があります。
できたモジュールの拡張子が違う
NTS-1: .ntkdigunit
minilogue xd: .mnlgxdunit
デフォルトのMakefileで決めているのでお任せで済みます。
コンパイルオプションの違いはほぼなし(現時点では)
NTS-1はSTM32F446ですが、minilogue xdはSTM32F405です。そのため、コンパイルオプションは
NTS-1:
DADEFS = -DSTM32F446xE -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4
DDEFS = -DSTM32F446xE -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4 -D__FPU_PRESENT
minilogue xd:
DADEFS = -DSTM32F401xC -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4
DDEFS = -DSTM32F401xC -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4 -D__FPU_PRESENT
というように-Dディレクティブで型番を与えています。
が、逆に言えば違いはそこだけで、与えた型番も現時点ではライブラリの中では使われていないようです。
リンカスクリプトやシンボルのアドレステーブルの内容も含めて全てNTS-1とminilogue xdで共通です。
manifest.jsonのplatformは直す
NTS-1では
"platform" : "nutekt-digital",
minilogue xdでは
"platform" : "minilogue-xd",
です。
これが違っているとライブラリアンでのminilogueへの転送で弾かれます。
パラメータ変更のUIの違い
minilogue xdはOLEDディスプレイがあり、NTS-1の4文字と比べてパラメータ名が見やすいです。
一方、NTS-1にあったAltノブは無く、Shiftキーを押しながらShapeノブを回さなければなりません。片手で簡単にアクセスできるのは実質的にShapeパラメータのみです。
6つあるオシレータのパラメータは、
EDIT MODE→10番キー
でパラメータを選び(キーを押すたびに次のパラメータを選択)、VALUEノブで値を設定します。
カスタムのディレイとカスタムのリバーブは排他
どちらか最後に選択したほうが使われます。
だいたいこんなところですが、あらためてNTS-1のコスパはなかなか高いと思いした。
minilogue xdにはない音声入力がついていますし、音質面でも特に劣化する部分は無いようです。
コメント