新着表示
タイトル
記事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
タイトル
記事No
投稿日
投稿者

CM-64エミュレーション機能の向上
376
2024/07/27(Sat) 17:10:49
MIDIリスナー
開発お疲れ様です。
様々な形式のファイルの再生に対応したプレイヤーとしてKbMedia Player を重宝させていただいております。

KbMedia Player のMIDIデータ再生機能にCM-64をエミュレーションする機能がありますが、この機能の改良を検討いただけますでしょうか。

具体的な改良内容は以下になります。
・すべてのチャンネルのベンドレンジを +12 にする
・Ch.10のエクスプレッションの初期値を 80 にする
・すべてのチャンネルのリバーブレベルを 72 にする

以上、よろしくお願いいたします。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.16beta.2024.0712
375
2024/07/15(Mon) 23:57:54
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed316_beta.exe
https://kobarin.sakura.ne.jp/test/kbmed316_beta.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.16beta での変更点

・拡張子SNG(ミュージくん/ミュージ郎/バラード のMIDI)に対応
 ・MS-DOS Player(MSDOS.exe) と SNG2S(SNG2S.exe) が必要
  ・MSDOS.exe : http://takeda-toshiya.my.coocan.jp/
  ・SNG2S.exe : https://www.vector.co.jp/soft/dos/art/se003959.html
・拡張子MM2/MMC/SEQ(マイクロミュージシャン/芸達者 のMIDI)に対応
 ・MS-DOS Player(MSDOS.exe) と MM2S(MM2S.exe) が必要
  ・MM2S.exe : https://www.vector.co.jp/soft/dos/art/se003923.html
 ・拡張子SEQ は再生可能なデータがなく、動作確認出来ず
・MSDOS.exe/SNG2S.exe/MM2S.exe のパスは「環境設定」-「検索パス1」で設定
・EXE(muse.exe等)で SMF に変換時、EXE が終了しないとタスクマネージャで EXE を強
 制終了するまで本体が応答なしになるのを修正
 ・5秒待ったら強制終了確認のダイアログを表示するようにした
 ・ダイアログを表示中に変換が終わったら自動的にダイアログを閉じる
・MIMPI WRD に関する以下の修正
 ・末尾が¥の行は¥を除去してから DPWWRD.DPX に渡すようにした
  ・¥が表示されなくなる分だけ表示が改善されるが余分な改行はそのままなので、
   正しく再生出来るようになるわけではない
  ・改行まで除去するとタイミングが合わなくなる
・kbs98.kpi と kbgym.kpi の同梱配布を終了
 ・kbvgm.kpi があれば不要と判断
・kbs98.kpi の配布終了に伴い、「環境設定」-「検索パス1」から「リズム音源(S98)」
 を外した
・「環境設定」-「検索パス1/2」のラベルクリックで配布サイトを開けるようにした
 ・MSDOS.exe/SNG2S.exe/MM2S.exe/Muse.exe/MID_MLD.exe/ztom/zmc2/z2m3/zmc3
 ・ztom/zmc2/z2m3/zmc3 はダウンロード出来なくなっている?


No.371 で報告された WRD データの表示改善をしてみました。
行末に¥を含む WRD データで¥が表示されないようにしました。

TMIDI で確認する限り、行末の¥は非表示になるが行の途中の¥は表示されるようです。
報告されたデータのタイムスタンプが1992年とかなり古いので、TMIDI 独自の機能では
なさそうですが実際のところは分かりません。

¥を表示しないのが正しいなら、行末の¥の除去によって少し再現性を向上させる効果
があると思いますが、正しく再生出来ないことに変わりはありません。
自力で WRD に対応出来ないとここまでが限界ですね。

行末の¥を除去するとき、改行は CR+LF を前提にしています。CR か LF どちらか一方
だけだと¥が表示されます。

データを作って試してみると、

TMIDI は LF だけは OK だが CR だけは不可
DPWWRD.DPX は LF だけの場合も CR だけの場合も正しく表示されない
(行末の ; が表示されてしまう)

となるようなので、CR+LF 以外は不正と見なして良さそうですが、どちらか一方だけの
WRD データが出回ってるかどうかは分かりません。
pagetop
タイトル
記事No
投稿日
投稿者

Re^4: テスト版その2(SNG/MM2対応)
374
2024/07/15(Mon) 09:46:48
とおりすがり xexex2013@gmail.com
WRDがテキストだったということをいま知りましたw
ほんの少しだけ調べましたが、テンポ表記などの音楽用語がまったくわからないのでそこでわたしはおわりました。。。
>正しく再生出来ないことに変わりがないなら、何もしないのが無難かな、と思います。
スレッドタイトルにあるSNG対応して頂けただけで感謝で、200%満足しています。。SNG対応願のスレッドは解決済みとしておきます
ありがとうございました

(4298KB)

