MIDI あれこれ

投稿者名: 
Aqualighit
ホストOS: 
Windows7
ゲストOS: 
WindowsXP
本文: 

 最初に…
ここに書かれた内容は virtualBox にあまり関係が無いかもしれません事をお詫びしておきます。

 

まず簡単に MIDI について解説しておきます。
MIDI データ最大の特徴は、「楽譜データである」という事です。
録音によって得られた電気信号をデジタル化した wav データとは違って、演奏を担当する楽器によって音色や表現が違ってきます。

MIDI 黎明期には楽器(音色)番号は楽器製造会社によって異なっていました。
それは、A社製の楽器用データをB社の楽器で演奏すると、ピアノのパートがクラリネットになってしまう…というレベルでした。
その状態では演奏データの互換性が無く運用に不便なので GM規格という互換性を持たせた楽器が登場しました。
この規格で同じ音色番号なら似た音が出るようになったとは言っても、楽器製造会社ごとの音色の微妙な違いは残りました。
仮想音源であれ、リアル音源であれ、これが音色や表現が音源によって微妙に異なる理由です。

この事から、MIDI データはデータが作成された環境が無いとオリジナルが再現出来ない事が分かります。
また、それを承知で異なる環境で演奏するのですから、その演奏はモニタリングに等しいとも言えます。

 

PCで MIDI データが演奏可能なのは、PCがMIDI楽器としての機能を持っているからです。
現代のPCは、OSがMIDI音源をソフトウェアの形でバンドルしていますが、win95 時代にはハードウェアとして搭載していました。
投稿者の記憶が確かなら、最初にMIDIがOSレベルで扱えるようになったのは、 win95 だったと思います。
当時は拡張スロットにFM音源を用意し、OS側で音色データをマッピングしての利用です。
もちろん業務用マシンにはビープ音しかなく MIDI など拡張されたマルチメディア機能の一部に過ぎず演奏は不可能でした。

記憶が定かではありませんが、MIDI が標準的にサポートされるようになったのは win98SE のゲーム環境からだったと思います。
ゲームにBGMは付き物ですが、その音源仕様がマシン毎に異なるのではPCゲームの開発や販売の障害になります。
そのため、wave 音源さえ搭載していれば音楽が演奏可能になるよう、OSにバンドルされ仮想音源が供給されたと…
それが XP までの音源【Microsoft GS Wavetable SW Synth】でローランド製でした。

vista 以降もローランド製ですが【Microsft GS Wavetable Synth】と簡素化し、MIDI mapper も無くなり問題を起こしています。
この問題解決策は、こちらのサイトのテーマではないため書きませんが、既に解決しています。
ともあれ、ゲームのBGMとしての MIDI が役割を終えた感じで、OSから見た MIDI は「いらない子」化している状況です。
また、MIDI は演奏環境とのセットが本来で、PCでの演奏は飽くまでモニタリングです。
そういう意味では、終息してゆく標準デバイスかもしれません。

 

で、やっと virtualBox での話です。
元々 virtualBox は32bit OS 以降をターゲットにしていて、16bit 環境をサポートしていません。
そのため、起動時に 16bit 環境を必要とする win95、win98、98SE、ME はゲストとしてサポート対象外です。
(厳密には、途中で自身の動作環境を変えるOSを指し、16bit 環境が永続するMS-DOS だけなら問題になりませんが。)

それを承知で virtualBox に win98SE をインストールした事があります。
自身のサイトに、その結果やノウハウを全てまとめてありますが、どうしても解決出来なかった問題が MIDI でした。
具体的には…

  • dxdiag によるテストでは MIDI 演奏が可能
  • MIDI マッパーによる出力変更を行っても Microsoft GS Wavetable SW Synth の音が出ない

結局、原因が不明で、対処法として YAMAHA の S-YXG50 という仮想音源をインストールして誤魔化しました。
(仮想環境に仮想音源とは何とも… 笑)

改めて確認出来た事は…

  • 運用中に 16bit ⇔ 32bit と環境の変わるOSは使えない。
  • 95系OSは思わぬ部分で 16bit 環境が顔を出す

こういう事になるでしょうか。

そして MIDI に話を戻せば、OSでの MIDI 対応はモニタリングでしかなく、機能としてはお粗末。
結局、MIDI に対する仮想環境の目的はモニタリングを除いて XP や win2k でしか動作しない MIDI シーケンサーを動作させる事しか無いようです。
これなら音源は外部だし、楽器さえあれば最良の結果が得られるのですが…
今どき MT-32 とか CM-64 なんて音源を持ってる人は少ないでしょうね。

コメントを追加

Filtered HTML

  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 使用できるHTMLタグ: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br />
  • 行と段落は自動的に折り返されます。

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
スパム投稿防止の為以下のテキストを入力してください
Image CAPTCHA
Enter the characters shown in the image.