TOP NO.1




第1回 『テンプレートを作ろう』
 第1回目にふさわしいかどうかわかりませんが、MIDIデータを制作する際に手際よく作業ができるようにするための『テンプレート』を作ることから始めたいと思います。

 テンプレートを作るには、本来使用する音源でどのような設定ができるのか知っておく必要があるのですが、それをここで説明してからこのテンプレートを作るとなると、かなり先の話になってしまいますので、あえて1回目にこの内容で行きます。

 さて、この『テンプレート』ですが、何のためのものか、またどうして必要なのかを理解しましょう。
 MIDIデータを作ろうとする時に、必ず毎回設定するものに、各トラック毎にボリュームやパン、音色の選択などを曲の冒頭にデータ入力していると思います。ソフトによっては自動的に数種のコントロール情報が入るものもありますが、それ以外に常に使うものは別途入力しているでしょう。これらを毎回コマンドを選択して入力したりするのは、結構手間の掛かる作業だとは思いませんか?
 自分がよく使うこれらのデータがもともと入っていれば、必要な機能だけエディットしてあげるだけで作業効率も上がります。そのために、あらかじめそのようなコントロール情報やエクスクルシーブデータなどが入ったデータを作っておき、新しい曲のデータは、そのデータを使って作業を始めればよい・・・というための『テンプレートデータ』なのです。

 曲の冒頭の設定でよく使うものに、下記のものがあります。

     リセット用エクスクルシーブデータ (エクスクルシーブ入力専用トラックに)
         F0 7E 7F 09 01 F7   (GMシステムオン)
         F0 41 10 42 12 40 00 7F 00 41 F7  (GSリセット)
         F0 41 10 42 12 00 00 7F 00 01 F7  (GSモードセット MODE-1)
         F0 43 10 4C 00 00 7E 00 F7   (XGリセット)
     音色の選択 (3つセット)
         ▲#0 (バンクセレクト)   ▲#32 (マップセレクト)   PC (プログラムチェンジ)
     基本設定
         ▲#7 (ボリューム)   ▲#10 (パン)   ▲#11 (エクスプレッション)
     音色のエディット
         ▲#71 (レゾナンス)   ▲#72 (リリースタイム)
         ▲#73 (アタックタイム)   ▲#74 (ブライトネス)
     エフェクト設定
         ▲#91 (リバーブ)   ▲#93 (コーラス)   ▲#94 (ディレイ)
     その他
       ベンド幅の設定 (3つセット)
         ▲#101 (値は0)   ▲#100 (値は0)   ▲#6 (データエントリー)
       ヌル (2つセット)
         ▲#101 (値は127)   ▲#100 (値は127)

 これらを実際に入力したものが下図のものです。もし必要のないものがあれば削除すればいいですし、他に必要なものが出てくれば追加すればいいのです。これらのデータを2小節目までに入れ、3小節目から楽曲データを入力しましょう。
 なお、スピードは1拍目のみ60bpmにしておりますが、エクスクルシーブデータを読み込ませた後の2拍目からスピードを適宜設定しましょう。


 まず最初にエクスクルシーブです。基本的には上記4つのエクスクルシーブを、その順序のまま入力します。この順序は、@どんな音源でもGMで動かす ABGS音源のみGSモードで動かす CXG音源のみXGモードで動かす というものになっています。つまり、どんな音源でもこの4つのデータをこの順序で入力しておけば問題ナシというものです。もしGS音源やXG音源をGMモードで動かしたいのであれば、ABCのデータは削除して下さい。
 残りの4つはGS音源用に入れたものですので、必要なければ削除して下さい。なお、これらの詳しい解説は後々にすることになります。
 これらエクスクルシーブデータは、1チャンネルに送ろうが16チャンネルに送ろうが全く変りません。つまり、どのトラックに入力しても構わないデータであるので、エクスクルシーブ専用トラックを作って入力しておくと便利です。
 各エクスクルシーブデータは30ticksの間隔で入力しています。これには送信時のエラーを防ぐ意味があり、エクスクルシーブは50ms(0.05秒)以上開ける必要があるのです。これは4分音符あたり60bpmのスピード時で30ticksとすると0.0625秒となります。また、4分音符あたり120bpmのスピード時では60ticksの間隔にすれば32分音符分の間隔でもあることから見た目にわかりやすいので私の推奨するところです。ただし、スピードを早くし間隔を広げると、その分同じ範囲内でのデータ数が減ってしまうので、私がいつも使っている120bpmではなく60bpmとしてテンプレートを作っておきました。普段ほとんどエクスクルシーブを使わないので、120bpmであっても8つ使えますので、私としては充分なのです。今回用意しましたテンプレートでは60bpmにしてありますので、倍の16個を並べることができます。
 ちなみに、1拍分でエクスクルシーブを送る設定をしましたので、2拍目から先はテンポを上げるようにしています。2拍目以降にエクスクルシーブを置く場合、間隔に注意して下さい。
 なお、曲の正しいテンポは2拍目で設定するようにして下さい。


 次に各チャンネルごとの設定を入力します。ここには基本的には上記のエクスクルシーブ以外のものを入力します。
 まず1トラック目です。1拍目にエクスクルシーブを置いたので、2拍目以降にすべてを配置しました。
 テンプレート用ですので、すべて音源のデフォルトデータになっています。これらを必要に応じて変化させることで、いちいちコントロール情報を入力する手間が省けます。例えば▲#91はリバーブですが、音源のデフォルト値は40ですので、テンプレートでも40です。これを深くしたいなら40以上に、浅くしたいなら40以下に変えるだけでいいのです。

 左は2トラック目のデータです。上図の1トラック目と何が違うのか気付きますよね?そう、タイミングが5tics後ろにずれています。
 なぜこのようにするのかですが、なるべく同じタイミングでデータ送信をしないようにするためです。ある程度なら同じタイミングで送っても構わないのですが、16トラックで同じデータを同じタイミングで送信したとすると、同時に16個のコントロール情報を音源が受信することになります。その負担により誤動作を起こすことのないように、各トラックごとにデータをずらしておくと安全です。
 各データを80ticksずつずらしているのもそのためです。下表を見るとお分かりの通り、80ticksずつずらしたデータを次のトラックで5ticksずつずらせば、データが重なることがないのです。こうしておけば、他に必要になるデータをどこに入力しても安心ですし、32チャンネルに増やした時にダブらせたとしても問題は起こらないはずです。


 これらのデータは分解能480での表示です。Logicなどの分解能960のソフトでは倍の数値に、分解能96であれば5分の1の数値になります。Cubaseのような分解能384のソフトでは5分の4の数値で表示されます。またSinger Song Writerの場合は、「楽譜の表示」の設定をしないと、見かけ上32分音符か16分音符のタイミングに置かれます。

  0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
1ch                                      
2ch                                      
3ch                                      
4ch                                      
5ch                                      
6ch                                        
7ch                                        
8ch                                        
9ch                                        
10ch                                        
11ch                                        
12ch                                        
13ch                                        
14ch                                        
15ch                                        
16ch                                        


 ということで、ここに私の作ったテンプレートデータを置いておきます。これをお使いになるか、あるいはご自身の使いやすいテンプレートにエディットして有効にお使い下さい。
 いずれ詳しい解説をしますので、乞うご期待。

          template.lzh(16チャンネル用) 解凍すると「template.mid」になります。 ('05.11.09.改訂版)