当サイトのインデックスと最新の更新情報はこちらのトップページに掲載されています。

TO HOME



■ Standard MIDI File [SMF] (スタンダード MIDIファイル)

ここでは、SMFを使用するアプリケーションを作成するのに必要な情報を提供したいわけではないので、

SMFは、ヘッダー・チャンクとそれにつづく1つまたは複数のトラック・チャンクで構成され、 実際の演奏データである MIDIイベントはトラック・チャンク内に収容されています。 このほかに、トラック・チャンクにはシステム・エクスクルーシブ・イベントやメタ・イベントなどが収容されます.......

のような解説は行いません。


さて、SMFには次に示す3つのフォーマットがあります。

  • FORMAT 0
    1トラックで構成で構成される SMF。ただし、MIDIイベントにはそれぞれに MIDIチャンネルが付いているので、 単一の楽器演奏情報しか収容出来ない、ということではありません。

  • FORMAT 1
    複数トラックで構成で構成される SMF。これも、トラック数と MIDIチャンネル数に依存関係があるわけではありません。 たとえば、ピアノ等の演奏情報を低音部と高音部を別トラックに収容しても良いわけです。

  • FORMAT 2
    パターン・トラックを含む複数トラックで構成で構成される SMF

フォーマット情報は SMF内部のヘッダー情報に収容されている為、フォーマットごとにファイルのネーミングが異なるようなことはありません。 ちなみに現在、 Windowsでは、SMFのファイル名は、拡張子".mid"で統一されています

一般的に SMFというと、上の2つ、"FORMAT 0"または "FORMAT 1"のものを指します。"FORMAT 2"はあまり馴染が無いので説明は割愛します。

初期の MIDPLUGでは"FORMAT 1"が扱えないなどの問題がありましたが、現状では"FORMAT 0"または "FORMAT 1"のいずれかで作成すれば、 音声再生上は問題無いと思われます。

最近(1997.3.20現在)、YAMAHA MIDPLUGの最新版がリリースされ、MIDIファイルの Streaming再生が可能になりました。

この、"Streaming ..."というのは、ファイルを完全に受信してから再生などの処理を開始するのではなく、 受信した分から逐次処理を行うことをいい、代表的なものでは RealAudio、Shockwave audio等があります。

MIDPLUG最新バージョンの Streaming再生は、FORMAT 0の SMFに対してのみ可能である、とあります。 SMFは構造的にトラックごとの情報がひとかたまりになっており、 マルチトラックの SMF(すなわち FORMAT 1と2)の各トラック・データを並行に送受信するのは、 特別な仕組みを導入しない限りムリであると思われるため、 今後のバージョン・アップでも FORMAT 1と2の Streaming化は期待できないかもしれません。
今後、SMFの新しいフォーマットが提案されるかもしれませんが.......。

ただし、再生しながら譜面を表示したり、ミキサー・ライクな画面を持つシーケンス・ソフトでの再生を考慮するならば、トラック内での MIDIチャンネルの混在をさけた上で、 FORMAT 1で作成したほうが良いかもしれません。
メディア・プレーヤーの様な、再生位置のみをバー状に表示するものの場合で再生する場合は、 見かけ上 "FORMAT 0""FORMAT 1"の違いは分かりません。

これは、シーケンス・ソフトによって違うのかもしれませんが、例えば CUBASEの場合は SMFを作成する場合に、 任意にフォーマットを選択することは出来ません。もともとが単一トラックの場合は自動的に "FORMAT 0"で、複数だった場合は "FORMAT 1"で書き出されます。

複数トラックの演奏データを"FORMAT 0"で書き出すためには、事前に単一トラックにミックス・ダウンしておく必要があります。非常に簡単な作業ではありますが......。





TO HOME


- 1996-1997 izmi All rights Reserved. -