新着表示
タイトル
記事No
投稿日
投稿者
参照先
kbsmaf.kpi v0.14α
330
2024/05/26(Sun) 12:47:39
Kobarin

https://kobarin.sakura.ne.jp/kpi/kbsmaf_014alpha.7z

kbsmaf.txt より

-------------------------------------------------------------------------------
【 名 称 】 MidRadio SMAF/MIDI Decoder
【ファイル名】 kbsmaf.kpi
【バージョン】 0.14alpha
【対応拡張子】 mid/mmf
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

MidRadio Player を使用して SMAF/MIDI を再生するためのプラグインです。対応拡張子
は .mid 及び .mmf です。

【導入方法】

このプラグインを使用するには、YAMAHA MidRadio Player 7.2.1 が必要です。

http://download.music-eclub.com/

でダウンロードして下さい。2024年5月現在の最新版は 7.2.1 です。

MidRadio Player のインストール先は任意ですが、インストーラ既定のフォルダにイン
ストールしない場合は「プラグイン設定」で設定する必要があります。インストール先
フォルダを自動で検出することは出来ません。

インストールしたら、「ツール」->「プラグイン設定」で kbsmaf.kpi を選択し、「Gen
eral」セクションの「MidRadio Player」のパスで MidRadio.exe のパスを設定して下さ
い。インストーラ既定のフォルダにインストールしたのであれば、始めから正しいパス
が設定されているはずです。

なお、kbsmaf.kpi v0.09αが MidRadio Player 7.2.1 で使用出来なかったのは、インス
トール先フォルダの検出が出来ていなかったためです。それさえクリアすればほとんど
何もしなくても対応出来ていたのでした。もっと早く調べておくべきでした。

【再生出来ない SMAF(*.mmf) が存在する】

Graphics Track を含む SMAF(*.mmf) は再生出来ません。
音は鳴るのですが、プレイヤー本体の操作が出来ずにフリーズしてしまうため、ファイ
ルオープンに失敗させるようにしています。演奏プラグインとしてであれば対応出来る
かもしれません。(いずれ試してみます)

【MIDI 再生時の音質】

KbMedia Player に標準同梱の kbvsti_x86.kpi で MidRadio Player の sgp2.dll を使
用したときの音質と近いですが、同じではないようです。「サウンドエフェクト」の設
定を変えたりすると kbvsti_x86.kpi + sgp2.dll と同じになるのかもしれません。

【使用上の注意】

このプラグインは極めて特殊です。MidRadio Player のバージョンは出来るだけ動作確
認に用いたのを「全く同じ」バージョンをお使い下さい。

動作確認した MidRadio Player のバージョンは 7.2.1 です。
動作確認した MidRadio.exe の更新日時は 2007/04/26 17:37 となっています。
本プラグイン公開時点での最新バージョンです。

このバージョンより古くても新しくても駄目です。これより新しいバージョンでも、運
が良ければ動作してくれるかもしれませんが、動作しなくても仕方ないです。

このプラグインは永久にα版です。自己責任で使用して下さい。

【設定】

プラグイン設定画面がヘルプを兼ねていますので参照して下さい。

-------------------------------------------------------------------------------

【更新履歴】

Version 0.14α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為
・MidRadio Player のパスを設定時、XP 版の MidRadio.exe を指定した場合にハッシュ
 値の警告を出していたのを修正
・XP 32bit 環境で MidRadio Player のパスの既定値(Program Files フォルダ)を正し
 く取得出来てなかったのを修正
・v3.14beta3 の本体から呼ばれると落ちることがあるのを修正

/*---------------------------------------------------------------------------*/

Version 0.13α(2019/05/05)

・DLL 検索パスに作業ディレクトリを含まない環境だと動作しないのを修正
・SMAF のタグ取得に対応
・Graphics Track を含む SMAF はオープンに失敗させるようにした
 ・音は鳴るが(mrgplay.exe を強制終了するまで)制御不能な状態になるため

/*---------------------------------------------------------------------------*/

Version 0.12α(2019/04/07)

・リソースリーク(イベントハンドルの閉じ忘れ)を修正
・64bit版で「MidRadio Player のパス」の既定値が 64bit 版の Program Files にな
 るのを修正
・リセットを含まない場合の処理を以下のように修正
 ・GS 系 SysEx を使う場合は SYSTEM MODE SET を送信
  (MidRadio Player は SYSTEM MODE SET を受信する)
 ・XG 系 SysEx を使う場合は XG SYSTEM ON を送信
 ・それ以外の場合は GM SYSTEM ON を送信

/*---------------------------------------------------------------------------*/

Version 0.11α(2019/04/04)

・マルチポートMIDIを分割再生時に関する以下の修正
 ・%TEMP% フォルダに作成した一時ファイルが削除されないのを修正
 ・再生位置を戻すと落ちるのを修正
 ・リセット系とマスターボリューム系の SysEx は全ポートに送信するようにした
・リセット系の SysEx を含まない場合は GS RESET を送信するようにした
 ・該当データを再生時は %TEMP% フォルダに一時ファイルが作成される
・ファイル名に Shift-JIS で表現出来ない文字を使用していると再生出来ないのを修正

/*---------------------------------------------------------------------------*/

Version 0.10α(2019/03/30)

・新kpi仕様に対応
・下記設定項目を追加
 ・MidRadio Player のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の MidRadio Player を起動
  ・分割しないで MidRadio Player を単独起動
 ・SMAF の再生周波数
  ・MIDI 再生時は 44100Hz 固定
 ・サウンドエフェクト関係
  ・MidRadio Player の「オプション」->「MIDI出力先の選択」->「サウンドエフェ
   クトを使う」のチェックと「詳細」ボタン押下時の設定に相当
  ・In Gain(dB)
  ・Reverb Mix(dB)
  ・Reverb Time(ms)
  ・HighFreq RT Ratio
 ・MidRadio Player を起動
  ・サウンドエフェクトの「詳細」設定用
