見出し画像

KONTAKTのスクリプトに四苦八苦した話

先日リリースしたベース音源第五弾『FuruBass-Fretless』ですが早速導入してくださる方々もいらっしゃってありがたいです!
しばらく毎日ベースリフで『FuruBass-Fretless』を使ったフレーズをアップしていくので見ていただけるとより音源のことがわかると思います。

してこの『FuruBass-Fretless』、これまでのフレッテッド(フレットが付いてるベース)とは違い”フレットレスらしい”スライドやらポルタメントやらのアーティキレーションが再現できるかどうかというのが、音源の魅力に直結すると感じていて、その為にはこれまでよりも複雑なスクリプトを組まないといけない訳で、今回はそれにかなり苦戦しました

なのでいかにしてこの難題をクリアしたのかを書いていこうと思います。

KONTAKTのスクリプトとは

そもそもKONTAKTのスクリプトとはサンプラーで有名なKONTAKTで使うプログラムで、それを利用することでUIとかの見た目を決めれたり、エフェクターのON/OFFスイッチを付けたりツマミをつけたり、”この状況の時はこういう動作をする”みたいなプログラムを自由に作成できます。

KONTAKTのスクリプトエディター ここにコードを打ち込んでいく

ただ、このスクリプトのコードがめちゃくちゃ分からないんです。プログラミングを生業にしている方々にはチョチョイのチョイなのかもしれませんが、なんせこちとら音楽しかやってない素人なんでチンプンカンプンです。

ちなみに、スクリプトを組まなくてもKONTAKTにはテンプレート的に打鍵のたびに再生グループが切り替わる”サイクルロビン”やモジュレーションホイールの上げ下げで再生グループをクルスフェードさせたりはできるから、これまではそれらを駆使してました。

これまでのベース音源でもスクリプトは使っているのですがツマミ一つ付けてそれが効くようにするのに調べるとこから始めて何時間も調べるレベルでした。

FuruBass-PB1966 絞るとSustainが短くなるツマミひとつつけるのにめっちゃ苦労した思い出。。

これまでは↑の画像のようにサスティーンを短くできるツマミだったり、2BandEQを搭載するくらいで、数時間コードと睨めっこするだけで済んだけど、今回はやりたいことがいっぱいあって途方もない作業でした。

フレットレスベース音源でやりたかったこと

1,基本は他のFuruBassシリーズの指弾きライブラリと同じ動作をする

・鍵盤を叩くたびに人差し指ピッキングで収録されたグループと中指ピッキングで収録されたグループが切り替わる(サイクルロビン)
・ベロシティ121以上の強さで弾くと全音下からのスライドアップ
・ベロシティの強弱で2〜3段階の長さで変わるグリスダウン&アップ&アップダウン

これまでのFuruBassシリーズの指弾きライブラリと同じ動作にすれば同じmidiで音源を差し替えれば音色の違いでチョイスできるのでそうしてあります。
この辺は前の音源でもやっているから何の問題もなく動作するようにできます

2,モジュレーションホイールをあげるとビブラートの音色に切り替わる

フレットレスといえばビブラートです。LFOで揺らすってのもありますが、実際ビブラートを収録してモジュレーションホイールを上げると切り替わるようにしたい。

3,レガート&ポルタメントの「Legatoモード」

フレットレスといえばレガートとポルタメントも大事。これまでの音源もサスティーンペダルを踏むと「Monoモード」としてレガートモードになる仕様だったけどポルタメントもちゃんとしたい。

4,「Legatoモード」やポルタメント、スライドなどの音が鳴らされた時にそのアーティキレーションを表示させるラベルを付けたい

「Legatoモード」やポルタメント、ロングスライドアップとかの他のシリーズにないアーティキレーションがあるから、今どんな奏法なのかを確認できるラベルがあれば良いなと

大まかにこの4項目がフレットレスベース音源で付けたい機能でした。
FuruBassシリーズの理念としては”簡単に使えていい音”というのがあるのでキースイッチを使わないという条件の上で進めます。
12はこれまでのベース音源制作の流用と応用でできるので問題なさそうだけど、34は明らかにスクリプトをちゃんと組まないといけないやつです。

スクリプトの作成

ポルタメントをさせるにはそれ用のサンプルを収録しなければいけないので、サンプルの録音収録と編集が大変だったけど、まあ音の編集はお手のものですわ。
サンプルも揃い、いざスクリプトのお勉強となるわけだけど、このインターネットの時代といえ、KONTAKTのスクリプトについて教えてくれるサイトはほぼないのです
日本語のサイトなんてホントと極少ないです。しかも今回自分がやりたい事など全然載ってません。海外のサイトならちょろっとあるんで、Google翻訳に頼りながら自分のやりたい事と同じようなものがないか探します。

