GIMIC USB制御デモ

GIMICのUSB制御デモを公開します。以下の手順に従ってGIMICのファームウェア更新、ソフトウェアの用意を行って下さい。

■更新履歴
2011/10/29 ファームウェアアップロード
2011/10/30 OPNA対応ファームウェアに更新(演奏の遅延が改善)
2011/11/03 OPM対応ファームウェアに更新(OPN3L/OPNAモジュールにも対応しています)
2011/11/03 私家版ねこープロジェクトIIでGIMICのUSB制御に対応して頂きました
2011/11/19 ファームウェアを更新、c86ctl2を追加
2011/11/20 c86ctl2を更新
2011/12/18 nue氏作のgimic_pcidebugの紹介を追加

ファームウェア更新

GIMICをUSB制御デモ専用ファームウェアに更新して下さい。
ファームを更新したらスイッチを戻して中央にあるUSBコネクタにつなぎ替えて下さい。GIMICがUSBオーディオデバイスとして認識されます。

USB制御デモ専用ファームウェア:&ref(): File not found: "gimic_usb4.zip" at page "USB制御モード";

WindowsXPでの認識

OSがWindowsXPの場合は以下のように認識されます。

&ref(): File not found: "x_usb1.jpg" at page "USB制御モード";
&ref(): File not found: "x_usb2.jpg" at page "USB制御モード";

コントロールパネルのサウンドとオーディオ デバイスのプロパティを開き、MIDI音楽の再生Microsoft GS Wavetable SW Synthを選択して下さい。

&ref(): File not found: "x_usb3.jpg" at page "USB制御モード";

WindowsVista/7での認識

OSがWindowsVista/7の場合は以下のように認識されます(画像は7の場合)
WindowsVista/7ではMIDIマッパーの設定は特に必要ありません(逆にフリーソフトなどでMIDIマッパーにGIMICを選択しないで下さい)

&ref(): File not found: "7_usb1.jpg" at page "USB制御モード";
&ref(): File not found: "7_usb2.jpg" at page "USB制御モード";

PCからGIMICを制御する方法

2011/12/18 現在、c86ctlpcidebugを利用する方法があります。
両者共に全てのモジュールに対応していますが、c86ctlは対応ソフトの関係でOPMモジュールの制御ができません。
逆にpcidebugの方はhoot側の問題でOPNAのADPCMデータ転送が上手くできないようです。

c86ctlでのGIMIC制御

c86ctlでのGIMIC制御にはhootを使います。

hootのサイトから2011/05/15版(もしくはそれ以降)をダウンロードして適当なフォルダに解凍して下さい。
②hootはVC2005のランタイムを必要とするのでこれこれこれのx86版を全てインストールし、WindowsUpdateを行って最新の状態にして下さい。
 (OSが64bit版の場合でもx86版をインストールして下さい)

③以下のc86ctlをダウンロードし、先ほどのhootのフォルダにc86ctl.dllとc86ctl.iniをコピーして下さい。

&ref(): File not found: "hoot1.jpg" at page "USB制御モード";

MIDI制御版(2011/10/29):&ref(): File not found: "c86ctl.zip" at page "USB制御モード";
HID制御版 (2011/11/20):&ref(): File not found: "c86ctl2.zip" at page "USB制御モード";

※c86ctl2(HID制御板)利用時の注意※

hoot.iniをメモ帳などで開き、[config]セクションの先頭の方にあるsampling_rateの値を55466に、bufferの値を8に変更し、
 time_slice=16c86ctl_enable=1を追加して下さい。
 またhootのMIDI出力先がMicrosoft GS~になるようにoutput_midi_deviceの値を変更して下さい。MIDIデバイス番号はこちらで確認して下さい

[config]
sampling_rate=55466
buffer=8
time_slice=16
c86ctl_enable=1
output_midi_device=0 ←この数値は環境によって異なります

c86ctl.iniをメモ帳などで開き、セクションの先頭の方にあるmidideviceの値がUSB オーディオ デバイス
 (WindowsVista/7ではG.I.M.I.C. MIDI Interface)になるように変更して下さい。MIDIデバイス番号はこちらで確認して下さい

mididevice=1 ←この数値は環境によって異なります

※c86ctl2(HID制御版)ではMIDIデバイス番号を指定する必要は本来ありませんが、MIDI制御版dllと入れ替えて使うことを想定してiniに記述を残しています。

⑥以上で設定は完了なのでhoot.exeを起動してOPNもしくはOPNAの曲を再生してみて下さい。上手く再生できない場合はMIDIデバイス番号があっているか再確認してみて下さい。

&ref(): File not found: "hoot2.jpg" at page "USB制御モード";

gimic_pcidebugでのGIMIC制御

USB-NUCOの作者であるnue氏がgimic_pcidebug.dllを公開されたので紹介します。
このdllはROMEOのpcidebugを偽装するc86ctlラッパーで、ROMEO対応ソフトからGIMICを制御することができます。
またオリジナルのc86ctlから軽量化が行われており、CPU負荷及び演奏遅延が大幅に改善されています。

※注意事項※
現在のUSB制御ファームウェアはテスト版として公開しております。
nue氏へのサポート要求はご遠慮願います。

