FL StudioでMaschine MK3をMIDIコントローラーとして使う方法。便利なスクリプトが公開されていたので使わせていただいた。

インストール方法

  1. Aftalyfe/MaschineMK3FLStudioScript: A script to use Maschine MK3 in FL Studioのファイル一式をダウンロードする
  2. Maschineを立ち上げる
  3. Native InstrumentsのControll Editorアプリを起動し、右側にあるメニューのOpenを指定してControll Editor Templateディレクトリ配下の”FL Studio.ncm3”を読み込み、アプリを終了する。
  4. ホームディレクトリ配下のDocuments/Image-Line/FL Studio/Settings/Hardware配下へMaschineMK3などの任意のディレクトリを作成しScript Filesにある2つのファイルをコピーする。
  5. FL Studioを起動しOptions > MIDI Settingsを開き、Maschine MK3のcontroller typeを”Machine MK3”にして、InputでOutputで同じポート番号を設定する。

Image from Gyazo

Image from Gyazo

Maschine MK3 MIDIコントローラ設定

MAIN SECTION

  • CHANNEL(MIDI)
    • Channel Rackを開閉し、ボタンのLEDはChannel Rackが現在表示されているかどうかを示します。
  • PLUG-IN Instance
    • 現在選択されているチャンネルのエディターウィンドウを開閉します。
  • ARRANGER
    • Playlistウィンドウを開閉し、ボタンのLEDはPlaylistが現在表示されているかどうかを示します。
  • MIXER
    • Mixerウィンドウを開閉し、ボタンのLEDはMixerが現在表示されているかどうかを示します。
  • BROWSER
    • Plugin Pickerウィンドウを開閉し、ボタンのLEDはPlugin Pickerウィンドウが現在表示されているかどうかを示します。
  • SAMPLING
    • Browserウィンドウを開閉し、ボタンのLEDはBrowserウィンドウが現在表示されているかどうかを示します。(BROWSERボタンがBrowserウィンドウを開かない理由は、SAMPLINGボタンをどう扱うべきか分からなかったからで、FL Studio APIが何か役立つもので更新された場合、後でフィードバックに基づいてこれを変更するかもしれません)
  • LEFT and RIGHT
    • 2つのノブページ間を切り替えます。最初のノブページは事前に割り当てられており、2番目のものは他のものに割り当てることができます。
  • FILE(Save)
    • 現在アクティブなウィンドウのメニューを開きます。何もアクティブでない場合はメインファイルメニューを開きます。“VARIATION” ボタンを押しながらこれを押すと、プロジェクトが保存されます。
  • SETTINGS
    • MIDI設定を開閉します。
  • AUTO
    • 現在非アクティブです。
  • MACRO(Set)
    • 主にブラウザでサンプルを扱うコンテキストメニューを開くために使用される「右クリック」ボタンです。

4D ENCODER

  • 4D ENCODER
    • 回転させることで、現在アクティブなモードに応じて異なる操作を行います。“VOLUME”, “SWING”, “TEMPO” ボタンは異なるモード間で切り替えます。何もモードが選択されていない場合、エンコーダーは「フリー」モードで、ほとんどの場合アクティブなものをスクロールします。
  • VOLUME
    • 選択されたチャンネルのチャンネルボリュームを制御します(これはKNOB WHEELセクションから制御できるボリュームとは異なります)。
  • SWING(Position)
    • Playlist内の位置を制御します。このモードを選択することで、コントローラーから曲をスクロールできます。
  • TEMPO(Tune)
    • BPMを1 BPMの値で増減させます。- LEFT, RIGHT, DOWN, UPはキーボードの矢印キーを押すのと全く同じように動作します。
  • エンコーダーをクリックすると、キーボードのEnterキーを押すのと同じ動作をします。
  • ブラウザウィンドウでエンコーダーを使用するときは、MACROボタンと一緒に使用してサンプルなどをロードできます。

