« VAIO Master's Quiz Part 2 | メイン | 新VAIOethics2周年 »

2007/07/15 (Sun.)

VistaでWMPのMIDIを切り替える

author : IceSeed

先日書きましたが、VistaはデフォルトのMIDIが超貧弱です。
おまけにXPまで搭載されていたMIDIマッパーが無くなったため、今までのようにGUIからMIDIを切り替えることが出来なくなっています。
Winampなど、MIDIマッパーを使わずにアプリ側から直接MIDIドライバを読み出せるものはVistaでもMIDIを切り替えて使うことが出来ますが、ブラウザ上でプラグインを使って直接再生できるQuickTime・RealonePlayerに外部のMIDIを選択する機能はありません。
それに個人的にはRealは入れたくないですし、VistaではWMPはデフォルトのままではゴミ音源なMSGSしか使えませんorz。
一時しのぎとして使っていたQuickTimeのMIDIはMSGSよりはずっとマシですが、微妙なのも事実。

で、いろいろとWEBで検索をかけていたところ、レジストリ内にMIDI出力の設定があることまでは調べられたのですが、使い方がわからないw
場所は
HKEY_CURRENT_USER\Software\Microsoft\ActiveMovie\devenum\{文字列}\Default MidiOut Deviceの
MidiOutIdというキーになります。
ちなみにXPにも同様のキーがあります。
デフォルトでは「ffffffff」となっていて、たぶんここの設定からMIDIマッパーに投げてMIDIマッパー側でMIDIの選択をさせていたのでしょう。
が、VistaではMIDIマッパーが無いため、OSデフォルトのMSGSにしか投げられないということではないかと。

というわけで、このMidiOutIdを書き換えて直接ドライバを指定してみます。
何の値を入れたら動くかよくわからなかったのでいろいろ入れてみたんですが、どうやら「0」がMSGS、「1」以降はインストールしたMIDIドライバの順番に番号が振られるようです。
「0」から順番に値を変えながらWMPで確認していって、Timidity++ドライバをVistaのWMPで使えるようになりました。
ちなみに値の変更はすぐに反映されるので再起動やログオフは不要です。
ドライバで動作してWinampなどから設定可能なら、ほかのMIDIでも大丈夫じゃないかと。

とりあえず、これでブラウザ上でもWMPでまともに再生可能になります。
しかし、まともなMIDI動かすだけで何でこんな苦労しなきゃいけないんだろうか…ああめんどくさい。
ちなみにMSから落とせるYAMAHAのS-YXG50ソフトシンセはVistaではインストールできるものの、Winampでもドライバの選択に上がってこないために動作不可能なようです。
どうやらVistaでXG音源はダメらしいとの話もありますが…

Calblog in excite : VISTAでMIDIマッパーが無くなった件について
SourceForge.jp: Project File List Timidity++

13:00