もどる詳しい話をする気はないが、ハマりがちなポイントなどをいくつか。format2」の3種類があって、多少面倒なことになっている。SMFフォーマットの話をする前に「チャンネル」と「トラック」について説明しなければならない。MIDIを再生する際、データを入力>データを保存>データをシンセサイザーに送る>音声信号が得られる、という手順になる(ここでいうシンセサイザーは楽器の名前ではなく、記録された情報を音声信号に変える装置やソフトウェアのこと)が、MIDIチャンネルはシンセサイザーにデータを送るときに使う単位、トラックはデータを収納・再生するときの単位を示す。すべてのチャンネルのデータを1つのトラックに保存して、再生時に各チャンネルに振り分ける。複数のトラック(必ずしも1トラックに1チャンネル分のデータしか入れないとは限らないし、1つのチャンネルのデータを複数のトラックに分けてもよい)を使ってデータを保存する。引越しの荷物を1台のトラックで運ぶか、複数台のトラックで運ぶか、といったシーンを思い浮かべればイメージが近いだろうか。format0だと、再生時のチャンネル振り分けでもとのチャンネル番号が無視される(チャンネル番号が入れ替わることがある)ので、MIDIデータを再度シーケンサーに読ませる予定がある場合はformat1を使いたいのだが、format0しか扱えない機器やソフトウェアもあるので注意が必要。ちなみにSMF以外のフォーマットとしてはRMID(RIFFのコンテナにSMFと同様のシーケンスデータを収納したもの:拡張子.rmi)が有名で、cherryでも読み込める(2009年現在Dominoでは読めない)。Winユーザーの人は、システムディレクトリ(C:\WINNTなど)にあるMediaというディレクトリを開いてみれば、いくつかサンプルが見つかるはず。データフォーマットMIDIで送受信するデータを総称して「MIDIメッセージ」という。そのうち特定のチャンネル宛てのものを「チャンネルメッセージ」、接続先デバイス自体に向けたものをシステムメッセージという。チャンネルメッセージは、演奏内容に関連する「チャンネルボイスメッセージ」(ノートオンやノートオフのほか、コントロールチェンジやプログラムチェンジも含まれる)とチャンネルの状態(モード)を制御する「チャンネルモードメッセージ」(オールノートオフやリセットオールコントローラなど)に分かれる。ONやMastarVolumeなど:全体の制御やマスターイフェクトとして使うのが本来の用途なのだと思う)、同期用の「システムリアルタイムメッセージ」に分かれる。GMという一番基本的な規格があって、世の中のMIDI規格はほとんどこれを満たしている(はず)。GMを拡張した規格(GMのスーパーセット)としてRolandのGS(高性能音源としてはもっとも人気が高い:歴史的には、GSのサブセットとしてGMができたらしい)とYAMAHAのXGが有名。そのほかにGMに代わる新しい規格としてGM2(それなり以上に高性能な音源でないとフル機能は使えない)というのもある。1〜3(こちらはきちんと規格化されており、これ以外にもliteなどがある)といった具合に分かれている。ここで困るのは、たとえばGS音源用のデータをGM音源で再生しようとするとうまくいかないことがあるのはもちろん、GM音源用のデータをGM対応の音源で再生する場合であっても、音源が違うと同じ音は出ないということ。ほとんどの音源がGMに対応しているとはいえ、たとえば音色番号1番に生ピアノが入っていることまでは確実に予想できても、どんな音色の生ピアノなのかは予想できない。音源によってミュートのかけ具合が大きく違い、とんでもない音が出る場合がある。そこまで極端な例ではなくても、使用する楽器が増えれば増えるほど、小さな差異が積み重なって大きな違和感になることがある(反対に、1チャンネルしか使っていないような場合だと、音色が多少変わっても違和感が少ないことがある)。音色以外にも、バンクセレクト(音色数が128では足りないので、バンク0の音色50とか、バンク8の音色15とか、そういう指定の仕方をする:GMではもともと128種類しか音色がないので無視される)の手順が違ったり、最大同時発音数(GMは16)が違ったりする。Rhythm)を1か2にすることでドラムセットを2種類併用できる(デフォルトのドラムセットは1番を使っているはず:複数のトラックから1つのドラムチャンネルにデータを送ることも可能)。いうソフトウェアシンセサイザーがデフォルトで入っており、MIDI音源つきのサウンドカードを使っている場合を除き、Windowsユーザーはこれを使っている人が大半だと思われる。Synthとまったく同じ音ではない(一応、同じファイルを再生・録音して波形も確認した:QuickTimeではWindowsのコントロールパネルで設定したMIDI出力先は無視される、というか使われない)。このため、Win/Macでのシェアはローランドの圧勝になっている。QuickTimeの方が再生が遅く16秒につき100msくらい遅れる(全般に重い)。QuickTimeのソフトウェアシンセできちんと音が出るようにしておくのが無難だということになる(受け手がシーケンサーに読み込んで編集する前提ならformat1の方が便利)。使ってQuickTime音質チェックをすれば問題ない(Windows版のQuickTimeとMac版のQuickTimeで同じ音が出るとは限らないが)。利用できるのかどうかはよくわからないが、WindowsにもQuickTimeはあるので、推奨音源としてそちらを指定しておけばよい。PCUnixで作業している場合はいったん録音してMP3などのファイルにしてから公開した方が無難かもしれない。QuickTimeのどちらかで再生チェックをしておかないと、意図せず酷い音で再生されてしまう可能性が非常に高い。詳しくは後述するが、最近は音声圧縮技術・ストレージ環境・ネットワーク環境などがよくなっているので、MP3などの圧縮音声フォーマットによるファイル公開もかなり手軽に利用できる(192kbpsでも5分の演奏で7MB強)。MIDIファイルはプログラムのバイナリファイルに対するソースコードのような位置付けで公開するというのも一案だと思う。データの中継パソコンでMIDIを鳴らす場合、再生ソフトと音源との間に仲介ソフトを挟むことが多い。いうソフトウェア(後述のMIDIマッピングをいじるソフトではない:紛らわしい名前だ)がこれを担当している(後述するが、設定の仕方が奇妙)。OUT(出口専用)の2種類があって、中継ソフトは入り口と出口を両方持った中継所のようなものにあたる(仮想MIDIケーブルという呼び方もあってわかりやすい喩えなのだが、1つのポートに複数のソフトを接続することも可能なので、単純にケーブルの代替をしているわけではない)。INポートが1つしかないソフトウェアシンセを使っていて、2つのソフト(シーケンサーとソフトウェアキーボードとか)から音源を利用したい場合、両方のソフトのOUTポートを中継ソフトのINポートにつないで、ミックスしてから音源に渡す、といったことができる(ソフトウェアシンセのINポートには1つのソフトからしか入力できないのが普通だが、上でも述べたように、中継ソフトは複数のソフトを同時に相手できるのが普通:昔のMIDIマッパーは1ポートにつき1ソフトだった気もするがよく覚えていない)。YOKE(トップページ)などオンラインソフトとして公開されているものもある。INに入った信号が中継ソフトの1番に入って、、、という無限ループになる)。複雑なパターンでフィードバックが起きることもあるが、最低限上記のような設定になっていないことを確認しておこう。MIDIマッパーは設定の仕方がWindowsのバージョンによって違う。詳しいことに関しては、もっと正確に説明しているサイト(トップページ)があるのでそちらを参照して欲しいが、とりあえず「マルチメディア」とか「サウンド」と書いてある設定を選択して「MIDIの再生」を変更すると、MIDIマッパーが受け取ったMIDI信号の送り先を変えられる。呼ばれる場合もある)のためのもの)。古めのMIDIマッパーはINポートの番号を手動で指定していた気がする(あまりよく覚えていない)が、比較的新しいMIDIマッパーなら気にしなくても勝手にINポートを切り替えてくれる(はず)。NT系でのMIDIマッパーやWaveマッパーの設定はグローバルな設定ではない(ユーザーごとに別々の設定が使われる)ので、MIDIデバイスを使うユーザーで設定をしなければならない(管理者ユーザーで設定しても反映されない)。端子が1つしかついていないサウンドカードに3台のキーボードを繋いで録音したい場合などは、MIDIミキサーと呼ばれる機材(ボリューム調整やイフェクトなど、より高度な機能がついている製品が多い)を通して、1つめの楽器はMIDIチャンネル1番に、2番目の楽器は5番に、などと振り分ける。MIDIマッピングを変更して、たとえばダンパペダルの信号(MIDIの用語ではプログラムという)しか出せないフットペダルをソステヌートペダルとして使えるようにできる製品もある(MIDIマッピングを変更できるソフトウェアももちろんあり、たとえばKDEのKmidがこの機能に対応している)。MIDIの録音ソフトウェア音源で鳴らすなら別ページで紹介するTiMidity++を使えばよい。音源から直接録音するのでシーケンサーやMIDIプレイヤーで鳴らしたときよりも高音質になる(貧弱な環境ではとくに)。さんのAudioEncoderというソフトウェア(Lameのフロントエンドとしてはちょっと使いにくいが、MIDIの録音ソフトとしては非常に優秀)が便利。外部音源の専用機などは、たいてい自前でレコーディングソフトを持っている。ぃさんのぽけっとれこーだーなど、録音機能だけのソフトを使うのもアリだが、ファイル数が多いとちょっと面倒かもしれない。PCUnixなら、KDEを入れればとりあえず録音に必要なソフトは一通り入るはず(バージョン1.2.3現在ではまだ機能していないが、後述のaudacityでもMIDIの再生や録音が可能になる予定)。SOFTWARE-(トップ)独り言MIDIに限らず、作者の「作った通りの音」というのは(厳密にいえば作者の手元でも「完全に同じ音」は2度と出ないが、そういうことを無視しても)作者の手元でしか出ない。自分で録音した音を同じ機材を使って再生しても、少しボリュームを上げただけで印象が変わることがあるし、ヘッドフォン再生とスピーカ再生を比べた場合などはもっと顕著な変化がある。いったことを悲観する必要はないように思う。一部のCDで現にやっているように、極限のHi-Fi環境を前提にして音を作り込むのもアリだが、逆に、変化の中でも生き残れるような作り込みを目指す(感覚的な表現しかできないが)ことで、より生き生きとした音になるのではないかと思う。極端な話をすれば、リハーモナイズされて完全に別の演奏になったとしてもよい曲はよい曲でありつづけるわけで、そういうよさを活かそうという意識を持つことで、演奏者やエンジニアの仕事も生きてくるのではないか、ということ。別の人がコピー演奏をして改めて録音をしても、オリジナルの演奏者やエンジニアがよい仕事をしていれば、何かの形で生き残るのものがあるのだと思う。もどる自滅への道トップページ。