銀杏ヶ淵バナーTop Guild Text Illust Sound Offline(別窓) Q&A Union Link Web拍手 雑記+拍手レス 

DTMの基礎:第5回……たぶんこれで最終回、だと思う。

・midiファイルの先頭に入れなきゃいけない命令について

何かしらのソフトを使って曲を作っていくわけですが、一度に何曲にも手を加えてると
やっかいな事が起きるものでして。

『前に演奏した曲の音で再生しやがる』

うちのソフトではこうなりますが、別のソフトだと大丈夫かもしれません。
しかしまあ、ソフトで大丈夫だとしても、midiファイルで配布しようとすると
(まぁ大体wavとかmp3とかにしちゃうとは思いますが)
他の曲の後に目的の曲を再生したときに、「何これ」となること請け合い。
そこらへんのmidiファイルを何曲か手当たり次第に何度も再生してると、時々
「同じ曲なのにさっきとは違う音で再生されてる」なんてのが出てくるかもしれませんが
原因は多分、midiファイルの先頭に命令が入ってないからです。
(ひょっとしたら違う原因のもあるかもしれませんが)

……えーまぁ正直言って七面倒くさいものなんですが、ソフトを使い始めてから
「なんでー」とならないために、さっくり説明。
ソフトによっては簡単に入力する方法もあるかもしれませんが、
入力方法そのものについては各取説を見てください。

・GMシステムON(呼び方は人やソフトによっていろいろかもしれない。これに限りませんが)
midi音源の総括的な規格は「GM」と言います。
この上位規格でさらに「GS」と「XG」という規格に分かれたりするんですが。
この命令は、音源を、「GM」規格で作られたデータを正常に再生できるようにリセットするものです。
似た命令に「GSリセット」とか「XGリセット」とかあったりしますが、これも、上で書いた上位規格用に
音源をリセットするもの。
使ってる音源に対応したどれかひとつを、第1トラックにでも入れればいいです。
公開するmidiデータを作るときは、最初にGM〜を入れた後に、少し間隔を空けて
自分の使っている音源用のリセットを入れる人もいる。

この命令は「システム・エクスクルーシブ」というものに属するもので、命令入力には16進数を使う。
「システム・エクスクルーシブ」は「コントロールチェンジ」より踏み込んだことができて、
例えば全体的なチューニングを変えるとか、10チャンネル以外をドラムチャンネルにするとか
その他いろいろできるようですが、正直私が全く理解してないので必要以上の説明はしません。 orz

さておき、GMシステムONを入力する時は、「システム・エクスクルーシブ」入力画面でこう入れる。
F0H 7EH 7FH09H 01H F7H
あ、「こう入れる」と書いたけれど、各ケタの最後の「H」は、16進数であることを示す記号なのでこれは入力しません。
だから本当に「こう入れる」だと「F0 7E 7F 09 01 F7」と入れるわけです。

ただ、おそらくはこれから音源を準備するなら、「GS」か「XG」のどちらかに対応していると思うので、
GS規格で曲を作った場合は以下を入力。
F0H 41H 10H 42H 12H 40H 00H 7FH 00H 41H F7H
ごめんXGは持ってないから分からない。

(以下は「もうちょっと込み入った例」なのでひとまず読み飛ばしOK)
−−−−−−−−−−−−−−−−−−−−−−−−
上の例は、見たままを入れればいいのでまだいいんですが、例えばこんな例も。
うちで使っている音源の場合、先頭に入れるシステム・エクスクルーシブはこんなん。
F0H 41H 10H 42H 12H 00H 00H 7FH ddH sumH F7H(注:音源の説明書の記述のまま)
音源によっては、こんな感じで説明書に16進数以外の記号が入った命令を入れる必要があるかも。
もちろん、これはこのまま入れるわけではなくて、16進数以外のところには必要な数値を当てはめる。
上の例のddには、(上の例では)機器を1台の楽器として使うか2台の楽器として使うかによって
入れる数値が変わってきます。
sumはチェックサムで、データエラーの有無の確認のために入れるもの。当然、ddに入れた数値次第で変わる。
しかも16進数でだぜ。計算マンドクセ(’A`)
でもこれもまだシステム・エクスクルーシブではマシな方で(説明書にも入れるべきチェックサム書いてあるし)
中には変数だらけでチェックサムは自分で計算しろてやんでぇ! みたいなものもある。マンドクセ(’A`)
まぁでもそこまで面倒なのはあたし初心者だから使わなーい orz
−−−−−−−−−−−−−−−−−−−−−−−−
(読み飛ばしここまで)

なお、これらの命令ひとつと、その次の命令の間には、50ミリ秒の間隔を空けないといけないらしい。
計算面倒なので、手っ取り早く、第一小節にはこの命令だけを入れて、
第二小節に以下の命令を入れ、実際に曲が始まるのは第三小節以降から、という感じのデータも多いです。
wavにした時に無音部分ちょん切っちゃえばいいんだからw

頭痛がするほど面倒なシステム・エクスクルーシブはとりあえず上でおしまい。
これで設定がリセットされる(はずな)ので、続いて、演奏する曲のための設定を入れていく。
(以下の命令は『コントロール・チェンジ』系の命令なので、必要なトラック全部にそれぞれ入れないといけません)

・プログラムチェンジ
音色を変える設定です。これを設定しないと変な音で鳴る原因のひとつになります。
第1回で、音色には番号が割り振られている説明をしましたが、あれを指定するのです。
大抵、ソフトにワンタッチで入れてくれる機能があるかと思いますが、手入力だったり
あとで手動で設定し直そうとかいうとき、気を付けないといけないのは、
入力する数値は、音色番号から1引いた数だということです。内部的な処理の問題で。
(番号1のピアノだったら、入力数値は0ということ)
バリエーション音色がある場合は、バンクセレクトという、それ用の命令にも数字を入れなくちゃならない。
(バンクセレクトに入れる数字は1を引く必要はない)
第1回で説明した中の、108-024 Oct Harpという音色を入力する場合は(GS規格の場合)

バンクセレクトMSB……24
バンクセレクトLSB……0
プログラムチェンジ……107

となる。この3行は常に一緒に使うと思っておいた方が楽かも。
ちなみに真ん中の バンクセレクトLSBは、XG規格でバリエーション音色の選択に使うらしい。
なので、当面は、プログラムチェンジ→基本音色番号、
バンクセレクトMSB(LSB)→バリエーション音色番号(基本音色時は0)と覚えればいい、と思う。

・ボリューム/パン/リバーブ/コーラス/ディレイあたり
値を設定しているものがあったら、その値を入れる。

その他、設定してるコントロール・チェンジ系の命令があったら、音の鳴り始める前に設定を書く。
(先に書いたとおり、第2小節をこの系統のデータ入れ場にするのが手っ取り早いかと思います)

とりあえず、これでOKか……と思う。
好きな曲のmidiデータが公開されているのを見付けたら、データを見てみると
参考になるかと思います。
ちなみに私のは結構滅茶苦茶書いてるのであまり参考になりません(苦笑)。