・MidRadio Player から応答がない場合はダイアログを表示して強制終了させ
 るか確認するようにした
・64bit 版を作成

/*---------------------------------------------------------------------------*/

Version 0.09α(2005/01/31)

・ある条件で落ちる or 演奏中にノイズが入ることがあるバグを修正

/*---------------------------------------------------------------------------*/

Version 0.08α(2004/09/06)

・プラグインアンロード時に落ちることがあったのを修正

/*---------------------------------------------------------------------------*/

Version 0.07α(2004/07/05)

・曲の冒頭部分で音とびしやすかったのを多分修正

/*---------------------------------------------------------------------------*/

Version 0.06α(2004/06/28)

・出来るだけ mrgplay.exe を再利用することにより、曲切り替えが高速化
・しかし、↓の対応のため、MIDI 再生時は曲切り替えが若干低速化したかも(ぉぃ)
・MIDI 再生時、マルチポートに対応(最大4ポート)

/*---------------------------------------------------------------------------*/

Version 0.05α(2004/06/18)

・MidRadio.exe ではなく、MidRadio.ocx を使うようにした
・曲長取得に対応
・ファイルオープンが高速化

/*---------------------------------------------------------------------------*/

Version 0.04α(2004/06/15)

・Windows98/ME でも動作するようになった(はず)
(Windows95 は多分無理。MMF は再生できるかもしれないが、MIDI の再生は
MidRadio Player 自体が対応してないはず)
・kbsmaf.kpi が動作中でも、MidRadio Player を実行できるようになった(お互いに
干渉し合わないようになった)

/*---------------------------------------------------------------------------*/

Version 0.03α(2004/06/13)

・MIDI に対応し、MIDI の再生は「内蔵ソフトシンセサイザーを使う」設定で行うよう
にした
・プラグインを呼び出した本体(KbMedia Player 本体)の異常終了検出のバグを修正
・クロスフェード時に kbrunkpi.exe が起動しないようにした
(KMPMODULE::dwReentrant = 1 にした)
・midradiohook.dll のファイル名を mrghook.dll に変更

/*---------------------------------------------------------------------------*/

Version 0.02α(2004/06/11)

・MidRadio が動作中でも kbsmaf.kpi が動作するようになった
(kbsmaf.kpi が動作中に MidRadio.exe を起動した場合の問題は未解決)
・クロスフェードが使えるようになった
・バックグラウンドでの曲長計算が出来るようになった(「デフォルトの演奏時間」に
なるだけだけど)
・曲の冒頭に 5 秒近い無音が入ったり、シーク後の演奏位置が 5 秒程度ずれたりする
のをある程度修正(完璧ではない)

/*---------------------------------------------------------------------------*/

Version 0.01α(2004/06/09)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbhtsfms.kpi v0.08α
329
2024/05/26(Sun) 12:45:28
Kobarin

https://kobarin.sakura.ne.jp/kpi/kbhtsfms_008alpha.7z

kbhtsfms.txt より

-------------------------------------------------------------------------------
【 名 称 】 htsfms MIDI Decoder
【ファイル名】 kbhtsfms.kpi
【バージョン】 0.08alpha
【対応拡張子】 mid
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

石村仁志さん制作の htsfms v0.96 を使用して MIDI を再生するためのデコーダプラグ
インです。対応拡張子は .mid です。

htsfms については

http://hp.vector.co.jp/authors/VA024632/

を参照して下さい。

【導入方法】

このプラグインを使用するには、htsfms Version 0.96 が必要です。

http://hp.vector.co.jp/authors/VA024632/

でダウンロードして下さい。

ダウンロードしたら、「ツール」->「プラグイン設定」で kbhtsfms.kpi を選択し、
「General」セクションの「mid2wav」のパスで mid2wav.exe のパスを設定して下さい。
mid2wav.exe は htsfms に同梱されています。ファイル名に player.exe, mienum.exe,
module.exe を指定してはいけません。

【使用上の注意】

このプラグインは極めて特殊です。htsfms(実際に使うのは mid2wav.exe) は必ず動作確
認に用いたのと「全く同じ」バージョンをお使い下さい。動作確認した htsfms のバー
ジョンは 0.96 で、mid2wav.exe のタイムスタンプは 2005/03/02 10:47 です。
本プラグイン公開時点での最新バージョンです。

このバージョンより古くても新しくても駄目です。これより新しいバージョンでも、運
が良ければ動作してくれるかもしれませんが、動作しなくても仕方ないです。

このプラグインは永久にα版です。自己責任で使用して下さい。

【設定】

プラグイン設定画面がヘルプを兼ねていますので参照して下さい。

v0.05 以前とは異なり、プラグインファイル名を変えても使用する音色ファイルを変更
することは出来ませんが、プラグイン設定画面で音色ファイルを選択することが出来ま
す。自分で作った音色ファイルを使いたい場合は、mid2wav と同じフォルダの tone フ
ォルダ以下に拡張子 .dat として置くことで選択出来るようになります。

-------------------------------------------------------------------------------

【更新履歴】

Version 0.08α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

/*---------------------------------------------------------------------------*/

Version 0.07α(2019/04/07)

・マスターボリューム系SysExに対応
 ・htsfms(mid2wav) から取得した PCM を加工する方式
・64bit版で 32bit モジュールの LoadLibrary のアドレス取得(mid2wav.exe に
 hook_htsfms.dll をロードさせる為に必要)の方法を変更
・マルチポートMIDIを分割再生時に関する以下の修正
 ・リセット系の SysEx は全ポートに送信するようにした

