ちょっと前に発売されたコルグのシンセサイザー「NTS-1」を買ってみました。
これ説明が難しいのですが、「シンセサイザーの開発用ボードに簡易的なコントローラを組み合わせたもの」とでも言えばいいのでしょうか。音声入力端子もあるので、デジタルエフェクタとして使うこともできます。
以前、コルグは安価なアナログシンセ「monotron」の回路図を公開して話題になったことがあります。改造したい人向けに公開したということでしたが、このときは製品自体は完成品でした。
また、同じくアナログシンセの「MS-20」の組み立てキットを販売していたこともありました。でもこれ、あくまで完成したものは普通にシンセサイザーとして使う前提だったのですね。
ですが、今回のNTS-1は、一応単体としても使えるけれど、改造して使うとか、これ自体を他のものと組み合わせて、何かを作るためのモジュールみたいな感じです。
組み立て
紙箱にボードやネジや金具とQRコードが印刷された紙が入っていますので、QRコードのリンク先のビデオを見ながら自分で組み立てます。
組み立てはほぼネジ止めだけで、難しいことはありません。
キーボードはリボンケーブルでコネクタに接続するのですが、1つ目の写真のようにコネクタがロックされているときは、2つ目の写真のようにプラスチック部分をずらしてから接続します。
ボードは音源部とコントローラ部に分かれていて、7ピンのピンヘッダ×2で連結するようになっています。
音源部のMCUはSTM32F446ZET6です。フラッシュ512K、SRAM128Kのチップです。また、外付けで64MbitのDRAMも接続されています。
DACとしてAKM4384、ADCとしてAKM5358、ヘッドホンアンプとしてTPA6133、オーディオ入力のオペアンプとしてNJM2746が載っており、音質面もちゃんとしています。
また、ボードの下方には5端子、右方に6端子のランドが見えます。5端子はST-Link(VDD,SWCLK,GND,SWDIO,NRST)、6端子はJTAG(TMS,TDI,TDO,TCK,GND,VDD)かもしれません。
コントローラ部もMCUはSTM32で、ちょうどマジックで塗りつぶされていて型番が分かりませんが、STM32FXXXR8T6です。あとで紹介するカスタムコントローラのリファレンスボードではSTM32F030が使われていますので、同じものかもしれません。ボードの左方にはST-Link用のランドがあります。
SDK
NTS-1は開発ボードでもあるのでSDKがGitHubで公開されています。
SDKを使うとオシレータやエフェクトを自分で開発することができます。
SDKをダウンロードしてサンプルをビルドする手順が以下で開設されています。ちなみにMCUがSTM32なので、toolchainはARM Cortex-M用gccが使われています。
私はVMPlayer上のUbuntu 16.04で問題なくビルドできました。
ビルドしたもののNTS-1への転送はUSB経由で行えます。MIDI SysExを使った転送のようで、MIDI INとMIDI OUTの両方を指定する必要があります。
$ ./logue-cli probe
Error: Could not find matching logue MIDI ports.
Logue interface connection failed.
Available MIDI inputs:
in 0: Midi Through:Midi Through Port-0 14:0
in 1: Ensoniq AudioPCI:ES1371 16:0
in 2: NTS-1 digital kit:NTS-1 digital kit MIDI 1 20:0
Available MIDI ouputs:
out 0: Midi Through:Midi Through Port-0 14:0
out 1: Ensoniq AudioPCI:ES1371 16:0
out 2: NTS-1 digital kit:NTS-1 digital kit MIDI 1 20:0
$ ./logue-cli load -u ../../../platform/nutekt-digital/demos/waves/waves.ntkdigunit -s 1 -i 2 -o 2
> Parsing nutekt digital unit archive
> Parsing manifest
> Parsing unit binary payload
> Handshaking...
> Target platform: "nutekt digital"
> Target module: "Oscillator"
size: c84 crc32: ae821cd5
$
このサンプルのオシレータ「WAVES」は、もともとNTS-1のスロット0に書き込まれているものと同じものらしく、転送してもスロット1とスロット0に同じものが入るだけです。
デモのディレクトリにあるmanifest.json
の中の"name" : "waves",
というところを書き換えると、別の名前にすることができるので、ちゃんと書き込まれたことを確認できます。
カスタムコントローラボード
音源を制御するコントローラボードも、独自のものを作ることができるようです。
これまで、シンセサイザを制御するというとMIDIやCV/Gateなどの演奏用信号を使うのが普通でしたが、コントローラボードを自作すればMIDIに依らない制御ができることになります。また、1つのコントローラボードで複数台のNTS-1を制御すれば、ポリフォニックシンセを作ることもできそうです。
ArduinoおよびMorpho(STM32 Nucleoシリーズの拡張ポート)互換のコネクタを持つ、カスタムコントローラのリファレンス基板が下記のページで公開されています。また、このカスタムコントローラをArduinoで開発するためのライブラリも提供されています。
基板のガーバーデータやBOMリストが用意されているので、自分で発注して組み立てて下さいということのようです。
このコントローラボードは、要するにNTS-1との接続用コネクタを備えた、Arduinoで開発できるSTM32F030ベースのボードです。Arduino用ライブラリのソースを眺めてみると、音源基板との通信はSPIで行うようです。
また、回路図を見ると、音源基板のコネクタの接続図が載っています。
ただ、カスタムコントローラを使うためには音源基板側のファームウェアもアップデートが必要で、ファームウェアの公開は2月末を予定しているそうです。
SPI経由での音源基板との通信部分を移植すれば、普通のArduinoボード等でも音源を制御できそうですね。
コメント