nue氏のサイトのその他→Downloadからgimic_pcidebug.zipをDLし、gimic_pcidebug.dllpcidebug.dllにリネーム、
 pcidebug.iniと共にROMEO対応ソフトと同じフォルダにコピーしてください。例としてhootの場合を説明します。

pcidebug.iniをメモ帳などで開き、環境に応じた設定を記入してください。

[GIMIC]
if=1
;GIMICへのアクセス方法を指定
;0:HID(c86ctl2相当のはず)
;1:MIDI(c86ctl相当のはず)

1が従来で言うc86ctl(MIDI制御)、0がc86ctl2(HID制御)になります。
従来のc86ctl(MIDI制御)では演奏にモタりが出ていましたが、nue氏版ではどちらも安定して演奏できることを確認しています。
(HID制御の際にGIMICをUSBハブに接続するとデータ転送に乱れが出る問題はc86ctl2同様です)

mididevice=1
;GIMICのMIDIデバイスを指定
;if=1とした場合は設定すること

c86ctl同様にGIMICのMIDIデバイス番号を記入します。MIDIデバイス番号はこちらで確認して下さい

module=2
;接続しているモジュールを指定
;0:OPN3-L
;1:OPNA
;2:OPM

接続しているモジュールと異なる音源の曲を再生した場合にGIMICへデータ転送を行いません。
モジュールを差し替えたら音が出なくなったという場合はこの設定を見直してください。

buffersize=500
;内部リングバッファのバッファサイズを指定
;delaymsを大きくする場合にはバッファ多めにすること

delayms=40
;発音遅延をms単位で指定

GIMIC側の発音を遅延させます。pcidebug経由でhootを使うとFM/SSGパートがマスクされADPCM/PCMのみが発音されます。
GIMICとPCの音声をミックスさせることで実機相当の演奏を実現することが可能になります。
その際、PC側のADPCM/PCMよりGIMICの方が先に発音されてしまうので同期を取る為にこのオプションがあります。
delaymsの値を増やす場合は上述の通り、buffersizeも大きくしてください。
この数値はPC毎に異なってくると思いますので各自で調整を行って最適な値を自力で見つけてください。

hoot.iniをメモ帳などで開き、[config]セクションの先頭の方にあるsampling_rateの値をOPNA/OPN3Lモジュールの場合は55466
 OPMモジュールの場合は62500に、bufferの値を8に変更し、time_slice=16を追加して下さい。
 またhootのMIDI出力先がMicrosoft GS~になるようにoutput_midi_deviceの値を変更して下さい。MIDIデバイス番号はこちらで確認して下さい

[config]
sampling_rate=55466 ←OPNA/OPN3Lモジュールの場合
sampling_rate=62500 ←OPMモジュールの場合
buffer=8
time_slice=16
output_midi_device=0 ←この数値は環境によって異なります

lpf=0 ←hoot側のADPCM/PCM出力をクリアに聞きたい場合はLPFをオフにした方が良いです。
romeo_ym2608_gain_fm=0 ←標準で3が設定されているので0にします。
romeo_ym2608_gain_rhythm=0 ←標準で1が設定されているので0にします。

※従来の環境を使い回す場合はc86ctl_enable=1をコメントアウトするか、c86ctl_enable=0に書き換えて下さい。
 またOPNAとOPMモジュールでsampling_rateの値が異なってくるので注意してください。

⑤以上で設定は完了なのでhoot.exeを起動して接続したモジュールに合う曲を再生してみて下さい。
 上手く再生できない場合はMIDIデバイス番号があっているか再確認してみて下さい。

※c86ctlとpcidebugを切り替えて使いたい場合、hootフォルダにpcidebugがあると優先的に使われます。
 c86ctlを使いたい場合はpcidebug.dllのファイル名をpcidebug._dllなどにリネームして対応して下さい。

MIDIデバイスの確認

GIMICをMIDI制御する場合はc86ctl.iniもしくはpcidebug.iniにMIDIデバイス番号を記載する必要があります。
filemidienum.zipをダウンロードしてMIDIEnum.exeを実行して下さい。以下のように表示されます。

x_device.jpg7_device.jpg

左がWindowsXPのMIDIデバイスのリスト、右がWindowsVista/7でのリストです。
ここでプロダクト名がMicrosoft GS~のメーカーIDの上にある[]内の数値と、USB オーディオ デバイス
(WindowsVista/7ではG.I.M.I.C. MIDI Interface)のメーカーIDの上にある[]内の数値をメモって下さい。

WindowsXPで複数のMIDIデバイスを接続している場合はどれがGIMICなのか区別が付かないかもしれません。
その場合はメーカーIDとプロダクトIDの数値が65535の物を探してください。

Microsoft GS~のMIDIデバイス番号をhoot.inioutput_midi_device=に、
USB オーディオ デバイスの値をc86ctl.iniもしくはpcidebug.inimididevice=に記載してください。

注意事項

■GIMIC側の注意事項

■hoot側の注意事項

もしGIMICがフリーズした場合はUSBケーブルを抜き差ししてhootを再起動して下さい。OSを巻き込むフリーズが無いとは言い切れませんので自己責任で利用して貰えるようにお願いします。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS