MIDIの編集機能

MIDIデータはピアノロール以外にも入力や編集の方法があります。

MIDIクリップ

ピアノロール上にMIDIデータを打ち込むと、インストゥルメントトラック(またはMIDIトラック)上にMIDIクリップというものが作成されます。
これはデータのひとかたまりを表します。
MIDIクリップ

MIDIクリップをトラック上で左右に移動させれば中身のデータも左右に移動します
別のMIDIトラックにそのまま移動させることもできますし、コピーすることもできます。
移動やコピーの操作はピアノロールでのノートの編集の仕方と基本的に同じです。
(スマートツール)

大まかな編集はピアノロール上での編集よりも簡単に行うことができます。

MIDIのプロセス

例えば複数トラックに対して同じ処理がある場合、ピアノロールでの編集はやや面倒な作業となります。
Cakewalkには「プロセス」という、選択したデータに対して同じ処理を一括して行う機能が用意されています。
ここではよく使いそうなものをふたつだけ紹介します。

MIDIデータにプロセスを実行するには、処理対象のMIDIクリップを選択し、「プロセス」メニューから実行したいプロセスを選択します。
(ピアノロール上の特定のノートを選択状態にして実行することも可能です)
MIDIデータのトランスポーズ1

トランスポーズ(移調)

トランスポーズはノートの音程を上下する処理です。
ピアノロール上でも可能ですが、MIDIクリップ全体や複数のクリップをまとめて移調する場合はプロセスから実行するのが便利です。
MIDIデータのトランスポーズ2

「量」で移動する音階を設定します。
半音単位なので、例えば「2」を入力すれば「ド」は「レ」の高さに変化します。
「12」ならば一オクターブ上げることができます。
もちろんマイナス値を入力すれば音は低く変化します。

「全音単位」のチェックをオンにすれば倍の移動量となります。

クォンタイズ

クォンタイズはノートの発音タイミングを揃える機能です。
例えばMIDIキーボードから演奏をリアルタイム録音すると多少ズレが生じますが、そのズレをピッタリの位置に調整することができます。
MIDIデータのクォンタイズ1

クォンタイズウィンドウの右側の「オーディション」ボタンはクォンタイズ実行後のデータをテスト再生することができます。

分解能

「デュレーション」はタイミングを合わせる基準となる音符の長さです。
この長さを基準として発音タイミングが近い方の前後どちらかの位置にノートが移動されます。

変更

クォンタイズ処理をする対象のデータを選択します。

「開始タイム」が発音タイミングの調整です。
「ノートのデュレーション」にチェックを入れると、ノートの長さもピッタリの長さに調整されます。

オプション

クォンタイズのかかり具合を調整できます。

「強さ」は位置合わせの適用度の調整で、「100%」ならば完全なジャストタイミングになるように調整します。
「50%」ならば現在の位置とジャストタイミングの位置との半分の位置に移動します。
クォンタイズは数値上の完璧な位置にノートを移動させますが、あまりに正確すぎると人間的な「ノリ」が失われてしまう場合があります。
そのような場合にこの設定をやや弱めに設定すると効果的な場合があります。

「スイング」は偶数のグリッドラインの位置を前後させる機能です。
音楽用語のスイング(シャッフル)と意味は同じで、拍子の表拍はそのまま(ジャストタイミング)ですが、裏拍のタイミングを前後させます。
「50%」ならば本来の位置通りとなります。
「66%」ならば「タータ・タータ」というシャッフルのリズムとなります。
「33%」ならばその逆です。(「タター・タター」)
MIDIデータのクォンタイズ2

「ウィンドウ」はグリッドラインから大きく離れたノートにはクォンタイズを適用しないための設定です。
「100%」ですべてのノートにクォンタイズが適用され、数値を下げるほど適用範囲が狭くなります。

「オフセット」は位置を調整した後に、指定したティック(Tick)だけ位置を前後させる機能です。
ティックというのはMIDIメッセージの位置を表す最小の単位で、1ティックが実際にどの程度の長さになるかはMIDIの分解能によって変わります。
Cakewalkはデフォルトの分解能は960のようなので、1ティックは四分音符の1/960の長さということになります。