TRANSPORT SECTION

  • RESTART(Loop)
    • PATTERNとSONGモード間を切り替えます。将来のアップデートでは、VARIATIONが保持されている間にループモードのオン/オフを切り替えるようになります。
  • ERASE
    • キーボード上の「Delete」と同じ動作をします。
  • TAP
    • 「タップ」でテンポを定義することができます。
  • FOLLOW
    • 現在はメトロノーム機能の有効化と無効化に割り当てられています。これは別の用途が見つかった場合に変更されるかもしれません。ボタンのLEDはメトロノームが現在アクティブかどうかを示します。
  • PLAY
    • 曲の再生と一時停止を開始します。ボタンのLEDはFL Studioが何かを再生しているかどうかを示します。
  • REC
    • 大きなRECボタンをオンとオフにします。ボタンのLEDは録音が現在アクティブかどうかを示します。VARIATIONが保持されている間、このボタンはプリカウントをオンとオフにします。
  • STOP
    • 再生を停止し、再生ヘッドを曲の始まりに戻します。
  • SHIFT
    • 残念ながらMIDIメッセージを送信しないため、ネイティブでできること以外には使用できません。代わりに、VARIATIONボタンがシフトコマンドとして使用されます。## PAD MODE/KEYBOARD/CHORDS/STEP SECTION

このセクションはPADSの4つの異なる機能を切り替えます。

  • PADモードはOMNIモードのようなものです。PAD MODEが選択されると、プロジェクトに現在存在するチャンネルの数に応じてPADSが点灯します。適切なパッドを叩くことで、異なるチャンネルを選択してトリガーすることができます。デフォルトでPLUGINになっているものは緑色で点灯し、それ以外のものは白色で点灯します。プロジェクトに16チャンネル以上ある場合は、左側のGROUPボタンを押すことで異なるチャンネルセットを「スクロール」することができます。

  • KEYBOARDモードはPADSを特定のスケールの音符/キーに変えます。現在選択されているチャンネルで演奏されます。アクティブなスケールは、左側の8つのグループのいずれかを押すことで選択されます。右側のディスプレイに現在選択されているスケールが表示されます。オクターブシフトとセミトーンシフトは、任意のスケールやコードに対して可能です(TOP BUTTON SECTIONを確認)。FPCとBATTERYのスケールも利用可能で、それらはスケールというよりはFPCとBATTERYプラグインでの使用に事前マッピングされています。最後の2つのグループはカスタマイズ目的のクロマチックスケールとして残されています。chordsets.pyファイルを編集することで、カスタムスケールとコードセットを比較的簡単に作成することが可能です。詳細は後ほどビデオチュートリアルで説明します。

  • CHORDSモードはPADSを事前定義されたCHORDSに変えます。現在選択されているチャンネルで演奏されます。アクティブなコードセットは、左側の8つのグループのいずれかを押すことで選択されます。コードの好みは個人差が大きいため、下位4つのコードセットは変更されていません。chordsets.pyファイルを編集することで、カスタムスケールとコードセットを比較的簡単に作成することが可能です。これらを自分の好みにカスタマイズする方法については、ビデオチュートリアルで説明されます。

  • STEPモードはPADSをステップシーケンサーに変えます。各グループは16のグリッドビットを保持しており、オンとオフを切り替えることができます。グリッドビットは現在選択されているチャンネルをトリガーします。キーとコードとは異なり、グリッドビットはコントローラーからピッチをシフトすることはできません(まだ!)。

TOUCHSTRIP

