プログラムが開発できるシンセサイザー KORG Nu:Tekt NTS-1


ちょっと前に発売されたコルグのシンセサイザー「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が使われています。

logue SDK | logue SDK とは

私は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で開発するためのライブラリも提供されています。

NTS-1 Customizations

基板のガーバーデータやBOMリストが用意されているので、自分で発注して組み立てて下さいということのようです。

このコントローラボードは、要するにNTS-1との接続用コネクタを備えた、Arduinoで開発できるSTM32F030ベースのボードです。Arduino用ライブラリのソースを眺めてみると、音源基板との通信はSPIで行うようです。
また、回路図を見ると、音源基板のコネクタの接続図が載っています。



ただ、カスタムコントローラを使うためには音源基板側のファームウェアもアップデートが必要で、ファームウェアの公開は2月末を予定しているそうです。

SPI経由での音源基板との通信部分を移植すれば、普通のArduinoボード等でも音源を制御できそうですね。

コメント