MIDIの分解能は「編集」メニュー→「環境設定」内の「クロック」ページ内にあります。
「クロック」をメニュー内に表示するには「詳細設定」をオンにする必要があります。
MIDIの分解能の設定

クォンタイズはノートを計算による機械的な位置に合わせますが、例えば人間がリアルタイム入力したものなどのあらかじめ用意したデータを基準にタイミングに合わせるグルーブクォンタイズという機能もあります。

イベントリスト(リストエディタ)

イベントリストはピアノロールでは困難な細かい修正や、ノート情報以外の編集に向いた機能です。
他のソフトでは「リストエディタ」とも呼ばれる機能です。

イベントリストの表示方法はピアノロールとほぼ同じで、メニューから「ピアノロール」ではなく「イベントリスト」を選択するだけです。
イベントリスト1_イベントリストの表示1

すると画面の下部に白い画面が表示されます。
(もしピアノロール上で何かデータを打ち込んでいた場合は何行か情報が表示されていると思います)
イベントリスト2_イベントリストの表示2

まずは左上にある「+」ボタンを押してみましょう。
イベントリスト3_イベントの挿入1

すると一行追加されます。
(何も追加されていないように見える場合、リストを上にスクロールしてみてください)
イベントリスト4_イベントの挿入2

イベントリストは、MIDIデータを文字による情報で表したものです。
ピアノロールはMIDIデータを視覚的にわかりやすく表したもので、音楽的な作業はピアノロールの方が分かりやすいですが、細かい作業や音楽的ではない作業(音源の設定、初期化など)はイベントリストの方がやりやすい場合があります。

ピアノロールほど見た目が分かりやすくないため敬遠されがちですが、それほど難解というわけでもありません。
(一部難解なものもありますが)
イベントリスト5_イベントリストの例

名称 説明
トラック イベントのトラック番号
時:分:秒:フレーム イベントの位置(時間単位)
小節:拍:ティック イベントの位置(小節単位)
Ch イベントのMIDIチャンネル
種類 イベントの種類
データ イベントが持つデータ
具体的な内容はイベントの種類によって異なる

「データ」の右側にはメッセージの種類によって複数のデータがあります。
例えばノートイベントなら「音の高さ」「ベロシティ」「ノートの長さ」をデータとして持ちます。

データの変更はダブルクリックでテキストを直接変更するほか、マウスを上下にドラッグすることでも変更できます。

イベントの種類

イベントの「種類」の欄をダブルクリックするとイベントの種類の変更ダイアログが開きます。
イベントリスト6_イベントの種類

主に使用するのは「ノート」「コントローラ」「パッチチェンジ」「ピッチベンド」あたりです。
「コントローラ」は「コントロールチェンジ」、「パッチチェンジ」は「プログラムチェンジ」のことです。

「特別」や「記号」は通常の音楽制作では使用しません。
Sysxというのは「システムエクスクルーシブ」といって、音源に特殊なデータを送信します。
一昔前のDTM環境ではハードウェアMIDI音源の制御に使用されることもありましたが、今はソフトシンセが主流なのでほとんど使用されません。
(TTS-1はGM2音源なので、GM2のシステムエクスクルーシブメッセージを受け取れます)

TTS-1をMIDIメッセージで設定する

Cakewalk付属のソフトシンセ「TTS-1」を初期化&設定するためのMIDIデータを一例として示します。
イベントリスト7_TTS-1用の初期化データの例

位置 名称 データ1 データ2 説明
1:01:000 SysxData F0 7E 7F 09 03 F7
GM2リセット
GM2対応のMIDI音源を初期化する
このメッセージ後、他のメッセージを送るまでに少し間隔を開けること
1:02:000 Control 0 0 バンクセレクトMSB
1:02:010 Control 32 0 バンクセレクトLSB
1:02:020 Patch Normal
プログラムチェンジ
バンクセレクトMSB、LSBと共に音色を設定する
データ3が音色の指定(0~127)
1:02:030 Wheel 0
ピッチベンド
-8192~8191で設定(0が真ん中)
1:02:040 Control 1 0 Modulation
モジュレーション
音を揺らす(ビブラート)
1:02:050 Control 7 100 Volume
音量
1:02:060 Control 10 64 Pan
パン
1:02:070 Control 11 127 Expression
エクスプレッション
1:02:080 Control 91 40 Reverb Send
リバーブのセンドレベル
1:02:090 Control 93 0 Chorus Send
コーラスのセンドレベル