デフォルトでは、タッチストリップは曲内の再生ヘッドの位置を制御します。PITCHとMODボタンを押すことで、2つの追加モードがアクティブになります。

  • PITCHモードは、現在選択されているチャンネルのピッチを制御し、ピッチホイールと同じように動作します(離すとゼロに戻ります)。

  • MODモードはデフォルトでは何も処理されません。なぜなら、FL Studio APIは直接MOD WHEEL機能に接続するものがなく、さらに、FL StudioはデフォルトでMIDI CCをプラグインに渡さないため、いずれにせよCC#1に設定する意味がありません。代わりに、ブラウザを開き、「Current project」を開いて、「Remote control」に行き、「Omni - Mod wheel」をクリックし、MODモードが現在アクティブな間にタッチストリップに触れる必要があります。これにより、タッチストリップのMODモードがMOD WHEEL機能にリンクされ、これからは新しいプロジェクトをロードするたびにデフォルトでこのテンプレートを開くように設定するプロジェクトをテンプレートとして保存するだけです。

  • PERFORM(FX Select)ボタンは、現在選択されているチャンネルを現在選択されているミキサートラックにリンクします。1番目と5番目のロータリーノブを使用して、それらをすばやく選択することができます。

  • NOTESボタンは、プロジェクト情報設定ページをすばやく開いて、プロジェクトに関するメモ(ね、面白いでしょ?)を簡単に入力できます。

  • LOCKボタンは、グリッドにスナップする機能を有効化および無効化します。ボタンのLEDはスナップ・トゥ・グリッドが現在アクティブかどうかを示します。

TOP BUTTONS SECTION

LEFT SECTION

  • PRESET-
    • 選択されたチャンネルがプラグインである場合、FL Studioのプリセットリスト(.fstファイル)の前のプリセットを選択します。任意のネイティブプラグインで動作し、Serumでも動作する可能性があります。これについてはビデオチュートリアルで説明されます。
  • PRESET+
    • 選択されたチャンネルがプラグインである場合、FL Studioのプリセットリスト(.fstファイル)の次のプリセットを選択します。任意のネイティブプラグインで動作し、Serumでも動作する可能性があります。これについてはビデオチュートリアルで説明されます。
  • PROG-
    • デフォルトでmidiポート0にPC(プログラムコントロール)メッセージを送信します。現在アクティブなプログラムはヒントバーに表示されます。プラグインがこのメッセージを受信するようにするには、そのmidi inポートを0に設定する必要があります。FL Studioのネイティブプラグインはこのメッセージを受信できないことに注意してくださいが、PRESET- および PRESET+ ノブでそのプリセットを制御できるため、それらがそうする必要はありません。
  • PROG+
    • デフォルトでmidiポート0にPC(プログラムコントロール)メッセージを送信します。現在アクティブなプログラムはヒントバーに表示されます。プラグインがこのメッセージを受信するようにするには、そのmidi inポートを0に設定する必要があります。FL Studioのネイティブプラグインはこのメッセージを受信できないことに注意してくださいが、PRESET- および PRESET+ ノブでそのプリセットを制御できるため、それらがそうする必要はありません。

RIGHT SECTION

  • OCTAVE- , OCTAVE+
    • このコントローラーからトリガーされるノートを1オクターブシフトします。これは-3および+3オクターブに限定されます。
  • SEMI- , SEMI+
    • このコントローラーからトリガーされるノートを1セミトーンシフトします。これは-11および+11セミトーンに限定されます。この限界を超えるとリセットされ、代わりにOCTAVEがシフトされます。

ENCODER SECTION

  • MIX. TRACK
    • ミキサートラックを選択し、現在選択されているミキサートラックの番号を画面に表示します。これはマウスでトラックを選択したときにも発生します。
  • VOLUME
    • 選択されたミキサートラックのボリュームを設定します。デフォルト値にスナップバックする機能もあります。選択されたトラックのボリュームを表示し、100がデフォルトの大きさとなります。
  • PAN
    • 現在選択されているミキサートラックのパンを選択します。デフォルト値にスナップバックする機能もあります。選択されたトラックのパンを表示し、0が中央値であり、-63から+63の間で変動します。
  • STEREO
    • 現在選択されているミキサートラックのステレオ分離を制御します。デフォルト値にスナップバックする機能もあります。選択されたトラックのステレオ分離を表示し、0が中央値であり、-63から+63の間で変動します。
  • CHAN. SEL.
    • 現在利用可能なチャンネルからチャンネルを選択し、現在選択されているチャンネルが何であるかを表示します。
  • CHAN. VOL.
    • 現在選択されているチャンネルのボリュームオフセットを制御します。これはChannel Rack上にあるボリュームではなく、現在選択されているチャンネルのエディタ内にあるボリュームです。
  • CHAN.MODX
    • どこにもフィルターをロードせずにチャンネルのカットオフとフィルタリングを迅速に制御することができるコントロールです。一部のケースでは意図したとおりに動作しない場合があります。これはフィードバックに基づいて変更される可能性があります。
  • FIX.VEL.
    • FIXED VELOCITYモードがオンになっているときにノートのベロシティを制御します。これはKEYBOARDおよびCHORDSモードの両方に適用されます。

