新着表示
タイトル
記事No
投稿日
投稿者
参照先
Re^3: KbMedia Player Version 3.16beta3.2024.0803
387
2024/08/03(Sat) 19:36:07
とおりすがり xexex2013@gmail.com

ありがとうございます!ゆっくり待ってます
本当に奥深いですね...週末にいろんなサイトを個人的にしらべてみました(*1) 80~90年代初頭のmidは色々あったのですね。
(自分は、kb「MIDI」Player世代ですので90年代後半からなのです。余談ですがWindows11で完動して感動です)

((*1)それらと、検証向けデータ類をメールにて送付いたしました。お手すきの際でかまいません.....mm...)
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: KbMedia Player Version 3.16beta3.2024.0803
386
2024/08/03(Sat) 18:20:29
Kobarin

情報ありがとうございます。

CVS.DOC を読んで気にはなっていたのですが、RCP も奥が深いのですね。

必要になる .CM6 と .GSD のファイル名の抽出方法も CVS.DOC に書いてあるので、
アーカイブ内でも比較的簡単に対応出来ると思います。

ちなみに現バージョンはアーカイブ内でなくても .CM6 と .GSD には対応していません。
ファイル名の長さの制約をなくすために 8.3 で収まるランダムなファイル名のコピーを
テンポラリに作成して、それを変換しているからです。短いファイル名を取得してそれを
渡すのでも良かったのですが、コンバータによっては入力ファイルと同じフォルダにしか
出力しないものがあったので、テンポラリにコピーを作ることで統一していました。

CVS.DOC を読む限り .CM6 と .GSD の長さは 8.3 に収まるようです。
pagetop
タイトル
記事No
投稿日
投稿者

Re: KbMedia Player Version 3.16beta3.2024.0803
385
2024/08/03(Sat) 13:40:22
とおりすがり xexex2013@gmail.com
> ・kb2smf.kpi に関する以下の修正

いつもありがとうございます

RCPのCVS変換時に レコンポーザのコントロールファイル(音色)[CM6/GSD/(MTD)]が存在するとき、
CVSでまとめて.midに変換することは可能でしょうか
(同一フォルダにあればCVSで自動結合され.mid単一ファイルとなります)
 
長くなりましたので詳細につきましては、添付ファイルをご覧くださいませ

以上よろしくお願いします

(292KB)

pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.16beta3.2024.0803
384
2024/08/03(Sat) 10:37:38
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed316_beta3.exe
https://kobarin.sakura.ne.jp/test/kbmed316_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 の両方が必要です)

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

v3.16beta3 での変更点

・拡張子が競合する場合、デコーダ/演奏プラグインより変換プラグインを優先して使用
 するようにした
 ・変換に失敗したらデコーダ/演奏プラグインで開く
・.mid 以外の拡張子への変換プラグインに対応
 ・.cym/.mym/.x1f を .s98 に変換するテストプラグインで動作確認
 ・↑は kbvgm.kpi が標準対応している為実用性がなく、非公開
 ・1ファイル複数曲への変換プラグインをどう扱うべきか考え中
・プラグイン設定画面で使用中の変換プラグインが分かるようにした
・プラグイン設定画面でデバイスプラグインとアーカイブプラグインの表示が逆だった
 のを修正
・変換のプラグイン化に伴い、環境設定画面の検索パスとバージョン情報ダイアログか
 ら関連する項目(Muse のパスや著作権情報等)を削除
・音楽CD対応のデコーダプラグインがあっても使われないのを修正
・kb2smf.kpi に関する以下の修正
 ・RCPCV/CVS の使用順を設定出来るようにした
  ・一方でしか変換出来ないデータがある
 ・変換の待ち時間を設定出来るようにした
  ・指定時間経過しても変換が終わらない場合は強制終了確認のダイアログを表示
  ・負の値を指定すると確認しないで強制終了
 ・.mcp のタグ取得に対応(タイトルのみ)
 ・パスの設定を適用時に実行ファイル名をチェックするようにした
  ・無関係なプログラムを指定することによる誤動作を防ぐ為
 ・変換後のファイル名がランダムだったのを修正
  ・変換前データのファイル名.mid(abc.rcp なら abc.mid) となるようにした
 ・変換に用いたプログラム名を通知するようにした
  ・"Converted by" に "RCPCV.DLL" のように通知
 ・RCPCV.DLL で RCP を変換時にリソースリークしていたのを修正
・kbmod.kpi に関する以下の修正
 ・libopenmpt を 0.7.9(2024/07/21) に更新


