Cork

eki_docomokiraiのブログ

作編曲家のえきです。DTM、音楽制作TIPS、およびゲーム(Diablo3RoS)の話を書いています。

Cubase備忘録。MIDI同音連打の演奏ミス

Cubaseの使い方の備忘録を兼ねた記事です。

MIDIの同音連打の際に、正確に2回発音されないことがある場合は、「「環境設定>(一番上の)MIDI>ノート長の調整」」をデフォルトの「-2」に戻します。

 

 

■どのような状況だったか

画像はエレキギター(Electri6ity、歪み系、バッキング)のMIDIトラックです。

赤の四角で囲った部分の「ジャジャッ」という部分で「ジャーーーーーー」と鳴りっぱなしになってしまうトラブルに遭遇しました。

f:id:eki_docomokirai:20170802145610p:plain

 

やっかいなのは、この不具合に100%の再現性が無いことでした。

毎回同じように演奏ミスが起きるのであれば原因を究明しやすいのですが、再現性が無いトラブルというのはDTMやPCでの問題に限らず、最もやっかいです。

 

MIDIの仕様として、1つのノートには複数の命令が埋め込まれています。

  • 「ここから音を鳴らすよ」
  • 「長さはいくつだよ」
  • 音程はコレだよ
  • ベロシティはいくつ

という命令などが入っています。

同音連打系で問題になるのは「長さがいくつ」という命令です。

MIDIの仕様上、「この音符はこの拍で終わるよ」ではなく「この開始位置から鍵盤を推し続けるよ」+「命令された長さが来るまで指は離さないよ」なので、鍵盤を押している間に次のノートが鍵盤を押し始めると、おかしなことになります。

 

MIDIの仕様

まず大前提として知っておくべきMIDIの仕様。

つーても、いわゆるMIDI時代を経験していない人は意味がわからないと思うし、今からMIDI検定なんか受ける価値が無い時代になってしまったので模式図を書いておいた。 

 

図1、

f:id:eki_docomokirai:20170802153551p:plain

鍵盤を「押す」「離す」だと思っておけば同音連打バグは理解できます。

 

 

これを踏まえた上で、より実際に即した図を下に。

 

 

図2、

より露骨に書くとこうなる。完全に同時だった場合。

f:id:eki_docomokirai:20170802153603p:plain

1つ目のノート終了と2つ目のノート開始が同時だと不具合が生じる。

 

「離す1」が「押す2」打ち消され、「離す2」が機能できなくなる。

 

「押す1」が維持されたまま「押す2」が継続するので、「鍵盤を叩いた」動作による発音が生じなくなる。

結果、「発音1」が永続してしまう。

 

これが今回起きている状況です。

 

同時だった場合の処理はDAWMIDIシーケンサー)によってまちまちです。

 

■各種チェック

MIDIデータの検査

ノートの終了までの長さもチェックしましたが、次のノートにかぶっているというわけでもありませんでした。(下画像のように「情報ライン」を表示して正確にチェックする。)

f:id:eki_docomokirai:20170802145615p:plain

「手前のキースイッチかCCの読み落とから誘発された何かか?」と探ってみたり、別の部分をコピペしたりしましたが、その点は異常なし。

 

その他、不要なCCや、短くなりすぎて目に見えない短さになっているMIDIノートも検査。どちらもゴミ混入は無し。

 

・和音による不具合をチェック

単音にしてみましたが解決せず。症状は同じように感じる。再現性のない鳴りっぱなし現象は単音にしてもそのまま。

 

・トラックか音源固有の不具合を疑う

試しに別のトラックの同音源に演奏させてみても同様の不具合が起きました。

オートメーションも問題なし。

 

 

■再起動

重量級のプロジェクトファイルだったので、そこに起因するタイミング不一致か?と疑ってCubaseを再起動。

ご存知の通りDAWは不安定なものです。特に超長時間起動していると予期せぬトラブルが起きるものです。そういうものです。

数十時間起動しっぱなしだったので再起動。

 

状況は変わらず。

 

変わらずなのですが、「再起動で治るトラブルではない」という正解を得たので、原因を絞り込めました。

Cubaseの何かが確実におかしくなっているということです。

 

じゃあ環境設定だ。

 

最近やった環境設定は、シンセのモノリード音色のレガートやリトリガーの兼ね合いをチェックするためにMIDI周辺をいじった気がする。

 

それだ!

 

 

■環境設定の項目

MIDIの項目にある「ノート長の調整」がゼロになっていたので、デフォルト値の-2戻す。

f:id:eki_docomokirai:20170802145602p:plain

演奏チェックしてみたところ、確実に同音連打が鳴るように治せました!

 

めでたい!

 

■おさらい

上で書いた模式図の時に述べた「押す1、離す1」「押す2、離す2」がかぶる問題についてもう一度説明しておきます。

f:id:eki_docomokirai:20170802153603p:plain

 

Cubaseはこの同時問題を解決するために、内部的にMIDIノートを「-2」して扱うことにしている、ということです。

本来は人間の手でMIDI鍵盤を「押す」「離す」という操作をすることを前提に作られているのが問題です。押してあるスイッチを押すことや、離した時に同時に押すという操作はできません。

暇な人は他のDAWで実験してみたり、他のDAWがこの問題をどのように処理しているのか確認してみると、いつか役に立つ日がくるかもしれません。

 

■同時押しの処理はDAWによってさまざま

カンの良い人なら連想したことがあるはずです。

「じゃあ、同時タイミングで押されたキースイッチとノートは?」

 

これは音源側で処理しているものもあり、DAW側の処理とミスマッチを起こすことがあります。割りと大問題です。

Electri6ityなどのキースイッチ音源を使う人は、それに合わせた対処方法を身につけるしかありません。

 

最もよく知られている対処方法は、キースイッチの読み飛ばしが起きないように「少し手前で連打しておく」という方法です。

さらに絶対的な方法は、トラックも分けて音源も複数立ち上げるという方法ですが、どの方法も一長一短です。

将来的にはこうした問題が起きず、自然なスタイルのまま全てが動作するようになってくれたら良いなと思っています。しかし、まだ現時点ではそういう時代ではないので、どんな奇妙な方法であろうと「出音がすべて!」と考えて乗り切るしかありません。

 

 

■他のMIDI環境設定

また、環境設定の関連項目として、下の方の「編集操作」のカテゴリの中にも「MIDI」という項目があります。

Cubaseの変な所として「メニューに同じ名前がある」という奇妙な部分があるので覚えておくと良いと思います。

f:id:eki_docomokirai:20170802151745p:plain

こちらをいじるのはレガート編集時の末尾音の処理方法。

MIDIノートを置く時に毎回長さを考えず、どんどん16分音符で短く書いていって、最後に全選択してレガートにするという編集方法を使うことが多いので、ここを切り替えることがよくあります。

 

© docomokirai 2017