17
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

KORG NTS-1をSonic Piから鳴らす

Posted at

この記事はリンク情報システムの2020新春アドベントカレンダー Tech Connectのリレー記事です。
engineer.hanzomon のグループメンバによってリレーされます。
(リンク情報システムのFacebookはこちらから)

2020新春アドベントカレンダー Tech Connect インデックスはこちら

環境

・Windows 10 Home 64bit
・Sonic Pi v3.1.0
・KORG NTS-1

KORG NTS-1について

Nu:Tekt NTS-1 digital KIT

2019年の11月末に発売された、はんだ付けしなくても組み立てが可能なコンパクトDIYシンセサイザーです。
組み立ては公式の動画を"ちゃんと"見ながらやれば10分程度で完成します。

発売当時はどの店も品切れで諦めていましたが、最近は供給が追い付いたようで元旦にGET出来ました。

Sonic Piについて

Sonic PiはRubyで書いてすぐに音を鳴らせる楽しいやつです。
インストールするだけですぐ音を出せます。簡単!

Raspbianにプリインストールされているのでラズパイユーザーは見たことあるんではないでしょうか。
筆者も見たことだけはありました。使うのは初めてです。

ポートの指定とMIDI送信

NTS-1をPCにUSB接続するとNTS-1がMIDIデバイスとして認識されます。
Sonic PiのQueにはデバイス名が"nts-1_digital_kit"と出ています。
image.png

とりあえず音を出してみます。
MIDI送信先のポートは"nts-1_digital_kit"です。

note_on
use_real_time
# ドの音を出す
midi_note_on :c5, port: "nts-1_digital_kit"
sleep 1
# 音を止める
midi_all_notes_off port: "nts-1_digital_kit"

alt + rで実行します。

そしてハマる

midi_note_onで即!音が出たのは良かったのですが、
midi_all_notes_offで音が止まりませんでした。
ブーーーーーーーーーーーーーーーーーーー
どうして(現場猫)

この状態でNTS-1のARPボタンを押したら音が止まりました。
やったか?

......今度はNTS-1から音が出なくなりました。
NTS-1を再起動したら音は出ましたが、やっぱり一度midi_note_onするとoffに出来ません。

Sonic Piを触ったのが初めてなのでやり方が間違っているという可能性が非常に高いのですが、
他のシンセサイザーで試してみたところ、midi_all_notes_offで音は止まります。

いちいち再起動するのは嫌です。多少強引でもとりあえず音を止めたい!

解決方法(?)

# MIDIクロックチックを送信する
midi_clock_tick

これをSonic Piの別Bufferに書いておいて、
NTS-1の音が止まらなくなった場合にポチポチ実行したら音が止まりました。ヨシ!
いやいや、パニックボタンじゃあないんだよ。。

NTS-1のARPボタンで強制的に音を止めた場合と違い、とりあえず再起動しなくても音を出せる状態になりました。
でも、上手くいかないときはあります。ときにはSonic Piの具合が悪くなってしまうことも......

結局、NTS-1をPCとUSB接続するよりも、NTS-1のMIDI INにケーブル挿したほうが安定していました。
が、筆者の場合は手持ちのオーディオI/FにMIDI OUTがありません。

なので
手持ちのOP-ZとPCをUSB接続 → OP-ZのMIDI OUT(oplab module)からNTS-1のMIDI INへ......

NTS-1の隣にあるのがOP-Zです。これも楽しいガジェット!

簡単なパターンとループの作成

単音出すだけではイマイチ楽しくありません。
パターンとループを用意します。

まずはパターン
適当に音を散らします。
ringを使って鳴らす音階のリストを3パターン用意
(c:ド d:レ e:ミ f:ファ g:ソ a:ラ b:シ です。 数字はオクターブ変更用です。)

notes =  (ring :b3, :b4, :e3, :e4, :b3, :e4)
#notes =  (ring :c3, :c4, :d3, :d4, :f3, :c4)
#notes =  (ring :a3, :d4, :e3, :f4, :g3, :c4)

次にlive_loopでぐるぐる回します。
MIDIの送信先ポートやチャンネルは環境によって異なります。

live_loop :nts do
  use_real_time
  midi (notes).tick, vel: 127 ,sustain: 0.1, port:"op-z" ,channel: 1
  sleep 0.125
end

ライブ!

演奏のショートカット
alt + rで実行
alt + sで停止

演奏中に3パターンのnotes君をアンコメント/コメントアウトでパターンを切り替えます。

パターン切り替えたらalt + r
パターン切り替えたらalt + r



という感じでリアルタイムに変化をつけます。
切り替え方法は様々なので自分がやりやすい方法が良いです。

Sonic Piでパターンを切り替えながらNTS-1本体のノブをぐりぐりして遊びます。
Sonic Piでsustainの値を変えたり、sleepの時間を変えたりしても変化を楽しめますね。

やってることはちっちゃいですが、これだけでも無限に遊べます。

↓動画です。手の動きがもたもたしている......

あとがき

KORG NTS-1はKORGが公開しているlogue SDKでカスタムオシレーターやカスタムエフェクトを自作出来ます。強い!

世界中の人たちが作ったカスタムコンテンツは有償・無償様々で、

logue SDK Custom Content Sound Librarianを使えば簡単に取り込めます。

NTS-1を買ったからには今回はカスタムオシレーター開発に関する記事と考えていましたが、
思い描いたものを作るのはなかなか難しいです。
もう少し勉強してから書きます......

おしまい


リンク情報システム株式会社では一緒に働く仲間を随時募集しています!
また、お仕事のご依頼、ビジネスパートナー様も募集しております。お気軽にご連絡ください。

17
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?