打ち込み一般



【音源のリセット】

まず最初にすることは、音源のリセットです。さもないと、前のデータの設定を引きずったまま演奏をすることになってしまいます。ここでは、GM音源、GS音源、XG音源のリセットの方法を紹介していきます。なお、リセットは、音源が処理するのに時間を必要とするので、ステップタイムを十分に確保するようにしてください。音源のマニュアルには約0.05秒と書いてあることが多いですが、もう少し余裕を持って確保したほうが安全です。

リセット中は、MIDIメッセージを送信してはいけません。リセットのデータを送信後、あまり時間を確保せずにメッセージを送った場合、それは有効にならないかもしれないのです。

リセットは、音源全体の初期化をするものなので、どこかのトラックに1つだけ入れておきます。同じリセットのメッセージを複数のトラックに入れる必要はありません。

・GMシステムオン
GM音源用データを作るには、GMシステムオンを送信します。
NOTE K#  ST  GT VEL
* GM System ON
Tr.Excl  48   0   0 ← [7E 7F 09 01 F7]
GS音源やXG音源は、GMシステムオンを受信すると、NRPNとバンクセレクトが機能しなくなります。ただし、そのあとにGSリセットやXGシステムオンを受信すると、また使えるようになります。

GSやXG用データの場合でも、GSリセットやXGシステムオンの前にGMシステムオンを入れておくと、GM音源でもそれなりの演奏をすることが期待できます。

MU90のマニュアルでは、GMシステムオンとXGシステムオンの両方を入れる(GMシステムオンを送信後、XGシステムオンを送信する)ことを推奨していますが、SC-88Proのマニュアルには、GMシステムオン、GSリセット、システムモードセットのうち、どれか1つだけを入れるようにすると書いてあります(理由は書かれていないのですが)。

「GM用データの作り方」の「音源をリセットする」も参照してください。

・GSリセット
レコンポーザでは、ローランドの音源用の命令がいくつか用意されているので、それを使うことが多いです。もちろん、エクスクルーシブデータで同様の処理を行うこともできます。
NOTE K#  ST  GT VEL
* GS Reset
RolDev#      16  66
RolBase      64   0
RolPara  48 127   0
あるいは
NOTE K#  ST  GT VEL
* GS Reset
Tr.Excl  48   0   0 ← [41 10 42 12 40 00 7F 00 41 F7]
・システムモードセット
SC-88用やSC-88Pro用のデータを作るのなら、GSリセットよりもシステムモードセットを使うことをおすすめします。これを使うと、システムモードを決めたあと、GSリセットがかかります。通常は、シングルモジュールモードのMODE-1で使うので、以下のように書きます。
NOTE K#  ST  GT VEL
* System Mode Set
             MODE-1
Tr.Excl  48   0   0 ← [41 10 42 12 00 00 7F 00 01 F7]
SC-88用データでありながら、SC-55系の音源でも演奏されることを意識するのであれば、システムモードセットのあとにGSリセットも入れるとよいでしょう。SC-88Proのマニュアルには、どれか1つだけとは書いてありますが、それぞれに十分な時間を確保すれば、特に問題はないと思われます。

・XGシステムオン
XG音源では、XGシステムオンを送信します。以下のように記述します。
NOTE K#  ST  GT VEL
* XG System ON
Tr.Excl  48   0   0 ← [43 10 4C 00 00 7E 00 F7]
XG音源には、オールパラメータリセットという命令もありますが、こちらは音源の内部の設定(液晶のコントラストなど)をすべて初期化してしまいます。通常は、XGシステムオンでリセットさせましょう。

【ピッチベンドのレンジ設定】

ギターなどでは、初期状態のピッチベンドのレンジ(通常は2になっている)では表現できない演奏法がいくつかあります。このような場合、レンジを12にしたり24にしたりします。ピッチベンドのレンジを12に変更するには、

NOTE K#  ST  GT VEL
* Bend Range 12
RPN(M)    4 101   0
RPN(L)    4 100   0
DATA(M)   4   6  12 ← ここ(VEL)に値を入力

と書きます。なお、レコンポーザの場合、レンジを8や16にしたほうが、ピッチベンドの数値が扱いやすくなります。

「GM用データの作り方」の「RPN」も参考にしてください。


【マスターボリュームの変更】

・GS音源
トラックエクスクルーシブで、41 10 42 12 cs 40 00 04 ve ss F7と書きます。csというのはクリアチェックサムのことで、ここでチェックサムをクリアしています。次の40 00 04 veの後ろにあるssは、センドチェックサムです。本来、チェックサムは自分で計算するのですが、レコンポーザが自動で計算してくれるため、単にssを入れるだけで済みます。

・XG音源
トラックエクスクルーシブデータを43 10 4C 00 00 04 ve F7とします。XG音源にはチェックサムは必要ありません。

レコンポーザでは、トラックエクスクルーシブデータを入力し終わると、以下のような表示がされます。

NOTE K#  ST  GT VEL
Tr.Excl       0   0

この場合、ベロシティを入力する所がマスターボリュームの値になるので、

NOTE K#  ST  GT VEL
* Master Volume VEL
Tr.Excl  12   0 126
Tr.Excl  12   0 125
Tr.Excl  12   0 124
          :
          :

と書けば、だんだん小さくなっていきます。下げるタイミング(間隔)は、STの値で制御します。気にならなければ、VELの所の値は、126 124 122と間引いてもかまいません。