あまりに迷走してチャットGPTにも聞いたらなんとKONTAKTのスクリプトを教えてくれて、”〇〇の時に●●な動作になるコードを教えて”と聞くとババっと教えてくれます。スバラシイと思って早速KONTAKTにコピペをするとエラーがでまくり使い物になりません(笑)淡い期待でしたが可能性は感じました。AIパネエ。

まあなんやかんやでスクリプトを書き上げたわけですが、もっと効率的なスクリプトがあるのかどうか、詳しい人も周りにいないので答え合わせすらできません。でも95%はやりたい事ができた感じになりました。

ちなみにサンプルの録音&編集する時間に対して、スクリプトを組むのに10倍くらいはかかりました。エラー出まくりのスプリクトを組んでは直し、やっとこさできてもデモフレーズを作ってる時に思ってもいない使いにくさが見つかったり、こうしたいみたいなアイディアも湧いてその都度スクリプトを組み直したりとしたのもありますが。
でも一つ一つうまく動作するたびに換気してました。

ちなみにKONTAKTで自作のライブラリを作る場合、KONTAKTの新しいverで作ると古いverでは読み込めません。なので色んな方が使えるように埃を被ったゴミ箱Macを掘り出してKONTAKT5.8.1で作るのでMacを行き来するのも大変な要素の一つでした。

最終あんなに拒否反応を示していたスクリプトのコードも愛おしく思えるようになりました。

自分で使ってみてレガートとポルタメントが切り替わるタイミングを調整できるツマミがあったほうがいいなと追加されたりしました。

KONTAKTスクリプトに参考にしたもの

実際スクリプトを組むのに参考にしたのは以下です。

こちらの方のYouTubeは自作KONTAKTライブラリのUIにスライダーやノブの付け方などが一通りわかります。ノブにエフェクターやADSRへの割り当てなどがわかります。
やりたい事にドンズバって事はなかったけど応用させるヒントには十分になりました。
ただ動画の解像度のせいでコードが見づらい。。

多分日本で唯一KONTAKTのスクリプト集を作ってくれている方。このスクリプト集がめちゃくちゃ役に立ちました。マジで感謝を伝えたい。
今回都合でサイクルロビンをスクリプトで組まないといけなかったのと、レガート奏法の時にグループの切り替えの方法はドンピシャで使えました。
また、”自動オルタネイトピッキング”という項目はノートの刻む速さでオルタネトかかダウンピッキングのみになるコードですが、次のノートまでの速さでレガートかポルタメントに切り替わる動作に応用できたりと
一見やりたかったこととは無関係そうな項目も自分のやりたかった事とのヒントになる事が多かったです。
このスクリプト集を買ってなかったら到底完成しなかったと思います。

https://www.native-instruments.com/fileadmin/ni_media/downloads/manuals/kontakt/KONTAKT_602_KSP_Reference_Manual.pdf?srsltid=AfmBOoqfRWvnGRHwyjINZKl59BHel09kiKYS71-apfsvKLcutgAfgDf0

して公式のマニュアル。エラーが出た時の正しい書式とかはやっぱこちらです。

最後に

そんなわけでKONTAKTのスクリプトにめちゃくちゃ苦労したって話でした。
完全に専門外のことで脳汁垂れ流してやってましたが、苦労した分今回のフレットレスベース音源は現在一番のお気に入りです。

やりたいことのアイディアを出し、そう動作するようなスクリプトを組んで動作確認の繰り返しで、スクリプトを組むのにうまく行かなすぎるし、やっと完成してもめっちゃ打ち込みで使いにくかったりと何度も没にしようと思いましたが、
何とか無事にリリースを迎えました。

スプリクトに関して今回で結構理解したことが多いのだけど、多分ベース音源はしばらく作らないからきっと全部忘れてしまうのだろうと、ちょっと勿体無さも感じてます。

にしても何でも息抜きって大事ですね。
今回うまく行かなくて頭パンパンになった時にサウナにエスケープしたのですが、寝湯で整い中に音源の動作のアイディアが浮かんできてそれによってかなり前進しました。

結果全然いかに難題をクリアしたかの方法は書いてないですね(笑)

ほとんどの人が一体何の記事なのか?というnoteですが、きっと自分のようにKONTAKTスクリプト難民がググってたどり着く記事だろうと思うので、そんな方の一つのヒントになれば幸いです。

お知らせ

自作ベース音源作りました。
現在のラインナップは以下です。

・ジャズベース版(指弾き、ピック弾き&スラップ!)
・プレシジョンベース版(ミュート機能、サスティーンコントロール付き)
・アクティブベース版(指弾き、スラップ、5弦音域対応)
・フレットレスベース版(Legatoモード、ポルタメント、ビブラート機能)

多くの人に導入していただいて嬉しい限りです。誰かの制作の力になれたら幸いです。

販売ページ↓

ベース音源制作note↓

いいなと思ったら応援しよう!