OTHER CONTROLS

  • FIXED VEL
    • 固定ベロシティモードをオンとオフに切り替えます。ボタンのLEDはモードが現在アクティブかどうかを示します。
  • SCENE
    • 曲のマーカーに基づいて曲の一部を選択します。VARIATIONを保持している間にこのボタンを押すと、現在の場所に「TRANSITION」マーカーを配置します。これは、例えば、ヴァースからフックに移行するときなど、曲の移行が発生している場所を迅速にマークするのに便利であり、また、フック部分などの特定のセクションを作業しているときにそのセクションをループするのにも便利です。
  • PATTERN
    • パッドをパターン(現在のパッドモードが何であれ)に変えます。このボタンを保持すると、パッドはライムグリーン色に点灯し、点灯している各パッドはパターンリストからのパターンを表します。点灯していないパッド(点灯していないパッド)を押すと、FL Studioはそのパッドに何かを録音するための空のパターンを開きます。これにより、異なるパターンを中断することなく迅速にレイアウトすることができるクイックワークフローが可能になります。このモードは将来的にフィードバックとAPIの変更に基づいて拡張される可能性があります。
  • EVENTS
    • 現在選択されているチャンネルのピアノロールを開きます。残念ながら、FL Studio APIは量子化や基本的なピアノロール編集などの機能をサポートしていないため、これが実装され次第、このスクリプトを新しい機能で更新します。
  • VARIATION(Navigate)
    • 本質的に「シフト」ボタンです。このボタンを保持している間、他のボタンはその機能を変更します。特定のボタンの代替機能を確認するには、そのボタンを参照してください。FL Studio APIが更新され次第、パッドも「シフト処理」を受ける予定です。
  • DUPLICATE
    • 現在選択されているものをコピーして貼り付けます。Ctrl+B(選択したものの後に貼り付ける)と同じように動作することが意図されていましたが、残念ながらそれは曲の始まりにドロップされるだけです。これが可能かどうかは不明ですが、変更される可能性があります。
  • SELECT
    • 押されてから放されるまでの間に選択を作成します。例えば、4DエンコーダーをSWING(Position)モードに設定し、選択を開始したいときにSELECTを押し、保持している間に曲をスクロールして選択を停止したい場所まで移動し、ボタンを放すと選択が作成されます。何かを選択解除するには、このボタンを一度押すだけです(例えば、SCENEボタンで作成された選択)。
  • SOLO
    • 現在選択されているミキサートラックをソロにします(最初のエンコーダーを使用して選択できます)。現在選択されているトラックにルーティングされているすべてのトラックをアクティブに保ちます。例えば、トラック1をソロにすると、それがマスタートラックにルーティングされているため、マスタートラックもアクティブに保たれます。VARIATIONボタンを保持することで、この動作をバイパスして「真のソロ」モードを有効にすることができます。これが役立つかどうかは不明ですが、後で変更される可能性があります。
  • MUTE
    • 現在選択されているトラックをミュートします。VARIATIONを保持している間、このボタンはCtrl+Hのように動作するはずです。残念ながら、この動作はまだAPIによってサポートされていないため、代わりにすべてのチャンネルにメッセージを送信して、演奏中のノートをすべて停止するように試みましたが、うまく動作しません。これは後で変更される可能性があります。