エクスクルーシブのデータを何度も入力するのは面倒なので、一度書いたら[K]でいったん消し、[Y]でコピーしましょう。しかし、VELの値をだんだん小さくするコマンドは、ここでは使えないので、その数値は入力していくしかないようです。

できたら、パートセーブをして、いつでもすぐに使えるようにしたほうが楽です。4小節や8小節など、いろいろなパターンでフェードアウトを作っておくことをおすすめします。

GMレベルでマスターボリュームを制御する命令もあります。ただし、初期のGS音源では対応していないため、注意が必要です。詳しくは、「GM用データの作り方」の「マスターボリューム」を参照してください。

XG音源では、マスターアッテネータというものもあります。マスターボリュームとは逆に、数値が大きいほど音が小さくなります。


【ボリュームとエクスプレッションの使い分け】

ボリュームとエクスプレッションは、どちらも音量の制御を行うものです。ボリュームは、主にセットアップ小節に置いて、そのパートの音量を決めるものです。エクスプレッションは、個々の音に対しての細かい音量変化に用います。このような使い方をすれば、あるパートの音量を少し上げたり下げたりしたい場合に、セットアップにあるボリュームを変えるだけで済みます。

「GM用データの作り方」の「ボリュームとエクスプレッション」も参考にしてください。


【セットアップ小節の処理を分散させる】

とかく集中しがちなセットアップ小節での処理の分散方法として、私は以下のやり方をよくしています。

Tr.1                  Tr.2                     Tr.16
NOTE K#  ST  GT VEL   NOTE K#  ST  GT VEL      NOTE K#  ST  GT VEL
     60  80   0   0        60  83   0   0      * XG System ON
VOLUME    4   7 110   VOLUME    4   7 105  ‥  Tr.Excl  72   0   0
PANPOT    4  10  40   PANPOT    4  10  78
REVERB    4  91  70   REVERB    4  91  30
          :                     :

この例では、Tr.16にリセットのメッセージを入力しています。その間、ほかのトラックはTr.16のSTよりも多く休符を確保します。しかも、トラックナンバーが増えるごとに、ST値を一定間隔で増やして確保しておきます(この場合、80→83→86と、3ずつ増やしていきます)。

そして、個々のトラックのコントロールチェンジなどの命令をST=4として書き並べています。こうすると、最初の休符の長さが微妙に違うため、そのあとのデータが少しずつずれて送信され、一気に送られることが、ある程度防げます。

これを図にしてみます。ステップタイム1つ分を○で表し、

●=MIDIメッセージが送られている、○=何も送られていない

とすると、1つのMIDIメッセージにつき、ST=4が確保されている場合、●○○○と書けます。実際には、MIDIメッセージが処理される時間は不明ですが、送信するタイミングがこの場所にあるという解釈をしてください。

そして、トラックナンバーが増えるにつれ、3ステップずつ増やしていったため、それぞれのトラックの頭に○○○を付け足していきます。なお、下の図は、最初の80ステップを省略しています。

      →時間の流れ
Tr. 1 ●○○○●○○○●○○○●○○○●○○○●○○○●○○○●○○○●○○
Tr. 2 ○○○●○○○●○○○●○○○●○○○●○○○●○○○●○○○●○○○
Tr. 3 ○○○○○○●○○○●○○○●○○○●○○○●○○○●○○○●○○○●
Tr. 4 ○○○○○○○○○●○○○●○○○●○○○●○○○●○○○●○○○●○
Tr. 5 ○○○○○○○○○○○○●○○○●○○○●○○○●○○○●○○○●○○
Tr. 6 ○○○○○○○○○○○○○○○●○○○●○○○●○○○●○○○●○○○
Tr. 7 ○○○○○○○○○○○○○○○○○○●○○○●○○○●○○○●○○○●
Tr. 8 ○○○○○○○○○○○○○○○○○○○○○●○○○●○○○●○○○●○
Tr. 9 ○○○○○○○○○○○○○○○○○○○○○○○○●○○○●○○○●○○
Tr.10 ○○○○○○○○○○○○○○○○○○○○○○○○○○○●○○○●○○○
Tr.11 ○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●○○○●
Tr.12 ○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●○
Total 10011011111121122122222232233233333

このようにすると、最大でも3つ重なるだけで済みます。トラック数が16あっても、最大で4つです。もう少しうまいやり方も考えられますが、ずらす数字と空ける数字がいつも一定で、あまり難しいことを考える必要がないのが利点です。ただし、そのトラック全体のST値をずらしてある場合は、それを考慮して最初の休符を設定しないと、正確に上記のようにはならないので注意してください。

問題点は、後ろのトラックのステップ数が足りなくなる可能性があることです。少し詰めて、2ずつ増やして3空ける、でもいいでしょう(その分、密集しますが)。後ろのトラックも最初から送信すればいいのですが、最初の休符の数値を決めるのに少し混乱するかもしれません。ここで挙げたやり方と同じにする必要はありませんが、とにかく音源に負担をかけないよう、少しずつ送信することが重要です。

また、一連の設定を行ったあとには、何もしない時間を設けましょう。設定直後に音を鳴らすと、その音の出だしがおかしくなることがあるからです。

演奏前の大事な設定ですので、確実に音源が処理できるよう、このような配慮をする必要があります。一気に送って大丈夫だったとしても、別の環境ではうまくいかないかもしれないのです。


[トップページ] / [打ち込み虎の巻]