はじめに
2026年8月、Arturiaの KeyLab Essential 61 mk3 を導入し、CubaseのMIDI Remoteコントローラーとして設定した。
鍵盤による演奏、トランスポート、Jogホイールなどは問題なく動作したが、フェーダーやパンポットを操作するとCubaseがフリーズするという問題が発生した。
最終的には、Cubase用MIDI Remoteスクリプトのディスプレイ表示処理に問題があり、ASCII範囲外の文字をKeyLabに送っていたことが原因と判明。スクリプトを1か所修正することで完全に解決した。
- 最初の設定
KeyLab Essential 61 mk3をUSBでPCに接続。
Arturia Software Center(ASC)で製品を登録・Activateし、Cubase用のMIDI Remoteスクリプトをインストールした。
Cubaseでは、
スタジオ → MIDI Remote Manager
からKeyLab Essential 61 mk3のスクリプトを読み込んだ。
KeyLab本体では、
Prog + Pad 2
で DAWs Program に切り替える。
MIDI Remoteのコントロールサーフェスについては、
MIDI入力:KL Essential 61 mk3
MIDI出力:KL Essential 61 mk3
とした。
これで基本的なDAW操作は正常に動作した。
- 発生した問題
ところが、KeyLab本体のコントロールを操作するとCubaseがフリーズすることがあった。
最初に確認したのはフェーダー。
フェーダーを動かすと、Cubaseの音声は再生され続け、マウスポインタも動くが、Cubaseの操作をまったく受け付けなくなる。
さらにパンポットでも同様の症状が発生した。
最初はMIDIポートの設定を疑い、
MIDIIN2 / MIDIIN3 / MIDIIN4
を「All MIDI Inputs」から外してみたが、症状は改善しなかった。
- フリーズ直前に奇妙な文字が表示される
ここで重要な手がかりがあった。
パンポットやフェーダーを操作すると、KeyLabのディスプレイに、
「yの上に点が2つ」のような文字
が表示され、その直後にCubaseがフリーズする。
また、パンポットでは
L15 / R15までは正常に反応するが、それを超えるとフリーズする
という再現性もあった。
これは単なるMIDIポートの設定ミスとは考えにくい。
- 原因を調べる
Arturiaのフォーラムを調べたところ、KeyLab Essential mk3+Cubaseで、フェーダー操作時にKeyLabがフリーズするという同様の報告が見つかった。
原因として報告されていたのが、KeyLabのディスプレイに送られる文字コードの問題だった。
Cubaseのパラメーター名などにASCII範囲外の文字が含まれると、それがKeyLabのディスプレイに送られ、KeyLab側が正常に処理できずフリーズすることがある。
今回の「ウムラウトのような文字が表示されてフリーズする」という症状と完全に一致した。
- 修正したファイル
Cubase用スクリプトフォルダーに、
KeyLab_Essential_mk3_Screen.js
というファイルがあった。
このファイルの中に、
str.charCodeAt(i)
という処理が2か所ある。
元のコードでは、文字コードをそのままKeyLabに送っていた。
そこで、ASCII範囲(0~127)を超える文字をスペース(32)に置き換える処理を追加した。
修正後は以下のようになった。
function _get_line_bytes(str, length){
//console.log(str.toString())
var line_bytes = []
if (str.length > length) {
for (var i=0; i < length-4; i++){
var charCode = str.charCodeAt(i)
if (charCode > 127) {
charCode = 32
}
line_bytes = line_bytes.concat(charCode)
}
line_bytes = line_bytes.concat([46, 46, 46])
}
else {
for (var i=0; i < str.length; i++){
var charCode = str.charCodeAt(i)
if (charCode > 127) {
charCode = 32
}
line_bytes = line_bytes.concat(charCode)
}
}
return line_bytes
}
ポイントは、
if (charCode > 127) {
charCode = 32
}
を、2つの charCodeAt() の処理にそれぞれ追加したこと。
- 修正前には必ずバックアップ
スクリプトを直接編集するので、作業前に
KeyLab_Essential_mk3_Screen.js
をコピーしてバックアップしておいた。
これは強くおすすめしたい。
Arturiaが今後スクリプトを更新した場合、今回の修正が上書きされる可能性もあるため、修正版とオリジナルを区別して保存しておくと安心。
- 修正結果
修正後、Cubaseを再起動してKeyLabを DAWs Program に設定。
そして、
フェーダー
パンポット
を操作して確認した。
フリーズは完全に解消した。
パンポットについても、これまでフリーズしていたL15/R15を超えて操作しても正常に動作するようになった。
つまり、
KeyLab Essential 61 mk3 × CubaseのMIDI Remote連携は正常に使用できる状態になった。
- 今回分かったこと
今回の経験から、KeyLab Essential mk3をCubaseで使う人へのアドバイスをまとめると、
① 本体をDAWモードにする
KeyLab Essential mk3では、
Prog + Pad 2 → DAWs Program
にする。
② CubaseのMIDI Remoteスクリプトを使う
Cubase 12以降では、KeyLab用のMIDI Remoteスクリプトを利用できる。
③ MIDI Remoteのポート
今回の環境では、
入力:KL Essential 61 mk3
出力:KL Essential 61 mk3
で正常に動作した。
④ 「All MIDI Inputs」は整理する
MIDIIN2~4 などの不要なポートを「All MIDI Inputs」に含めないようにした。
ただし、今回のフリーズについては、これだけでは解決しなかった。
⑤ フリーズしたらディスプレイを見る
今回もっとも重要だった手がかりは、
「フリーズ直前にKeyLabのディスプレイに変な文字が出る」
という現象だった。
これは単なるCubaseの動作不良ではなく、MIDI RemoteスクリプトからKeyLabのディスプレイへ送られる文字列に問題がある可能性を示していた。
⑥ スクリプトをバックアップしてから修正する
今回のようにJavaScriptのスクリプトを直接修正する場合は、必ずオリジナルを保存しておく。
結論
今回の問題は、
KeyLab Essential 61 mk3の故障でも、USB接続の問題でも、CubaseのMIDIポート設定の問題でもなかった。
CubaseのMIDI RemoteスクリプトにおけるKeyLabディスプレイへの文字コード処理の問題が原因だった。
ASCII範囲外の文字をスペースに置き換える処理を KeyLab_Essential_mk3_Screen.js に追加することで、フェーダー、パンポットともに正常に使用できるようになった。
(2026/09/30 記)