拡張子.MID 以外への変換プラグインが動作するようになりましたが、今のところテスト
プラグインで動作確認しただけです。そのテストプラグインは配布するには実用性がなさ
すぎるので非公開です。(仕様公開時にソースのみ公開予定)
拡張子.MID 以外で実用性がありそうな変換プラグインを思いつきません。

VGM への変換だったら使えるかもと思いましたが、kbvgm.kpi の S98/GYM 対応は VGM に変換
するものではなかったです。v3.15 まで配布していた kbs98.kpi の VGM 対応も VGM から
S98 への変換なので流用してもあまり意味がありません。

MIDI 以外の形式は、他形式に変換するならプラグイン自体に再生orデコード機能を持たせて
しまえば良い場合がほとんどだと思うので、必要になることは少なそうな気がします。

RCPCV.DLL を使用時のリソースリークは結構酷いバグなので v3.16beta2 で RCP を良く再生
する人はなるべくv3.16beta3 に更新するようにして下さい。

リソースリークはプラグイン化してからなので 3.16beta2 からです。
v3.15 正式版では問題ありません。

プラグイン化の関係で Muse や着メロコンバータのパスの取得が出来なくなってバージョン
を表示出来なくなったので、バージョン情報ダイアログへの表示をやめました。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: KbMedia Player Version 3.16beta2.2024.0729
383
2024/07/30(Tue) 21:15:48
Kobarin

ありがとうございます。

Media エクスプローラでのタイトルの取得にも対応しておきます。
添付データでは変換後であればタイトルを取得出来ていますが、末尾が・になっています。

これは末尾が 0x82、マルチバイトの1文字目で切れてるからです。
「る」にしたかったが長さの制限で1バイト足りなかったのでしょうね。

こういう場合は、通常の文字列(0 で終わる)のコピーでは以前から・が出ないように処理して
ましたが、0 で終わらない、バッファサイズ指定の文字列のコピーでは対応していませんでした。

それも含めてついでに対応しておきます。
pagetop
タイトル
記事No
投稿日
投稿者

Re: KbMedia Player Version 3.16beta2.2024.0729
382
2024/07/29(Mon) 23:56:46
とおりすがり xexex2013@gmail.com
 ・CVS(CVS.exe)に対応(拡張子 .rcp/.r36/.mcp 対応)(.mcp は動作未確認)

.mcp 1ファイルだけですが、みつかりました。送付致します[CVSモードで発音okでした]

(2KB)

pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^3: CM-64エミュレーション機能の向上
380
2024/07/29(Mon) 00:23:30
Kobarin

ありがとうございます。

midiOut とそれ以外とで処理が違うのですが、SCVA があれば
どちらも動作確認は出来るので対応してみたいと思います。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.16beta2.2024.0729
379
2024/07/29(Mon) 00:19:41
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed316_beta2.exe
https://kobarin.sakura.ne.jp/test/kbmed316_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 の両方が必要です)

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

v3.16beta2 での変更点

・各種プラグイン/DLL の開発環境を VS2022 17.10.5 に更新
・SMF 変換のプラグイン化(kb2smf.kpi)
 ・今のところ SMF(拡張子.mid) への変換のみ対応
 ・プラグイン設定画面の「Converter」以下に変換プラグインを表示
 ・RCP/MUS/着メロ 等はプラグインがないと再生出来なくなった
 ・プラグインで必要なプログラムのパスを設定していないと認識もされなくなった
 ・環境設定の検索パス、及びバージョン情報ダイアログの関連する項目を廃止予定
  ・どちらもまだ残っているが正しく機能していない(設定が反映されない、本来の
   設定と無関係な場所から情報を取得している等)
・kb2smf.kpi
 ・初版(SMF変換のプラグイン化)
 ・プラグイン化前の本体(v3.16beta)からの変更点
  ・変換に必要なプログラムのパスを設定していない形式はプラグインの対応拡張子
   から外すことで、本体から認識されなくなった
  ・RCPCV.DLL を使う場合、RCPCV.DLL のパスの設定を必須とした
  ・RCPCV.DLL を使う場合はプラグイン同梱の kbrcpcv.exe を経由するようにした
   ・v3.16beta では kbrunkpi.exe を経由
   ・変換が終わらない RCP の存在を確認している為、32bit 版でも kbrcpcv.exe
    を経由させる(応答がなかったら強制終了出来るようにすることで本体を巻き
    込まないようにする)
 ・パスやスイッチの設定の保存場所を変更(プラグイン設定で設定し直す必要がある)
 ・CVS(CVS.exe)に対応(拡張子 .rcp/.r36/.mcp 対応)(.mcp は動作未確認)
  ・拡張子 .g36 には対応しない(RCPCV.DLL が必要)
 ・RCP の変換に RCPCV.DLL と CVS のどちらを使うか設定出来るようにした
  ・.g36 の変換は常に RCPCV.DLL を使う
  ・.mcp の変換は常に CVS を使う
 ・ZMC3 のスイッチの既定値が -V3 だったのを空文字列に変更
  ・なぜ -V3 にしていたのか分からず
 ・RCP/MLD/PMD/SNG/MM2/MMC のタグ取得を本プラグインで行うようにした
  ・上記形式のタグ取得は本体では行わない(P/ECE の PMD のタグ取得は本体が行う)
  ・MUS は Unicode/Ansi 両対応等が面倒なので本体に任せる
  ・ZMS/ZMD は kbzmdrive.kpi を使う可能性もあるので本体に任せる