このスレッドは解決済ですので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^3: テスト版その2(SNG/MM2対応)
373
2024/07/15(Mon) 00:41:28
Kobarin

> このくらいの単純なものであれば、DPWWRD.DPX が正しく解釈出来るように WRD データの
> 内容を改竄(\ と改行を除去)してから渡す、ということで対応出来なくもなさそうです。

大した処理ではないので、行末の \ と改行を除去した WRD データを DPWWRD.DPX に渡す
ようにしてみましたが、残念ながらこれでは使えません。

問題の WRD データを実際に書き換えて再生してみれば分かると思います。
TMIDI と同じ表示にはなりません。

うまく説明出来ませんが \ にはきちんと意味があることが分かりました。

WRD の仕様が良く分からないし、問題のデータを DPWWRD.DPX で TMIDI と同じ表示に
なるようにする為の WRD の記述法が分かりません。

\ と改行を消すと表示上は TMIDI と同じになりますがタイミングが出鱈目になります。
\ だけ消すようにした方がまだマシかな、と思います。改行が多いのはそのままですが。

下手にこねくり回すと他のデータを正しく再生出来なくなる可能性が高くなるので、
正しく再生出来ないことに変わりがないなら、何もしないのが無難かな、と思います。
このスレッドは解決済ですので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: テスト版その2(SNG/MM2対応)
372
2024/07/14(Sun) 21:53:17
Kobarin

MSDOS.exe のおかげで可能性が広がった気がします。

これ以上増やすべき対応形式もなさそうですけど。
思いつくのは CVS.exe に対応出来るくらいかな。

> テンポ異常があったものと思われるものが一曲ありました(添付ファイル参照)

解析資料にテンポ微調というのがあって、これが関係してそうな気がしますが、
そこまで調査する気力はないです。SNG2S が変換した結果をそのまま再生する
以上のことは出来ません。

変換に成功してるのに音が鳴らないデータは SCVA や GuruGuruSMF で再生した場合で、
他のプラグインでは鳴るようです。

> WRDデータ表示エラー報告

WRD データと TMIDI の再生結果を見る限り、行の末尾の \ はエスケープシーケンスと
して扱って改行も \ も無視する、ということなのかな。

このくらいの単純なものであれば、DPWWRD.DPX が正しく解釈出来るように WRD データの
内容を改竄(\ と改行を除去)してから渡す、ということで対応出来なくもなさそうです。
却って正しく再生出来なくなるデータが出て来そうですけど。

報告頂いたデータのように、WRD データにコマンドがなくて歌詞だけのときはやってみて
も良いかもしれません。後で試してみます。

問題のデータは DOC の方は1行あたり80文字くらい使ってるのに WRD の方は1行あたり
せいぜい50文字くらいしか使ってないというか、なんでわざわざこんな読みにくくしてる
んでしょうね。

> 開発のスピードに驚き感銘をうけました

必要な情報が十分に提供して貰えたのと、着メロコンバータ(MID_MLD.EXE)の対応とほぼ
同じ処理で行けたので対応しやすかったです。

今回の対応で、MIDI 関係だけでもコンバータのプラグイン化が必要かな、と思いました。
このスレッドは解決済ですので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: テスト版その2(SNG/MM2対応)
371
2024/07/14(Sun) 16:28:58
とおりすがり xexex2013@gmail.com
>64bitOS で 16bit アプリケーションを実行する方法があったのですね。

なお、Windows16Bit向けソフトをwin11でVMなしで動かす「WineVDM」
https://github.com/otya128/winevdm
https://suranet.nagoya/%E3%83%AC%E3%83%88%E3%83%AD%E3%81%AApc%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E5%8B%95%E3%81%8B%E3%81%9D%E3%81%86/
が有名で多くのwin95(3.1)ゲームや旧式hlpファイルの閲覧、特に音楽系だと古いVSTソフト「wingroove」などがwin11環境で動きました

本題です
>SNGファイル再生
説明どおりセットしたところ簡単にほとんどのSNGが再生できています
テンポ異常があったものと思われるものが一曲ありました(添付ファイル参照)


>seq、MM2の再生など
seqはわたしのほうでもだめでした。mm2は一部発音されました。
(実はソフト開発などのファイル中身の技術的解説のところはわたしは
まったく理解できず、うまくレスポンスが返せなくて申し訳ありません)
別件にはなりますが、
>WRDデータ表示エラー報告
エラー表示がでているのを報告させていただきます(添付ファイル参照)

開発のスピードに驚き感銘をうけました
これでほぼすべてのSNGファイルで発音ができました
30年以上前のデータがこんな簡単に聴けるとはおもってなかったので、これからkbmplayerで当時のテキストと当時の作者さんの音楽で休日にタイムスリップしたいと思います。。。。

本当に感謝していますmm
(ありがとうございます)

(646KB)

このスレッドは解決済ですので、返信並びに編集は出来ません!
pagetop

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