ONGEN OPT

DTMについて役立ちそうな情報をまとめてるブログ

Cakewalk by BandLab:CALスクリプトでMIDI編集を自動化!作業効率UP!

CakewalkにはCAL(Cakewalk Application Language)というCakewalk上のMIDIを編集することができるプログラム言語があります。
そのためCALを扱うには文法や関数などを覚えなければなりませんが、実はCakewalkインストール時にすぐに使うことができるCALファイルもインストールされています。

 
この記事では
 
  • CALファイルを使った編集方法
  • 収録されているCALファイルを使った具体例

を紹介します。

 

1. CALの使い方

場所:MIDIノートを選択している状態で「プロセス」>「CALの実行」

MIDIノートを選択している状態で「CALの実行」をクリックします。ファイルダイアログが表示されるため、その中から使用するCALファイルを選択しましょう。
CALファイルは通常「C:\Cakewalk Content\Cakewalk Core\CAL Scripts」のフォルダに格納され、Ctrl+F1でも実行できます。

f:id:hatemani:20210923111521p:plain

 

参考にノートに対して「Major 7th Chord.cal」を実行すると、下の図のようになります。

f:id:hatemani:20210923111535p:plain

 

2. CAL:MIDIノートの生成関連(和音・オクターブ)

 

MIDIノートの生成系は選択したノートに対して同じ長さで音を重ねます(複数のノートが選択されている場合は、選択されたすべてのノートに対して音を重ねます

 

2.1 メジャーコード ■(Major Chord)

 

選択したノートをベース音として「長3度」「完全5度」を追加します。ノートがCの場合、Cメジャーコードになります。

f:id:hatemani:20210923111625p:plain

 

2.2 メジャーセブンスコード ■M7(Major 7th Chord)

 

選択したノートをベース音として「長3度」「完全5度」「長7度」を追加します。ノートがCの場合、Cメジャーセブンスコードになります。

f:id:hatemani:20210923112521p:plain

 

2.3 セブンスコード ■7(Dominant 7th Chord)

 

選択したノートをベース音として「長3度」「完全5度」「短7度」を追加します。ノートがCの場合、Cセブンスコードになります。

f:id:hatemani:20210923112616p:plain

 

2.4 マイナーコード ■m(Minor Chord)

 

選択したノートをベース音として「短3度」「完全5度」を追加します。ノートがCの場合、Cマイナーコードになります。

f:id:hatemani:20210923112642p:plain

 

2.5 マイナーセブンスコード ■m7(Minor 7th Chord)

 

選択したノートをベース音として「短3度」「完全5度」「短7度」を追加します。ノートがCの場合、Cマイナーセブンスコードになります。

f:id:hatemani:20210923112925p:plain

 

2.6 ノートにオクターブ追加 (DOUBLE)

 

選択したノートのオクターブ上または下の音を追加します。CAL実行時にオクターブ値と追加するノートのベロシティー加算値を指定します。

f:id:hatemani:20210923112934p:plain

 

2.7 和音を追加:ハーモナイズ(HARMONYZ)

 

ノートに対して和音を追加します。リズムとトニック(keyの1度の音)を指定しランダムにノートの生成または移動します。このCALは実行するたびに結果が変わります。

f:id:hatemani:20210923112947p:plain

 

3. CAL:トラック分割関連

 

トラック分割は1つのトラック内のMIDIデータを複数のトラックに分割します。

 

3.1 ノートを音程ごとにトラック分割 (Split Note to Tracks)

 

指定したノートを音程ごとに別トラックへ分割します。Split Note to Tracksはドラムトラックなどの分割で役立ちます。

f:id:hatemani:20210923113000p:plain

 

3.2 ノートをチャンネルごとにトラック分割 (Split Channel to Tracks)

 

前述したノートを音程ごとにトラック分割 (Split Note to Tracks)と似ていますが、Split Channel to Tracksは選択したノートをMIDIチャンネルごとにトラックを分割します。
例えば1つのクリップ内に複数のMIDIチャンネルのノートがある場合、そのノートをトラックごとに分割することができます。

 

4. CAL:ノートの時間変更関連

 

ノートの開始タイミングまたはデュレーション(ノートの長さ)を調整します。

 

4.1 イベントの開始時間をランダムに変更 (Random Time)

 

ノートの開始時間をランダムにずらします。ずらし量はCAL実行時にTick数で設定します。
1Tickあたりの時間は環境設定のクロックタブで設定している値となり、通常は960Tickで四分音符相当の時間となります。

f:id:hatemani:20210923113010p:plain

 

4.2 前のノートの長さを次のノートの開始に合わせる:レガート(LEGATO)

 

選択したノートを次のノートの開始に合うようにデュレーションを調整します。割合は設定可能で、図は100%設定時のMIDIノートの変化となります。

f:id:hatemani:20210923113019p:plain

 

4.3 重なったノートの長さ調整(SINGLE)

 

時間軸で重なったノートの長さの調整します。前のノート短くすることでノートの重なりをなくします。この操作によってベースやシンセなどでノートが重なった時の音の問題を解消します。またマージン設定として最大10Tickの空きを作ることができます。

f:id:hatemani:20210923113029p:plain

 

4.4 ノートにスウィングを追加(SWING8、SWING16)

 

ノートにスウィングを追加します。スウィングの強さは10%~90%で指定します。

f:id:hatemani:20210923113038p:plain

 

5. CAL:ノートのベロシティ変更関連

 

ノートのベロシティ(強さ)を変更します。

 

5.1 ベロシティを次第に強くする:クレッシェンド(CRESCEND)

 

選択したノートのベロシティに対して係数をかけます。開始ノートの係数と終了ノートの係数を指定し、開始係数より終了係数が多くなるように指定しなければなりません(下の図は開始50%・終了100%で指定した場合)
元のベロシティに対する係数が開始より終了が多くなるため、CAL適用後の結果が必ずしも開始ノートより終了ノートが大きくなるわけではありません。

f:id:hatemani:20210923113051p:plain

 

5.2 ノートのベロシティをランダムに変更する(VARYVEL)

 

ノートのベロシティを上下限で指定した範囲内にランダムで変更します。

f:id:hatemani:20210923113100p:plain

 

6. CAL:ノートの音程変更関連

 

ノートの音程を変更します。

 

6.1 ノートをランダムに変更する(RANDNOTE)

 

ノートを指定した範囲でノートの高さ(音程)をランダムに変更します(コードや曲のキーなどは考慮されません

f:id:hatemani:20210923113108p:plain

 

関連記事まとめ

Cakewalk by BandLabの使い方

本サイトではCakewalk by BandLabの様々な使い方について紹介しています。例えば、録音方法や音源・プラグイン使用法、ボーカルミキシングなどさまざまです。この記事は本サイトのCakewalk by BandLabに関する記事の一覧を紹介します。 【追記:2023.8.8】先日BandLabからCakewalk by BandLabを廃止し、次世代DAW「Cakewalk Next」「Cakewale Sonar」に置き換えるという発表がありました。Cakewale Sonar公式にあるFAQsによると、現在使用中のCakewalk by BandLabは今後も使用可能ですが、サポー…