MIDI 系に変換する形式はプラグインで対応するようにしました。
設定の保存場所が変わったのでプラグイン設定画面で設定し直す必要があります。
RCPCV.DLL も設定しないと自動では認識されません。RCP を良く再生する方は
プラグイン設定で設定して下さい。

v3.16beta で SNG2S/MM2S に対応したついでに CVS にも対応してみました。
RCPCV.DLL で正しく変換出来ないデータでも CVS なら変換出来るようです。
その逆もありますけど。

RCPCV.DLL が 32bit版しかないので RCP だけ 32bit 版のみのプラグインとして他の
形式と分けようと思いましたが、全て同じプラグインにまとめることにしました。

せっかくなので MIDI 以外の形式への変換にも対応したいとは思っていますが、今の
ところ kbvgm.kpi が内部でやってる S98 => VGM、GYM => VGM くらいしか思いつきません。
NSF とか MSX、SPC あたりは MML みたいなもので曲データを制作するツールがありそう
なので、それに対応してみる感じでしょうか。

制作ツールをコマンドラインで起動すれば曲データが生成されるようなタイプなら、
コマンドラインと変換元、変換先の拡張子を設定出来るようなプラグインを1つ用意
しておけば、わざわざプラグインを作らなくても対応出来てしまいそうです。
コマンドラインでの制御もソフトによって挙動が違っていて、一般化するのは意外と
厄介そうですけど。

変換プラグインの仕様はまだ非公開ですが、変換結果はファイルやメモリではなく IKpiFile
にする形となるので、少し作りにくい&理解しにくいです。
実質はファイルかメモリに出力して IKpiFile にする感じです。

アーカイブプラグインで LZH や ZIP はアーカイブを展開しながら再生することが出来る
のと同じように、理論的には変換しながら再生、というのも出来ます。
kb2smf.kpi はそこまで出来ません。実質的にはファイルかメモリ上に変換してるだけ。
pagetop
タイトル
記事No
投稿日
投稿者

Re^2: CM-64エミュレーション機能の向上
378
2024/07/28(Sun) 14:38:13
MIDIリスナー
改良点として挙げたものは以下のものを参考にしています。

・すべてのチャンネルのベンドレンジを +12 にする
・Ch.10のエクスプレッションの初期値を 80 にする
MIMPI でGS音源を使ったCM-64エミュレーション、およびSC-55実機をMT-32モードで初期化したときに設定される値

・すべてのチャンネルのリバーブレベルを 72 にする
MIMPI でGS音源を使ったCM-64エミュレーションを行ったときに設定される値


参考になるか分かりませんが、MIDI音源の取扱説明書です。

SC-55取扱説明書
・MT-32の音色配列にセットする(36ページ)
http://lib.roland.co.jp/support/jp/manuals/res/1809841/SC-55_j2.pdf

CM-64取扱説明書
・7.電源オン時の設定(20ページ)
http://lib.roland.co.jp/support/jp/manuals/res/1809003/CM-64_j.pdf

よろしくお願いします。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: CM-64エミュレーション機能の向上
377
2024/07/27(Sat) 23:38:34
Kobarin

> KbMedia Player のMIDIデータ再生機能にCM-64をエミュレーションする機能がありますが、この機能の改良を検討いただけますでしょうか。
> ・すべてのチャンネルのベンドレンジを +12 にする
> ・Ch.10のエクスプレッションの初期値を 80 にする
> ・すべてのチャンネルのリバーブレベルを 72 にする

改良点を具体的に教えて頂いたので、おそらく対応出来ると思いますが、動作確認出来るデータが
とても少ないです。

現状のエミュレーション機能についても、何を参考にして実装したのか忘れてしまいました。

もしご存知なら参考になるサイトや資料を教えて頂けませんか。
pagetop

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