/*---------------------------------------------------------------------------*/

Version 0.06α(2019/03/17)

・新kpi仕様に対応
・下記設定項目を追加
 ・mid2wav のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
 ・音色ファイルの選択
  ・v0.05 以前と異なり、プラグインファイル名で音色ファイルを指定することは出
   来ない
  ・自分で作成した音色ファイルを tone フォルダ以下に置けば選択出来る
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の mid2wav を起動(従来より演奏精度向上)
  ・分割しないで mid2wav を単独起動(従来の処理)
 ・htsfms のフォルダを開く
  ・添付ドキュメントの参照や音色ファイル作成用
 ・コンソール画面表示
  ・mid2wav の処理の進捗状況が分かる
  ・デバッグ用、通常は非表示にする
・mid2wav から応答がない場合はダイアログを表示して強制終了させるか確認するよう
 にした
・mid2wav の終了処理が乱暴だったのを修正
 ・mid2wav が最後まで出力し終わった場合は ExitProcess しない
 ・途中で終了要求が来たら ExitProcess してたのを Ctrl+C 押下に変更
・64bit版を作成
 ・mid2wav は32bit版で OK

/*---------------------------------------------------------------------------*/

Version 0.05α(2012/09/30)

・ファイルオープン時に固まることがあったのを修正
・プラグインファイル名で使用する音色ファイル名を指定出来るようにした
・_ を不使用の場合は config.ini に従う
・kbhtsfms.kpi => config.ini に従う
・kbhtsfms_c050.kpi => tone/c050.dat
・kbhtsfms_c070.kpi => tone/c070.dat
・kbhtsfms_std.kpi => tone/std.dat
・再生すると mid2wav.exe と同じフォルダに output.wav という名前の空の
ファイルが生成されるのを修正

/*---------------------------------------------------------------------------*/

Version 0.04α(2012/09/23)

・Windows7 で動作しなかったのを修正
・Windows9x での動作を打ち切った(動作確認出来る環境を構築出来れば検討)
・mid2wav.exe のパスを設定出来るようにした

/*---------------------------------------------------------------------------*/

Version 0.03α(2005/03/01)