GM2リセットはGM2対応音源を初期化します。
TTS-1の操作パネル右上の「GM2」ボタンと同じです。
このメッセージ送信後は次のメッセージを送るまで少し(50msec程度)間隔をあける必要があります。
上記では1拍分空けています。

GM2リセットは音源の設定をすべて初期化するので、どのMIDIチャンネルに送信しても同じです。
ただし送信するのはひとつだけにしてください。

その他のメッセージはチャンネル毎に送信します。
MIDIメッセージについて詳しくはMIDIのコントロール方法を覚えようを参照してください。

GM2リセットを送信すると音源の設定がすべて初期化されますので注意してください。
操作パネル上で設定を変更している場合はすべて初期化されてしまいます。

TTS-1の「GM2」ボタンを押しても同様にリセットされます。
操作パネルだけでTTS-1の設定をしていると不意に設定が消えてしまうことがあるので、MIDIデータで設定するようにしておくと安心です。
(ただしエフェクトなどの細かい部分はややこしいMIDIデータの送信が必要)

TTS-1の音色設定

音色の指定はプログラムチェンジで行いますが、これだけでは128種類の音色までしか指定できません。
プログラムチェンジだけでは指定できない音色を拡張音色と呼びます。

拡張音色を使用する場合はCC0、CC32、PCの三つを組み合わせて音色指定します。
(CC=コントロールチェンジ、PC=プログラムチェンジ)
さらにCakewalkではもうひとつ音色の設定方法が用意されています。

通常の方法

GM音源(GM2音源)は「ノーマルモード(Normal)」と「リズムモード(Rhythm)」の二種類があります。
ノーマルモードは通常の楽器、リズムモードはドラムキットが割り当てられています。

TTS-1での拡張音色の指定、およびノーマルモード/リズムモードの切り替えは以下のように行います。

CC0(Bank MSB) CC32(Bank LSB) PC 説明
120 0 0、8、16、24、25、32、40、48、56 リズムモード
121 0~9 0~127 ノーマルモード

例えばPC0の「Piano1」の拡張音色「Piano 1d」を選択する場合は「CC0:121、CC32:2、PC0」を送信します。
送信先チャンネルをドラムトラックにする場合は「CC0:120、CC32:0、PC0」を指定します。
GM音源のチャンネル10は通常はドラムトラックですが、これを利用して10以外をドラムトラックにしたり、逆に10を通常の楽器トラックにすることができます。

TTS-1の操作パネルからは以下の位置にバンクセレクトLSB(CC32)が表示されています。
プログラムチェンジも表示されていますが、TTS-1は「1~128」表示なので実際にMIDIで指定する番号からひとつズレています
TTS-1のバンクの確認

Patchを利用する方法

Cakewalkの「Patch」はプログラムチェンジのことと説明しましたが、これはバンクセレクトと組み合わせた音色設定も可能になっています。
イベントリストの「Patch」のデータ部分をダブルクリックすると音色設定のダイアログが開きます。
TTS-1のパッチ1_音色選択ダイアログ1

「パッチ」欄がプログラムチェンジ番号ですが、その上の「バンク」でCC0とCC32を組み合わせたデータが指定可能です。
TTS-1のパッチ1_音色選択ダイアログ2

「Preset Normal x」がノーマルモードの指定に当たります。
「x」は0~9の数値で、これがCC32の指定に当たります。

「Preset Rhythm」がリズムモードの指定です。
リズムモードはCC32は0で固定なのでひとつだけになっています。

上記のバンク指定+パッチ番号で拡張音色を含むすべての音色が指定できます。

こちらの方法を使用する場合はMIDIデータの「CC0」と「CC32」は不要なので削除してください。