Cork

読者です 読者をやめる 読者になる 読者になる

eki_docomokiraiのブログ

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

Cubase、MIDIノートの長さをランダマイズする

DTM・プラグイン

Cubaseのロジカルエディタとマクロの話です。

海外フォーラムでも昔から話題に上がり、結局解決法の無かったMIDIの末尾の長さをランダマイズする方法について書いておきます。

 まず最初にお断りしておきますが、とんでもないゴリ押し実装です。また、実用性がそれほど無いです。

答えを知ったところで恐ろしく手間がかかるので、この手の作業に耐性が無い人は自力で実装できないと思います。

どうしても欲しい人がいたら個人的に売ります。希望価格を連絡してください


■びみょーな理由。

まず結果から。

下の画像のようになります。

f:id:eki_docomokirai:20170318023741p:plain

4つの山はそれぞれ違うテンポです。MIDIノートの長さはどれも同じです。実時間でMIDIノートの長さを表示するリニアタイムモードだと、こういう粗が明確にチェックできます。

どういうことかというと、テンポによって長さのランダム度合いが変わってしまい、速いテンポでは僅かなズレで、遅いテンポでは大きなズレになってしまいます。音の長さはMIDI命令で決定しているので当然ですね。

実際の演奏をシミュレートするのであれば、速い曲ではMIDIのTicが大きくブレて、遅いテンポでは小さくブレて欲しいところです。

故に実用性が半減しています。お疲れ様でした。


■実装の手順(1)ロジカル制作と量産

まずは単発のロジカルプリセットを作ります

f:id:eki_docomokirai:20170318024810p:plain上は日本語表示。下は英語表示。

f:id:eki_docomokirai:20170318024816p:plain

 


 

内容は「ある範囲の長さに対し、指定した範囲の長さに変換する」です。

 

 

検出する長さの単位は「秒」です。

PPQ(MIDIベース)、フレームベース、サンプルベースでも作ることができますが、結果はほぼ同じになります。PPQはバグが起きます。これは昔からのロジカルエディタの仕様で、どうにもなりません。作った時は正常に動いていても、テンポの違う場所や、ロジカルを作ったのと異なるプロジェクトで使用するとバグります。 

 


 ■実装の手順(2)量産

手順(1)で作ったこのサンプルの長さは「ゼロからおよそ32分音符分」です。

 同様に「32分音符から16分音符分」「16分音符から符点16分音符分」「符点16分音符から8分音符分」という容量で、32分音符きざみで、好きなだけ量産します

f:id:eki_docomokirai:20170318024821p:plain

 3秒か4秒に相当する量を作っておけば実用的な長さをカバーできます。 

Cubaseの上ですべてやるのではなく、「ユーザーフォルダ、Roaming\Steinberg\Cubase XX\Presets\Logical Edit」でファイルを増やしてからCubase上で内容を調節する方法がベターです。

 

指定する長さは自力でがんばって指定してください。

自力でやるのが面倒なら「くやしいけど◯◯円で買います」と連絡ください。


■ 実装の手順(3)マクロでまとめる

作ったロジカルプリセットを1つのマクロにまとめます。

マクロの制作手順やショートカット割り当てについてはここでは割愛します。分からない人は「レッスン受講希望です」と連絡ください。 

f:id:eki_docomokirai:20170318024826p:plain

 Cubase使っててショートカットやマクロを使っていないのはもったいないですよ。ほんと。 


■テストしてみる

山形のノートを配置してみて、いざテスト!

f:id:eki_docomokirai:20170318023741p:plain

狙い通りの挙動になっていたら寝ましょう。 歯みがけよ!


■ゲートのランダマイズが必要になる理由

それなり以上に打ち込みシミュレートをやったことがある人にとっては常識なのですが、ランダマイズ(≒ヒューマナイズ)で重要なのはノートオンのタイミングです。発音タイミングがいい具合にずれていると打ち込みっぽさを大きく隠蔽できます。

(もちろんベロシティも大事なんですが、近年のリアル系の音源ではちょっと事情が違います。ベロベロ言ってるのは昔のMIDI音源時代の知識しか無い人です。これについてはそのうち記事にしておきます。)

もうちょっと経験を積んだ人だと、ノートオンだけではなく、ノートオフをずらすことの重要性に気が付き、マウスでちくちくと処理し始めます。

それをある程度でも良いから自動化できたらなーという理由でこのロジカルを作りました。(で、結果的に、この程度の自動化では効果が微妙すぎでした。というオチ。)

 

つーわけで、ろくでもない出来だったのでレシピだけは公開します。

 

でも実験には相当な手間がかかっているので、無料配布はしません。

興味がある人は自分で作ってみてください。手順や参考数値、注意点を書いてあるので、割りと簡単に実装できるはずです。ここまで書いてあっても作れないなら、この手のオタクっぽいカスタマイズに向いていないんだな、と諦めたほうが良いと思います。

 


■おまけ

ノートオンとベロシティのランダマイズ(否ヒューマナイズ)については打ち込みで行わなくても自動化できます。自動化なのでヒューマナイズには程遠いですが、それなりの効用があります。

f:id:eki_docomokirai:20170318032239p:plainMIDIトラックに装備されている「MIDIインサート」の「MIDI Modifiers」で、ノートオンタイミングとベロシティは簡単に自動でバラせます。

赤い囲みの中の4つの数字を適度にずらしておくだけでOKです。

あくまでも簡易的なランダマイズなので、時間があるなら&目立つトラックならちゃんと手作業で仕上げたほうが良いです。

手作業で仕上げる場合にも、下ごしらえとしてランダマイズを行うロジカルプリセットを使って適度にずらしておくと良いです。その上で気になる点を手動でずらします。

ずらす時はマウスを使って1つずつ微調整するのは「微調整がんばってる俺SUGEE!」と思い込むための無駄な時間でしかないです。ちゃんとロジカルプリセットでノートの前後移動を作っておいて、それをショートカットに割り当てて高速で処理するのが良いです。

なお、廉価版のCubaseにはロジカルエディターはありません。

ロジカルエディタとショートカット、マクロによる高速編集があるから「CubaseMIDI打ち込みに向いている」と評価されているのであって、それら無しだと他のDAWどころか昔のMIDIシーケンサより劣ります。

 

© docomokirai 2017