・まともに動作してなかったのを修正(ぉ
・Win9x でも動作するようになった(はず)
・htsfmshook.dll を必要としなくなった

/*---------------------------------------------------------------------------*/

・htsfms Version 0.95 の mid2wav.exe に対応

/*---------------------------------------------------------------------------*/

Version 0.01α(2005/02/20)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbgxscc.kpi v0.14α
328
2024/05/26(Sun) 12:43:18
Kobarin

https://kobarin.sakura.ne.jp/kpi/kbgxscc_014alpha.7z

kbgxscc.txt より

-------------------------------------------------------------------------------
【 名 称 】 GXSCC MIDI Decoder
【ファイル名】 kbgxscc.kpi
【バージョン】 0.14alpha
【対応拡張子】 mid
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------
【概要】

GASHISOFTさん制作の GXSCC β236/β773 を使用して MIDI を再生するためのデコーダ
プラグイン再生プラグインです。対応拡張子は .mid です。

【導入方法】

このプラグインを使用するには、GXSCC β236 または GXSCC β773 が必要です。
GXSCC β773 は 2019年3月現在、公式サイトでは配布されていないようです。
持っていない方は残念ですが諦めて下さい。
GXSCC の公式サイトは以下となります。

https://gashisoft.web.fc2.com/

2019年3月現在、公式サイトがリニューアルされたばかりで、GXSCC β236 は英語版しか
入手できないようです。英語版は

https://gashisoft.web.fc2.com/E/

こちらで入手出来ます。英語が苦手な方でも、kbgxscc.kpi から使用する分には何の支
障もない筈です。

GXSCC β236 は、以前は β223 に差分パッチを当てる形で配布されていました。

kbgxscc.kpi では、英語版のβ236 と、β223 に差分パッチを当てた日本語版のどちら
でも動作することを確認しています。β773 はタイムスタンプが 2007/02/14 23:21 の
もので動作確認しています。

β236 とβ773 以外のバージョンでは動作しません。

kbgxscc.kpi では動作確認済みの実行ファイルのハッシュ値と一致しない場合には警告
ダイアログを出します。確認済みでない GXSCC を使用した場合の結果は自己責任でお
願いします。

ダウンロードしたら、「ツール」->「プラグイン設定」で kbgxscc.kpi を選択し、
「General」セクションの「GXSCC のパス」で GXSCC.exe のパスを設定して下さい。

【使用上の注意】

このプラグインは極めて特殊です。GXSCC は必ず動作確認に用いたのと「全く同じ」バ
ージョンをお使い下さい。動作確認した GXSCC のバージョンは β236 と β773 です。
β236 と β773 以外のバージョンでは動作しないと思って下さい。

【設定】

GXSCC をインストールしたら、プラグイン設定で GXSCC.exe のパスを設定して下さい。
各種設定については設定画面がヘルプを兼ねてますので参照して下さい。

GXSCC の設定は GXSCCPreferences.bin というファイルに保存されますが、kbgxscc.kpi
ではこのファイルの内容は無視されます。

【その他】

このプラグインは動作原理上、永久にα版です。自己責任で使用して下さい。


/*---------------------------------------------------------------------------*/

更新履歴

Version 0.14α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

/*---------------------------------------------------------------------------*/

Version 0.13α(2019/04/07)

・マスターボリュームに関する以下の修正
 ・SCC モードで XG のマスターボリュームに対応(SCC モードでは GS と GM は受信
  するが XG は受信しない)
 ・OPLL モードで GM/GS/XG のマスターボリュームに対応(OPLL モードでは GS/GM/XG
  のマスターボリュームを受信しない)
 ・どちらも GXSCC から取得した PCM を加工する方式で対応
  (SCC モードの GM/GS のマスターボリュームは除く)
・マルチポートMIDIを分割再生時、リセット系とマスターボリューム系の SysEx は全
 ポートに送信するようにした
・リセットを含まない場合の処理を以下のようにした
 ・GS 系 SysEx を使う場合は冒頭で SYSTEM MODE SET を送信
  (GXSCC は SYSTEM MODE SET を受信する)
 ・XG 系 SysEx を使う場合は冒頭で GM SYSTEM ON を送信
  (GXSCC は XG SYSTEM ON を受信しない)
 ・それ以外の場合は冒頭で GM SYSTEM ON を送信
 ・必要ないかもしれないが念の為

/*---------------------------------------------------------------------------*/

Version 0.12α(2019/03/25)

・選択可能な周波数に誤りがあったのを修正(176000Hz->176400Hz)
・設定項目の順番を修正(SCC/OPLL モードを音色セットの手前に移動)

/*---------------------------------------------------------------------------*/

Version 0.11α(2019/03/23)

・β236とβ773のパスを別々に設定し、どちらを使用するかを選択する方式に変更
 ・パスを設定し直す手間が省けて切り替えが容易になった
 ・v0.10αのパスに関する設定は無視されるので設定し直す必要がある
・ファイルオープン時のシステムの負荷のかかり具合等、タイミングにより正常に再生
 出来ないことがあるのを修正
・β773 の DirectSound 処理をフックするようにした
 ・一瞬でも DirectSound デバイスを開いて再生してしまうのを回避
・β236 の waveOut 処理のフックの仕方を修正
・GXSCC の終了のさせ方が乱暴だったのを修正
 ・なるべくメインウィンドウを「閉じる」ことで終了させるようにした
 ・終了時に GXSCC 内部のクリーンアップ処理が呼ばれるようになった

/*---------------------------------------------------------------------------*/

Version 0.10α(2019/03/22)

・新kpi仕様に対応
・GXSCC β773 に対応
・OPLL モード(GXSCC の左上ロゴダブルクリックで発動する隠しモード)に対応
・オーディオデバイス出力(waveOut)ではなくオーサリング時の WAV 出力(mmio)の乗っ
 取り方式に変更
 ・バッファアンダーランを完全回避
 ・シーク速度が大幅に高速化
 ・kbwavefile.kpi による WAV ファイルデコードでも確実に正しいデータを出力出来
  るようになった
 ・Debug モードの「Decode Speed」を廃止(必要がなくなった)
・下記設定項目を追加
 ・GXSCC のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
  ・確認済みバイナリはβ223->β236への差分パッチを当てた日本語版とβ236英語
   版及びβ773
 ・GXSCC のバージョン
  ・「GXSCC のパス」で設定した GXSCC.exe のハッシュ値が kbgxscc.kpi で確認済
   みの値と異なる場合でも使用したい場合に設定する
 ・再生周波数
 ・音色セット(SCC like Full-Set, Famicom like Set etc...)
 ・AutoDetune
 ・ローパスフィルタ
 ・カットオフ周波数
 ・SCC/OPLL モード(OPLL モード時は音色セットは無視される)
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の GXSCC を起動
  ・分割しないで GXSCC を単独起動(従来の処理)
  ・自動判別(SCC モードのときは3ポート以上のときだけ分割、OPLLモードのとき
   はポート数によらず分割)
 ・GXSCC を表示
  ・v0.09α以前の Debug Mode に相当
  ・表示されるウィンドウをマウスで動かせるようになった
  ・「オーサリング中」と表示されるが WAV ファイルが生成されることはない
  ・うまく動作しないときの確認用。通常はオフにする
 ・GXSCC のフォルダを開く
  ・添付ドキュメントの参照用
・GXSCC から応答がない場合はダイアログを表示して強制終了させるか確認するように
 した
・64bit版を作成

/*---------------------------------------------------------------------------*/

Version 0.09α(2012/10/18)

・本体からの再生周波数要求を無視していたのを修正

/*---------------------------------------------------------------------------*/

Version 0.08α(2012/10/06)

・バッファアンダーラン対策を修正(冒頭で発生する確率が減少?)

/*---------------------------------------------------------------------------*/

Version 0.07α(2012/09/30)

・SMF Format 0 以外で曲長計算が正しく機能しなくなっていたのを修正(変なところで
演奏終了してしまう)
・KbMedia Player 本体から呼ばれる分には問題なし(常に Format 0 が渡されるので)
・設定項目「Debug Mode」を追加
・GXSCC のウィンドウ表示・非表示切替
・バッファアンダーランの発生確認用
・DecodeSpeed の調整用
・設定項目「Decode Speed」を追加
・バッファアンダーラン対策
・値が大きい程シークが高速になるが、バッファアンダーランが起こりやすくなる
・値が小さい程バッファアンダーランが起こりにくくなるが、シークが低速になる
・十分に高速な PC なら 10 倍速までは問題ないはず

/*---------------------------------------------------------------------------*/

Version 0.06α(2012/09/29)

・「Instrument Set」「Auto Detune」「Use Low-pass Filter」「Cut-off Frequency」
を GXSCC 本体とは独立して設定出来るようにした
・設定の保存場所は kbgxscc.ini の[プラグインファイル名] セクション
(kbgxscc_famicom.kpi なら [kbgxscc_famicom.kpi] セクション)
・kbgxscc.kpi のコピー・リネームによって、設定ごとに異なる MIDI デバイスとし
て扱えるようになる
・シーク時にバッファアンダーランが発生して音が途切れる現象が改善(完璧ではない)
・曲長計算を簡易的な処理にして高速化
・Windows9x で動作していたかもしれないのを、絶対に動作しないように修正

/*---------------------------------------------------------------------------*/

Version 0.05α(2012/09/23)

・Windows7 で動作しなかったのを修正
・Windows9x での動作を打ち切った(動作確認出来る環境を構築出来れば検討)
・シークが高速化(PC の処理速度とは無関係な時間を要するので多分これが限界)

Version 0.04α(2005/03/05)

・演奏する度にアクティブなウィンドウのフォーカスが失われるのを修正
・GXSCC.EXE の終了のさせ方が少し強引だったのを修正

/*---------------------------------------------------------------------------*/

Version 0.03α(2005/03/02)

・演奏終了直前に Render が不正な値を返すのを修正

/*---------------------------------------------------------------------------*/

Version 0.02α(2005/03/01)

・GXSCC.EXE がバッファアンダーランを起こして音が途切れやすかったのを修正
・曲の最後の部分がきちんと再生されないことがあるのを修正

/*---------------------------------------------------------------------------*/

Version 0.01α(2005/02/28)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbeup.kpi v0.02α
327
2024/05/26(Sun) 12:40:29
Kobarin

https://kobarin.sakura.ne.jp/kpi/kbeup_002alpha.7z

kbeup.txt より

-------------------------------------------------------------------------------
【 名 称 】 EUPHONY Decoder
【ファイル名】 kbeup.kpi
【バージョン】 0.02alpha
【対応拡張子】 eup
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

仙さん制作の EUP player for MSW Version 0.08f(eupwin.exe) を使用して FM Towns
の音楽形式である EUPHONY を再生するためのデコーダプラグインです。
対応拡張子は .eup です。

再生出来るのは内蔵音源を使用するデータのみです。MIDI を使うデータは再生出来ませ
ん。

【導入方法】

配布アーカイブファイル名が kbeup_xxx.7z なら展開後 kbeup_xxx という名前のフォル
ダが生成されている筈です。このフォルダをそのまま本体の Plugins フォルダにコピー
して下さい。コピーするフォルダは

32bit OS の場合は x86\Plugins 以下
64bit OS の場合は x64\Plugins 以下と x86\Plugins 以下のどちらでも OK

です。例えば kbeup_001 というフォルダが生成されているなら

x64\Plugins\kbeup_001

となるようにコピーします。階層を深くし過ぎるとプラグインが認識されなくなるので
注意して下さい。


このプラグインを使用するには、eupwin v0.08f が必要です。eupwin の公式サイトは
既に消滅していますが、Internet Archive で入手することが出来ます。

http://web.archive.org/web/20100429002724/http://kobe.cool.ne.jp/fmt/eupwin/eupwin.htm

KbMedia Player 用 EUP プラグイン「kbmeup.kpi」もここで入手可能ですが、動作が不
安定で KbMedia Player を巻き込んで強制終了することが多い為、kbmeup.kpi を直接使
うことはお勧めしません。(64bit 版の本体から使えば巻き込まれずに済みますが)

【設定】

プラグイン設定画面がヘルプを兼ねていますので参照して下さい。

eupwin.exe だけだと曲長を取得することが出来ませんが、kbmeup.kpi もインストール
し、kbmeup.kpi のパスを設定することで、曲長を取得することが出来るようになりま
す。kbmeup.kpi の置き場所は任意です。本体からプラグインとして認識されるような
場所に置く必要はありません。

なお、kbmeup.kpi を本体からプラグインとして認識される場所に置いた場合、本プラグ
インより kbmeup.kpi の方が使用優先度が高くなるのでご注意下さい。(本プラグインを
使用するには kbmeup.kpi を無効化する必要があります)

eupwin は EUP を再生時に(eupwin.exe のカレントディレクトリにある)リズム音源の
WAVE データを読みに行くようです。eupwin 同梱のテキストには記載されていませんが
本プラグインの開発中に気づきました。

なので、リズム音源のパスも設定出来る様にしました。

・2608_BD.WAV
・2608_HH.WAV
・2608_RIM.WAV
・2608_SD.WAV
・2608_TOM.WAV
・2608_TOP.WAV

FMP/PMD とか S98 でお馴染みですね。

ただ、耳が悪いのかデータが悪いのか、リズム音源の WAV を設定することによる再生音
質の違いが分かりませんでした。


【kbmeup.kpi との違い】

kbmeup.kpi をプラグインフォルダに入れて使うのと比べた場合の違いは以下のように
なります。

メリット

・リズム音源、FMB/PMB のパスを設定可能
・再生周波数を設定可能
 ・kbmeup.kpi は 44100 Hz 固定だが kbeup.kpi だと 48000 Hzまで指定可能
・一次補間の有無を指定可能
・プラグインが不安定でも本体を巻き込まない
・32bit 版の本体からだとファイルを開く度に曲長が変化する不具合が発生しない
・アーカイブ内の EUP ファイル(FMB/PMB を使うもの)もきちんと対応
 (本体が対処してるので kbmeup.kpi でも実害はないが)

デメリット

・シークが低速(昨今の PC では問題にならないレベル)
・ファイルオープンがかなり低速(同上)

【eupwin.exe との違い】

eupwin.exe を直接使用する場合との違いは以下のようになります。

・FMB/PMB のパスを設定時、サブフォルダも階層制限なしに検索する
・EUP ファイルや FMB/PMB ファイルの置き場所(フォルダ名)が Unicode でしか表現
 出来ない名前でも動作する

【使用上の注意】

本プラグインは動作原理が極めて特殊です。eupwin.exe は必ず動作確認に用いたのと
「全く同じ」バージョンをお使い下さい。動作確認した eupwin のバージョンは 0.08f
です。

プラグイン設定時に eupwin.exe のハッシュ値をチェックし、動作確認したのと異なる
ものであった場合には警告を出すようになっています。

警告を無視して動作確認したのと異なるバージョンを使うことも出来ますが、予期せぬ
結果になることがありますのでくれぐれもご注意下さい。


このプラグインは永久にα版です。自己責任で使用して下さい。

-------------------------------------------------------------------------------

【更新履歴】

Version 0.02α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

/*---------------------------------------------------------------------------*/

Version 0.01α(2021/04/22)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
各種 API 乗っ取りプラグイン(α版につき取扱注意)
326
2024/05/26(Sun) 12:37:22
Kobarin

kbeup.kpi v0.02alpha:
https://kobarin.sakura.ne.jp/kpi/kbeup_002alpha.7z

kbgxscc.kpi v0.14alpha:
https://kobarin.sakura.ne.jp/kpi/kbgxscc_014alpha.7z

kbhtsfms.kpi v0.08alpha:
https://kobarin.sakura.ne.jp/kpi/kbhtsfms_008alpha.7z

kbsmaf.kpi v0.14alpha:
https://kobarin.sakura.ne.jp/kpi/kbsmaf_014alpha.7z

kbzmdrive.kpi v0.16alpha:
https://kobarin.sakura.ne.jp/kpi/kbzmdrive_016alpha.7z


Windows XP で動作しない原因が判明したので修正しました。
これらのプラグインは再生に必要な対象プログラムが使用する API を乗っ取ることで
強引に対応する方式を採用している為、ウイルス対策ソフトに誤検知されやすいものと
なっています。公開直後の段階だと特に引っかかる可能性が高くなります。

ウイルス対策ソフトの設定で検疫の対象から外すなどの対策が必要になるかもしれません
のでご注意下さい。


kbsmaf.kpi は v3.14beta3 の本体から使用されると落ちる場合があるので使用している
方は更新した方が良いです。

それ以外は XP で使わないなら更新しなくても良いかもしれませんが開発環境が新しい
ので少し高速化してるかもしれません。

kbsmaf.kpi は mrgplay.exe が XP で動作しないので XP 対応版を使って下さい。
プラグインは認識されますが mrgplay.exe が起動出来ないです。

他のプラグインは XP でも動作するようですが、一応 XP 対応版を同梱しています。
必要に応じてお使い下さい。XP 対応版は 32bit 版のみとなります。


kbeup.kpi v0.02alpha での修正

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

kbgxscc.kpi v0.14alpha での修正

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

kbhtsfms.kpi v0.08alpha での修正

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

kbzmdrive.kpi v0.16alpha での修正

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

kbsmaf.kpi v0.14alpha での修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為
 ・MidRadio Player のパスを設定時、XP 版の MidRadio.exe を指定した場合にハッシュ
  値の警告を出していたのを修正
 ・XP 32bit 環境で MidRadio Player のパスの既定値(Program Files フォルダ)を正し
  く取得出来てなかったのを修正
 ・v3.14beta3 の本体から呼ばれると落ちることがあるのを修正
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.14beta3.2024.0525
325
2024/05/25(Sat) 13:11:21
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed314_beta3.exe
https://kobarin.sakura.ne.jp/test/kbmed314_beta3.7z

.exe と .7z はどちらも中身は同じです。
.7z の展開の仕方が分からない方は .exe をダウンロードして下さい。

.exe だと Microsoft Edge でブロックされる方は .7z をダウンロードして下さい。
Microsoft Edge にブロックされる方は安全だと報告してくれると助かります。

起動時にエラーメッセージが表示されてプラグインが認識されない場合は
Microsoft Visual C++ 2022 再頒布可能パッケージが必要です。
https://visualstudio.microsoft.com/ja/downloads/#other-ja-family
x64 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x64.exe
x86 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x86.exe
(x64 版の動作には vc_redist.x64.exe と vc_redist.x86.exe の両方が必要です)

VS2019 のランタイムでも動作はするようですが、念のため VS2022 のランタイムを
入れて下さい。

β版は Windows XP のサポートを打ち切りました。XP 環境だと一部のプラグインが
動作しません。Windows XP で使いたい方は正式版をお使い下さい。


v3.14beta3 での変更点

・各種プラグイン/DLL の開発環境を VS2022 17.10.0 に更新
・デコーダプラグインで MIDI を再生時のギャップレス再生に対応
・クロスフェードが終わらないうちに次の曲をクロスフェードすることが出来るように
 なった(今までは先に開いていた曲のフェードアウトが停止していた)
 ・同時に再生出来るのは最大4個まで
 ・メドレー再生時にフェード時間より短い曲を再生しても途切れなくなった
  (4回連続で短い曲が選曲された場合は除く)
・以下の演奏プラグインで再生中にクロスフェードしようとした場合は直ちに演奏を停
 止してから次曲を再生するようにした
 ・kbdmusic.kpi/kbviv.kpi/kbfmp7.kpi(音量制御に対応しないプラグイン)
 ・本体がプラグインのファイル名だけを見て判断(演奏プラグインの仕様で音量制御対
  応の有無を確認する手段がない為)
 ・他の音量制御に対応するプラグインから上記の演奏プラグインに切り替えたときは
  フェードインはしないが同時には再生される
・アーカイブ内の MIDI を再生時、必要がなくても実ファイルを作成していたのを修正
・アーカイブ内の曲データの再生時、ドキュメント表示の為にアーカイブを2回開いて
 いたのを修正(↓とは別件でアーカイブ内の曲データを開く処理が高速化)
・アーカイブ内の曲データから同じアーカイブ内の別の曲への切り替えが大幅に高速化
 ・既に開いているアーカイブを再利用することによる
・CC111 に対応しない MIDI 対応演奏プラグインに SMF を渡すとき、フェードアウトを
 エクスプレッションではなくチャンネルボリュームで処理するように変更
・MIDI系(MLD/MUS/ZMS/ZMD)の SMF への変換に失敗したときのメモリリークを修正


VS2022 17.10.0 になってランタイムのバージョンが上がったようですので気になる方は
ランタイムを入れ直して下さい。

インストールされているランタイムのバージョンは本体のバージョン情報ダイアログで
確認することが出来ます。

14.40.38810.0

であれば 2024/05/25 現在での最新版だと思います。

久しぶりに本体の様々な箇所に手を入れました。
デコーダプラグインで MIDI を再生時のギャップレス再生はとても大変でした。
広範囲に渡っての修正が必要でしたが、おかげで細かい不具合を見つけることが出来ま
した。逆に今回の修正によって別の不具合が発生してる可能性もあります。

クロスフェード中のクロスフェード対応はメドレー再生時の途中で短い曲が選曲された
ときに効果を発揮します。同時再生の個数制限をなくすと、フェード時間より曲長が短
い曲しかないプレイリストでのメドレー再生時に無限にプレイヤーのインスタンスを作
ることになるので上限を4個としました。

kbfmp7.kpi 使用時のクロスフェードは kbfmp7.kpi v0.03 での修正でもうまく行かない
(一時停止状態で再生が止まってしまうことがある)ので、音量制御に対応しないプラグ
インからのクロスフェード時は演奏を停止させてから次の曲を再生することにしました。

音量制御対応のプラグインから非対応のプラグインへのクロスフェードはフェードイン
しないだけで同時再生はされるようにしました。


要望があった game-music-emu のプラグインはこれから手を付けようと思います。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.14beta2.2024.0518
324
2024/05/18(Sat) 12:07:57
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed314_beta2.exe
https://kobarin.sakura.ne.jp/test/kbmed314_beta2.7z

.exe と .7z はどちらも中身は同じです。
.7z の展開の仕方が分からない方は .exe をダウンロードして下さい。

.exe だと Microsoft Edge でブロックされる方は .7z をダウンロードして下さい。
Microsoft Edge にブロックされる方は安全だと報告してくれると助かります。

起動時にエラーメッセージが表示されてプラグインが認識されない場合は
Microsoft Visual C++ 2022 再頒布可能パッケージが必要です。
https://visualstudio.microsoft.com/ja/downloads/#other-ja-family
x64 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x64.exe
x86 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x86.exe
(x64 版の動作には vc_redist.x64.exe と vc_redist.x86.exe の両方が必要です)

VS2019 のランタイムでも動作はするようですが、念のため VS2022 のランタイムを
入れて下さい。

β版は Windows XP のサポートを打ち切りました。XP 環境だと一部のプラグインが
動作しません。Windows XP で使いたい方は正式版をお使い下さい。


v3.14beta2 での変更点

・各種プラグイン/DLL の開発環境を VS2022 17.9.7 に更新
・演奏プラグイン使用時のフェードアウト、クロスフェード、メドレー再生に対応
 ・本体がプラグインに対して定期的に SetVolume を呼ぶことによる対応
 ・以下の演奏プラグインに対応(音量制御が可能なもの)
  kbGuru2SMF.kpi/kbmov.kpi/kbqt.kpi/kbcstr.kpi
 ・以下の演奏プラグインは非対応(音量制御出来ない為)
  kbdmusic.kpi/kbviv.kpi/kbfmp7.kpi(kbfmp7.kpi はプラグイン置き場)
 ・非対応のプラグインでフェードアウトしようとした場合はフェードアウトしないで
  フェーアウト時間+1秒後に演奏終了(直ちには演奏終了しない)
 ・非対応のプラグインでクロスフェードしようとした場合はフェードイン/フェードア
  ウトしないでフェードアウト時間+1秒間同時再生(kbfmp7.kpi を除く)
 ・kbfmp7.kpi(v0.02以前) でクロスフェードしようとすると再生が停止
  kbfmp7.kpi(v0.03) では先に再生していた方だけが停止
 ・SetVolume が反映されるまでかかる時間がプラグインにより異なる為、プラグイン
  によってはフェードアウトが最後まで処理される前に演奏が打ち切られる
  ・対策として SetVolume(0) を呼び出し後、1秒待ってから Stop
  ・その副作用として SetVolume に対応しないプラグインではフェード時間の設定よ
   り1秒余分に再生されてから演奏終了
・Ctrl を押しながら再生ボタンを押した場合はフェードインするようにした
・kbdsound.kpi 使用時に一時停止・再開するとフリーズすることがあるのを修正
 ・Output を一度も呼んでいない状態で Pause/Restart を呼んだ場合
 ・kbdsound.kpi ではなく本体の不具合として扱う(kbdsound.kpi を修正しない)
・kbmac.kpi に関する以下の修正
 ・Monkey's Audio SDK 10.73(2024/05/14) に更新(内容は変更なし)
・kbmod.kpi に関する以下の修正
 ・libopenmpt を 0.7.7(2024/05/12) に更新
・kbunarc.kpi に関する以下の修正
 ・unrarsrc を 7.0.9(2024/05/12) に更新(内容は変更なし)
 ・LZMA SDK を 24.05(2024/05/14) に更新


GuruGuruSMF でMIDIのメドレー再生がしたくて演奏プラグインでのクロスフェードに対応しました。
現在の本体の仕様では同時に再生出来るのが2個までなので、短い曲が間に入るとうまく繋がら
なくなる欠点があります。これは kbGuru2SMF.kpi に限った制限ではありません。

音量制御が出来ないプラグイン同士でクロスフェードしようとするとフェードイン/フェード
アウトされずにフェードアウト時間+1秒間同時に再生されてしまいます。

演奏プラグインの仕様で音量制御の可否をプラグインから取得する手段がないのと、これはこれで
良いかな、とも思った為、このような仕様としました。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbfmp7.kpi v0.03
323
2024/05/18(Sat) 12:05:22
Kobarin

https://kobarin.sakura.ne.jp/kpi/kbfmp7_003.7z

FMP7 の起動時に一瞬だけ音が鳴る場合は FMP7 の設定画面を開いて「ドライバ」タブを
選択、「起動ジングル演奏」のチェックを外して下さい。

FMP7 を再生中に他の曲データの情報を取得すると演奏が止まるのは仕様です。
FMP7 の API 呼び出しをフックすることで対処出来そうですが v0.03 ではやめて
おきました。

せめて音量制御が出来ればクロスフェードにも対応出来てやる気が出るのですが…。
音量制御も強引にやることも出来なくはないと思いますが。

そんな強引な方法を使わなくとも、作者様に複数曲対応と音量制御の要望をしたいところ
ですが連絡する方法が分かりません。

v0.03 での変更点

・別のインスタンスが再生中に Stop が呼ばれた場合は何もしないようにした
 ・v3.14beta2 以降の本体によりクロスフェードされようとしているとき、後に開いた
  方の再生が止まってしまうのを回避


kbfmp7.txt より

-------------------------------------------------------------------------------
【 名 称 】 FMP7 Player
【ファイル名】 kbfmp7.kpi
【バージョン】 0.03
【対応拡張子】 owi
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/18
-------------------------------------------------------------------------------

【概要】

Guu さん制作の FM/SSG/PCM音源 音楽ドライバ FMP7 を用いて FMP7 形式の曲データを
再生するための演奏プラグインです。対応拡張子は owi です。

FMP7 の曲データは

http://archive.fmp.jp/

にあります。

【FMP7.exe】

本プラグインを使用するためには FMP7.exe が必要です。
動作確認したバージョンは v7.10g です。

http://archive.fmp.jp/archives/category/program

で FMP ver7.10g をダウンロードし、kbfmp7.kpi のプラグイン設定で FMP7.exe のパス
を設定して下さい。

【既知の不具合】

・再生中に他の FMP7 データの情報を取得すると再生が停止する

再生中に Media エクスプローラで FMP7 データのタイトルを表示したり演奏リスト上で
曲長計算したときなどに停止します。

FMP7.exe の仕様上、再生中とは異なる曲データの情報を取得しようとすると曲データの
再生が停止します。停止させない為には、再生中は他の曲データの情報を取得しないよ
うにするしかありませんが、検討の結果、再生を停止させることにしました。

情報を取得中は一時停止を通知し、取得が終わったら再開するようになっています。

・曲の長さとシーク後の再生位置が不正確

FMP32_GLOBALWORK::Count の値とミリ秒単位の位置の関係性が不明です。この値を 10倍
した値をミリ秒単位の曲長としていますが、実際は違うようです。
同じ理由でシーク後の再生位置も不正確です。

シークについては FMP7.exe の振る舞いも少し変です。(シークバーの位置より手前に
シークされることがある)

【アーカイブ内の曲データの制限】

曲データによっては pwi ファイルが必要になる場合があります。必要な pwi ファイル
名の取得方法が不明な為、再生する owi ファイルと同じフォルダの pwi ファイルを検
索し、最初に見つかった 10 個まで実ファイルを作成します。

アーカイブ内の同一フォルダに多数の曲データと pwi ファイルが置いてあると、必要な
pwi ファイルを認識出来なくなり、ファイルオープンに失敗して再生することが出来な
くなります。不要な pwi ファイルを何個も展開して実ファイルを作成することにもなる
為、ファイルを開くのにも余分な時間がかかります。

同一アーカイブ内に複数の owi/pwi が含まれていても、フォルダが異なっていれば問題
ありません。

foo.zip>bar/aaa.owi
foo.zip>bar/bbb.pwi
foo.zip>baz/ccc.owi
foo.zip>baz/ddd.pwi

この場合、bar/aaa.owi と baz/ccc.owi は異なるフォルダとなりますので、
bar/aaa.owi を再生時に baz/ddd.pwi が実ファイルに展開されることはありません。

【更新履歴】

Version 0.03(2024/05/18)

・別のインスタンスが再生中に Stop が呼ばれた場合は何もしないようにした
 ・v3.14beta2 以降の本体によりクロスフェードされようとしているとき、後に開いた
  方の再生が止まってしまうのを回避

/*---------------------------------------------------------------------------*/

Version 0.02(2024/04/30)

・64bit版のプラグインが動作するようになった
 ・FMP7API::Send が動作しなかったのが解決
・FMP7 の終了に関する設定を追加
 ・プラグインアンロード時に終了、曲を閉じる都度終了、終了しない

/*---------------------------------------------------------------------------*/

Version 0.01(2024/04/27)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^3: game-music-emuプラグインのリクエスト
322
2024/05/17(Fri) 20:23:31
Kobarin

ありがとうございます。

まだ何も手を付けていませんが v3.14beta2 公開後にやってみます。
pagetop
タイトル
記事No
投稿日
投稿者

Re^2: game-music-emuプラグインのリクエスト
321
2024/05/14(Tue) 03:29:59
たかおか
返答が遅れてすみません。

> それを使用した foobar なり winamp のプラグインもあるのでしょうかね。
>
> GUI の対応ソフトがあると設定項目がある場合に参考になるのですよね。

foobar2000用であれば現役で更新が続いています。
Game Music Emu Decoder
https://www.foobar2000.org/components/view/foo_input_gme

Winamp用は見つかりましたが、11年前に更新が止まっているアルファ版のようです。
In_GME
https://github.com/Insidious611/In_GME
pagetop

- Web Forum v8.0 -
++ Edited by Hamel ++