トップへ
<---   取り出しトピック   --->
 
. KbMedia Player v2.80beta43.2017.0109 Kobarin 01/09月07:32#r5800
. Re: KbMedia Player v2.80beta43.2017.0109 Bob 01/09月19:37#r5802
. Re^2: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/09月22:07#r5803
. Re^3: KbMedia Player v2.80beta43.2017.0109 Bob 01/09月23:30#r5805
. Re^4: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/10火01:10#r5807
. Re^5: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/10火01:29#r5808
. Re^6: KbMedia Player v2.80beta43.2017.0109 Bob 01/10火23:59#r5809
. Re^7: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/11水01:41#r5811
. Re: KbMedia Player v2.80beta43.2017.0109 通りすがり 01/09月22:22#r5804
. Re^2: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/09月23:57#r5806
. kbmsxplug.kpiのMGS対応について 01/11水01:06#r5810
. Re: kbmsxplug.kpiのMGS対応について Kobarin 01/11水17:44#r5812
. Re: KbMedia Player v2.80beta43.2017.0109 カタガネ 01/11水20:59#r5813
. Re^2: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/11水21:55#r5814
. Re^3: KbMedia Player v2.80beta43.2017.0109 カタガネ 01/12木00:32#r5815
. Re^4: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/13金18:16#r5818
. kbbms.kpiに関して BMSだいすき丸 01/12木02:29#r5816
. Re: kbbms.kpiに関して Kobarin 01/13金18:14#r5817
. Re^2: kbbms.kpiに関して BMSだいすき丸 01/14土01:28#r5819
. 追記 BMSだいすき丸 01/14土01:35#r5820
. Re^3: kbbms.kpiに関して Kobarin 01/15日03:11#r5823
. Re^4: kbbms.kpiに関して BMSだいすき丸 01/15日21:44#r5827
. Re: KbMedia Player v2.80beta43.2017.0109 WWER 01/14土19:24#r5821
. Re^2: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/15日03:12#r5824
. Re: KbMedia Player v2.80beta43.2017.0109 nkc 01/14土23:36#r5822
. Re^2: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/15日03:17#r5825
. Re^3: KbMedia Player v2.80beta43.2017.0109 H 01/15日14:31#r5826
. Re^4: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/17火00:01#r5833
. Re^5: KbMedia Player v2.80beta43.2017.0109 H 01/17火17:29#r5835
. Re^6: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/19木00:20#r5840
. Re^7: KbMedia Player v2.80beta43.2017.0109 H 01/19木02:37#r5842
. Re^8: KbMedia Player v2.80beta43.2017.0109 Kobarin 01/19木23:54#r5845
 

上の選択記事
. KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/09月07:32 #r5800
編集&削除 返信  
http://hwm5.gyao.ne.jp/kobarin/test/kbmed280_beta43.exe

念の為 beta42 も残しておきます。

http://hwm5.gyao.ne.jp/kobarin/test/kbmed280_beta42.exe
古いバージョンへの上書きインストールはしないで下さい。
異なるフォルダに置けば旧バージョンとほぼ共存して使用出来ます。

プラグインが認識されない場合は

https://www.microsoft.com/ja-jp/download/details.aspx?id=53587

で「Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3」を
インストールして下さい。

64bit 版の動作には vc_redist.x64.exe と vc_redist.x86.exe の両方が必要です。
32bit 版の動作には vc_redist.x86.exe が必要です。

良く分からない場合は両方入れておけば間違いないです。

v2.80beta43 での変更点

・kbmsxplug.kpi に関する以下の修正
 ・設定ダイアログに関する以下の修正
  ・一部の設定が反映されてなかったのを修正
   ・演奏設定->再生周波数(本体からの要求が 0 の場合に適用)
   ・ミキサー->PSG/SCC/OPLL/OPL の音量と Mute
   ・OPLL をステレオ化したときの「パン設定」
   ・General セクションの「音色ファイル」
  ・演奏設定->CPU速度のラジオボタンの挙動がおかしいのを修正
  ・チャンネルマスクの設定に対応(変更が反映されるのはダイアログを閉じてから)
   ・in_msx.dll とは異なり、次回起動時以降も反映されるので注意
  ・EMU2413 TONE EDITOR ダイアログを開けるようにした
  ・設定画面の位置と選択していたページを保存するようにした
 ・ファイルを開く度に「音色ファイル」を読み込み直すようにした
  ・EMU2413 TONE EDITOR で編集したら曲を開き直すだけで反映されるように
 ・MGS 内蔵歌詞を表示出来るようにした
  ・表示/非表示は設定で切り替え可能(General セクション)
  ・本体の再生位置を取得する非公式の機構を使用
   (元々は kbwinamp+in_bm.dll用(BGA再生用))
 ・シークが高速化
 ・リソースリーク修正(config.c の DeleteCriticalSection し忘れ)
・kbnezplug.kpi に関する以下の修正
 ・設定ダイアログの再生周波数の選択肢を修正(8820 => 88200)
・kbmod.kpi に関する以下の修正
 ・新プラグイン仕様に対応
 ・設定項目を追加
  ・再生周波数
   ・44100 以外だとリバーブ/バスブースト/サラウンドのかかり方が変なので既定
    値は 44100(要求無視)
  ・対応拡張子
  ・オーバーサンプリング/ノイズリダクションの有効/無効
  ・リバーブ/バスブースト/サラウンドの有効/無効及び詳細設定
  ・再生レート変換の補間処理
・kbtss.kpi に関する以下の修正
 ・新プラグイン仕様に対応
 ・ファイルオープン時に呼び出す API を PlayMusic から PlayMusicBuffer に変更
・kbqcp.kpi に関する以下の修正
 ・新プラグイン仕様に対応
 ・SDK を PureVoice SDK 2.1 から PureVoice SDK 3.5 に更新
 ・同梱する DLL を qpl.dll から qscl.dll に変更
 ・ファイル名に依存しなくなった(IKpiFile でデータの読み込みを行う)
 ・高速シークに対応(元々十分速かったが)
 ・タグ取得に対応(RIFF のようなので本体のタグ取得機能を呼び出す)
・kbtvq.kpi に関する以下の修正
 ・新プラグイン仕様に対応
 ・ファイルオープンに実ファイルを必要としなくなった
・kbflac.kpi に関する以下の修正
 ・libFLAC を 1.3.2 に差し替え
・kbfpd.kpi に関する以下の修正
 ・kbfpd.kpi を KbMedia Player 以外から利用出来ないように細工するのをやめた
 ・開発元の株式会社ラット様より、WAV ファイル出力するアプリケーションの配布
  は問題ないとの確認を取ることが出来ました
 ・kbwavefile.kpi 公開時点で既に WAV ファイル出力出来てしまっていたけど
・その他プラグインに関する以下の修正
 ・正式版公開に向けての細かい修正(ドキュメント/ソースコードの整理等)
・kbrunkpi.exe に関する以下の修正
 ・設定画面を開いた後、画面を開いたまま直ちにリターンするタイプのプラグインが
  ある程度動作するようになった(in_msx.dll 等)
 ・設定画面が開いたままであることを検出し、閉じるまでプラグインをアンロードし
  ないようにした(閉じるまで待つ間に本体が kbrunkpi の応答なしを検出。設定画面
  の方を閉じるか強制終了するまで待つ)
・新仕様のデコーダプラグインから本体の再生位置を取得出来るようにした
 ・まだ非公式(DDE は使わない)
 ・kbmsxplug.kpi での MGS 内蔵歌詞表示用(元々は kbwinamp + in_bm.dll用)
・ギャップレス再生時の音の途切れを改善
 ・cue シート(参照元ファイルのシークが低速な形式)で改善されるはず
・タイトル/アーティスト名に改行を含む曲があるとプレイリストを正しく読み書き出
 来ないことがあるのを修正(改行は空白に置換するようにした)
・device/player/unarc フォルダ内のプラグインファイル群の配置を変更
 ・各種プラグインにドキュメントを添付して Plugins フォルダ(デコーダプラグイン
  フォルダ)と同じような構成に(作者名\プラグイン名\xxxx.kpi)
・アルバムアート画像の読み込みに失敗したとき、情報表示パネルの表示がおかしくな
 ることがあるのを修正
・アルバムアート画像の読み込みに失敗したとき、「failed to load picture」という
 文字列を画像部に表示するようにした
・SDK を更新(ソースコードを追加)

標準同梱のプラグインは全て新仕様に移行しました。
正式版までにやっておきたいことは全て終わりました。

特に問題なければ次かその次を正式版にしたいと思います。

正式版リリースしたらしばらく更新頻度は落とすつもりです。さすがに
ペース上げ過ぎで疲れました。


SDK にプラグインのソースコードを追加しました。

だれか kbmdx.kpi の 64bit 化やってくれないでしょうか。
怪しい箇所は色々あるけど、どこもブレークポイント設定しても通らない
んですよね。

サイズが大きいので、次から SDK とソースコードは別配布にしようと思います。
. Re: KbMedia Player v2.80beta43.2017.0109
     Bob 2017/01/09月19:37 #r5802
編集&削除 返信  
beta43のリリース、ありがとうございます。
4つ、お願いとご報告があります。

・kbmsxplug.kpiについてご対応いただき、本当にありがとうございました。
 大変失礼ながらbeta42での対応状況を見てかなり落ち込んだのですが、
 beta43での予想の斜め上をいくご対応を頂きましたことで、諦めがつかなくなりました。
 大変なことは重々承知しておりますが、OK氏のNSFplugについても何とか、
 移植をお願いできないでしょうか。

・beta43のkbmsxplug.kpiですが、他のプラグインや、前身のin_msk.kpiと聞き比べても、
 どうも再生速度が速いようです。アンインストール用終了を行っても状況が変わりませんでした。
 なお、再生はすべて DirectSound にて確認しております。

・kbmdx.kpiですが、現在の仕様ですとローパスフィルタは再生周波数が44100Hzまたは48000Hzのときのみ
 有効かと思います。これを44100Hz以上の場合に一律有効にご変更いただけませんでしょうか。
 96000Hzなどに設定するとPCMがクリアになりすぎてしまいます。
 …この対応は原作者様にお願いすべきでしょうか?

・beta43のx86版を起動したときに「Kbmplay.exeのモジュール…でアクセス違反が発生しました」
 といったようなメッセージが表示されました。(うる覚えで申し訳ありません)
 いろいろ調べたところ
 %userprofile%\AppData\Roaming\Kobarin's Soft\KbMedia Player\cache\x86_cache_kpi_decoder_{C5B79669-8A96-42EE-BFF0-B59B9A102C12}.ini
 をリネームすることでエラーが表示されなくなりました。
 ただその後、再び問題のあるファイルに戻してもエラーが再現されず、それ以降は何をしてもエラーを
 再現できなくなってしまいました。
 私の環境固有の問題であればよいのですが、一応ご報告いたします。

長文、失礼しました。
. Re^2: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/09月22:07 #r5803
編集&削除 返信  
> OK氏のNSFplugについても何とか、移植をお願いできないでしょうか。

正式版の後にやってみます。
x64 版でも使えるようにするだけなら大したことはないと思いますが
設定画面にきちんと対応するのは結構大変です。

> 再生速度が速い

違いがはっきり分かる形式は何でしょうか。

KSS (1ファイル1曲のもの)を kb_nez.kpi, kbnezplug.kpi, in_msx.kpi, kbwinamp + in_msx.dll,
kbmsxplug.kpi で再生してましたが、特に違いは分かりません。

nezplug 系と msxplug 系で音の違いははっきりと分かりますが、速度差はない
ような気がしますが…。

あと設定を変えてみても同じでしょうか。再生速度に影響する設定があるのかどうか
は分かりませんけど、「演奏設定」タブの CPU 速度、再生品質、「その他」タブの
演奏同期あたりが関係するかも?

> ローパスフィルタ

この部分は X68Sound.dll (内蔵してますが)の処理ですね。
ソースコードの opm.h を見るとローパスフィルタは opmlowpass_44.dat と opmlowpass_48.dat
というテーブルデータを参照していて、他の再生周波数用のテーブルがありません。
なので私には無理そうです。すみません。

X68Sound.dll の改良版の方も調べましたが同様のようです。

kbmdx.kpi に改良版 x68sound.dll を取り込むのも結構大変で、今回は諦めました。
マルチプルインスタンスな作りにするためにかなりトリッキーなことをやってるんですよね。

> beta43のx86版を起動したときに「Kbmplay.exeのモジュール…でアクセス違反が発生しました」

実行環境は 32bit OS でしょうか。
32bit OS での動作確認が取れてないので、起動時のプラグイン検索がおかしいのかも…。

プラグインキャッシュを消したら発生しなくなったとのことなので、プラグインキャッシュの
読み込み部を調べてみましたが、特に怪しい箇所は見当たりません。

また何かおかしなことがおきたらご連絡下さい。

あとはプラグインに不安定なものが入っているとかでしょうかねぇ。
「プラグイン設定」画面で「最新の情報に更新」を押すとプラグインを再検索します。
連打して不安定になるようなら何か不安定なプラグインが入ってるのかもしれません。
不安定になる可能性が高いのは kbwinamp を使った場合です。
. Re^3: KbMedia Player v2.80beta43.2017.0109
     Bob 2017/01/09月23:30 #r5805
編集&削除 返信  
早々のご返信、そしてご確認、ありがとうございます。

> > OK氏のNSFplugについても何とか、移植をお願いできないでしょうか。
>
> 正式版の後にやってみます。
ありがとうございます!
私が多用するのはチャンネルマスク機能とミキサー機能、設定画面あたりなのですが、
NSFplugにはメモリ機能などもあり、素人目にもとても難しそうに見えます…。
気長にお待ちしております。何卒よろしくお願いいたします。

> > 再生速度が速い
>
> 違いがはっきり分かる形式は何でしょうか。
zipにて圧縮したkss + m3uファイルとなります。それ以外の形式では確認していません。
kss単独でも再生してみましたが、やはり症状は同じでした。

> KSS (1ファイル1曲のもの)を kb_nez.kpi, kbnezplug.kpi, in_msx.kpi, kbwinamp + in_msx.dll,
> kbmsxplug.kpi で再生してましたが、特に違いは分かりません。
私の環境(Windows10 64bit)では kbnezplug.kpi, in_msx.kpi, kbmsxplug.kpi を試すことができましたが
やはりx86版、x64版のどちらでもkbmsxplug.kpiのみテンポが速い状態です。

> あと設定を変えてみても同じでしょうか。再生速度に影響する設定があるのかどうか
> は分かりませんけど、「演奏設定」タブの CPU 速度、再生品質、「その他」タブの
> 演奏同期あたりが関係するかも?
このあたりもひととおり設定を変更してみたのですが、変化がありませんでした。
変化がないのは以前のin_msx.kpiでも同じで、これ自体が本当に機能しているのかどうかも
よくわからないです…。

本件はよく分からない点が多いので、もう少し調査を進めてから改めてご相談します。

> > ローパスフィルタ
>
> この部分は X68Sound.dll (内蔵してますが)の処理ですね。
短時間に、このような細かいところまで調査いただき、ありがとうございました。
周波数決め打ちでDLLに依存している機能だったのですね…。

> > beta43のx86版を起動したときに「Kbmplay.exeのモジュール…でアクセス違反が発生しました」
>
> 実行環境は 32bit OS でしょうか。
Windows10の64bit上で主にx86版を使用しています。

> 不安定になる可能性が高いのは kbwinamp を使った場合です。
説明が至りませんでしたが、お察しのとおりkbwinampを大量に使用していますので、
まずは、このあたりのプラグインを削除していきましたが改善しませんでした。
次に、自分で追加したプラグインがなくなった状態からレジストリを一時的に無効化して改善せず、
今度はまるごとAppDataのKbMedia Playerフォルダを無効化したところ改善、
という流れで調査を進めていきました。

現在は問題なく動作していますので、状況に変化がありましたらまた、ご報告(ご相談)いたします。

ありがとうございました。
正式版のリリース、楽しみにしております。
(Edited 1times)
. Re^4: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/10火01:10 #r5807
編集&削除 返信  
ベースが in_msx.dll なので本当は in_msx.dll と比較して欲しいんですが、
再生速度はどのくらい違うんでしょうか。

微妙な差ですか?結構違いますか?

他のプラグインで 1 分再生したときと kbmsxplug.kpi で 1 分再生した
ときとで何秒くらい違いますか?


以下の手順で試しましたが、手元のデータでは再生速度の違いを確認
出来ません。

1.ループ曲で拡張 m3u/pls や tag を使わない kss を用意
2.「演奏設定」->「デフォルトの曲の長さ」を長めに設定(例えば1200=20分)
3.「フェード時間」を 0 にする(曲の終端の違いを分かりやすくするため)
4.デバイスに kbwavefile.kpi (プラグイン置き場にあります)を選択
5.kbmsxplug.kpi で再生 test1.wav
6.kbnezplug.kpi で再生 test2.wav

デバイスを DirectSound に戻して test1.wav と test2.wav を再生して、
曲の終わりの方へシークして、終わりの部分が同じかどうか確認

test1.wav も test2.wav も、どちらも 20 分再生するので曲の長さは変わりあり
ませんが、もし kbmsxplug.kpi が他と比べて再生速度が速いなら、test1.wav と
test2.wav の曲の終わりの部分が違うはずですよね。

再生速度の違いが微妙でも、20分も再生すれば後半部分はそれなりに違ってくる
筈ですよね。

私が持ってるデータでは、違いが分かるものを見つけることが出来ません。
. Re^5: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/10火01:29 #r5808
編集&削除 返信  
再生周波数を 96000 にしたら違いが分かりました。
kbnezplug.kpi でも変わってくるようです。

これは私には直せそうにないですね。
. Re^6: KbMedia Player v2.80beta43.2017.0109
     Bob 2017/01/10火23:59 #r5809
編集&削除 返信  
詳細な調査をいただき、大変お手数をおかけいたしました。
自分自身ではまだ調査をできていないのですが、kbnezplug.kpiでも変わってくるのですね。
. Re^7: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/11水01:41 #r5811
編集&削除 返信  
KSS の曲長を M3U/PLS/TAG で書き込んでるとずれてしまいますね。

96000Hz だと少し演奏時間が短くなるので、44100Hz を基準にして曲長を書き込んだ
データを再生する分には、少なくとも演奏終了前にプツっと途切れてしまうことはな
いですが、96000Hz を基準に曲長を埋め込むと 44100Hz で再生すると終了直前に少し
途切れてしまいまう可能性がありますね。

ちょっと強引な方法ですが、KSS と MBM 以外(MGS/MPK/BGM/OPX) の曲長とループ時間
を取得することが出来るようになりました。その方法では、同じデータでも再生周波数が
44100/48000 のときと 88200/96000 のときとで取得される曲長が変わってしまいます。
これも今回の不具合と関係しています。

ただ、M3U/PLS/TAG に曲長を書き込んでる場合と違ってループ曲の演奏終了の
タイミングはずれないのでそれほど支障はさそうです。
. Re: KbMedia Player v2.80beta43.2017.0109
     通りすがり 2017/01/09月22:22 #r5804
編集&削除 返信  
この掲示板と、メインのHPがリンクされていないようです。
http://hwm5.gyao.ne.jp/kobarin/

いつもなら「KbMedia Player Version 2.80beta43」のリンクから、このページにジャンプするハズですが、exeファイルがリンクされています。

また、メインのHPの最終更新日が2016年1月7日になっているようです。

ご参考までに…

P.S.
開発頑張ってください。
. Re^2: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/09月23:57 #r5806
編集&削除 返信  
ご指摘ありがとうございます。
修正しておきました。
. kbmsxplug.kpiのMGS対応について
      2017/01/11水01:06 #r5810
編集&削除 返信  
初めて書き込みます。
いつも便利に使わせていただいております。

さてkbmsxplug.kpiのMGS歌詞表示対応なのですが、まずはありがとうございます。
20年以上前にちまちまとMSXで打ち込んでいた歌詞が、まさかWindows10上で表示されるようになるとは
夢にも思っていませんでした。正直、意外な展開に驚いております。

ところで、その歌詞表示用の横長のウィンドウなのですが、若干短くないでしょうか?
MSXのSCREEN0の横幅は半角80文字分ですが、手で数えた限りでは78文字分くらいしかないようです。
右端までぎりぎりに表示させるデータでは、末尾の1文字か2文字くらいが表示されていないように見えます。

あともう1つ、これはin_msx.kpiを使用していた時から発生していた問題なのですが、
Mediaエクスプローラの"タイトル"カラムに、一部のMGSデータのタイトルが正常に表示されておりません。
タイトル文字列の終端は0x1A(EOF)で示されているのですが、ちょっとソースを拝見させていただいたところ、
終端を0x0Dで検出しているようです。(in_msxの時点でそうなっていたのだと思いますが…)
データによってはタイトルの途中に0x0D+0x0Aの改行を含むものがあり、こういったデータだと
最初の改行までしかタイトルとして表示されない状態になっています。
終端を0x1Aで検出して、0x0Dと0x0Aは空白に置換すると、いい感じで表示されるようになると思います。
(そこまでわかってるなら自分でやれと言われそうですが、開発環境がないもので…すいません)

以上、よろしくお願いします。
. Re: kbmsxplug.kpiのMGS対応について
     Kobarin HomePage 2017/01/11水17:44 #r5812
編集&削除 返信  
こういうマイナーな形式で反応があるとちょっと嬉しかったりします。(^^

> ところで、その歌詞表示用の横長のウィンドウなのですが、若干短くないでしょうか?
> MSXのSCREEN0の横幅は半角80文字分ですが、手で数えた限りでは78文字分くらいしかないようです。

12345678901234567890123456789012345678901234567890123456789012345678901234567890 (半角80文字)

こんな文字列を表示させてみたら最後の 0 が見えないようですね。

実行時に幅を計算するようにはなってるので、動作環境に依存しないように配慮されて
いましたが、ダイアログフレームの幅とテキストの表示位置(左端から4ドットから表示)
を考慮していないようでした。修正しておきます。

幅ギリギリまで使ってるデータを頂けると、本物のデータで動作確認が出来て助かるのですが…。

現在はソースコード中に半角 80 文字ぎりぎり使う文字列を埋め込んで確認しているだけです。

> データによってはタイトルの途中に0x0D+0x0Aの改行を含むものがあり、こういったデータだと
> 最初の改行までしかタイトルとして表示されない状態になっています。

実際のデータが欲しいのですが、頂くことは可能でしょうか。

> (そこまでわかってるなら自分でやれと言われそうですが、開発環境がないもので…すいません)

不具合の多くは再現方法さえわかれば直ったも同然ですから、報告を頂けるだけで十分です。

他にも気になることがあったら報告お願いします。
. Re: KbMedia Player v2.80beta43.2017.0109
     カタガネ 2017/01/11水20:59 #r5813
編集&削除 返信  
アルバムアート取得失敗時の情報表示パネルの修正ありがとうございます

 ttp://fast-uploader.com/file/7039691342205/

 History.txt
> ・アルバムアート画像の読み込みに失敗したとき、「failed to load picture」という
>  文字列を画像部に表示するようにした

私の環境だと「failed to load picture」という文字列は確認できませんでしたが。
タグが黒く塗りつぶされていたのが修正されたのを確認できました、ありがとうございました。


2.80beta43になってから Avast!ver7 が kbmed280_beta43.7z をウイルス判定してしまっており
セキュリティ無効化させないとDLが出来ない状態です。
x86\Player\Kobarin\kbviv\kbviv.kpi
がウイルス判定されてしまっています
Avast! で KbMediaPlayer が誤検出されるのは久しぶりでした。
今は kbviv.kpi にパッカーをして回避しております。
今利用しているのが最新版のAvast!ではないので私の環境だけかもしれません。
. Re^2: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/11水21:55 #r5814
編集&削除 返信  
> 私の環境だと「failed to load picture」という文字列は確認できませんでしたが。

液晶非表示 or 小型化してないと正しく表示されないようです。
表示する座標を間違えていました。プラグインの下の黒い部分がそれですね。

> x86\Player\Kobarin\kbviv\kbviv.kpi
> がウイルス判定されてしまっています

これはもう私にはどうすることも出来ないですね…。
開発環境にノートンを入れていますが、コンパイルする度に反応するくらいですから。
kbemidi.kpi とか。最近は反応しなくなりましたが。

STEP_K も過去に配布したバイナリのバックアップにファイルが削除されたのがあります。
runtak.exe とか STEP_fla.ste (α版の頃のバージョン)あたり。

私のはフリーソフトだから別にいいけど、商用ソフトだったら営業妨害ですよね。

昔はここまで誤検知は多くなかったと思うんですけど。
本当にウイルスでも誤検知と判断して無視してしまいそうで怖いですね。

> 今は kbviv.kpi にパッカーをして回避しております。

どうせデータもないでしょうから削除しちゃっても良いと思います。(^^;

サポートやめようかとも思ってるんですが、物凄く古い形式にも対応している
ことがウリみたいにもなってるので…。
. Re^3: KbMedia Player v2.80beta43.2017.0109
     カタガネ 2017/01/12木00:32 #r5815
編集&削除 返信  
> > 私の環境だと「failed to load picture」という文字列は確認できませんでしたが。
>
> 液晶非表示 or 小型化してないと正しく表示されないようです。

どちらも試しましたが表示されませんでした。


> 私のはフリーソフトだから別にいいけど、商用ソフトだったら営業妨害ですよね。

アメリカ辺りだと訴訟問題に発展しそうですね…


> どうせデータもないでしょうから削除しちゃっても良いと思います。(^^;
>
> サポートやめようかとも思ってるんですが、物凄く古い形式にも対応している
> ことがウリみたいにもなってるので…。

毎回パッカーするのも面倒ですし、必要な場面が来るまでは削除で対応していこうと思います
その内ウイルス判定が解除される事を願うばかりです。
. Re^4: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/13金18:16 #r5818
編集&削除 返信  
> 液晶非表示 or 小型化してないと正しく表示されないようです。

色の指定を Font ではなく Pen に対して行っていました。
(何のことだか分からないかもしれませんが)

要するにフォントと同じ色で表示しているので色を黒と透明以外に
すれば見えると思います。

小型化時の座標ミスと合わせると二重にバグってたということですね。

まあ、割とどうでも良い部分なんですが、早めに気づけて良かったです。

(Edited 1times)
. kbbms.kpiに関して
     BMSだいすき丸 2017/01/12木02:29 #r5816
編集&削除 返信  
数週前の bmse.kpi の新 kpi 化によって大いに恩恵を受けています、ありがとうございました。
その頃に掲示板でテスト用 BMS を募られていたことに、今頃気がつきました……

たとえば BOF2016 という大規模イベントの参加作品は、多くが Ogg を用いています。
http://manbow.nothing.sh/event/event.cgi?action=List_def&event=110

ライブラリに関しては、「現在開発中の」という条件には合いませんが、ひとつ心当たりがあります。
http://childs.squares.net/program/bmsbel/index.html
他にも GitHub などを検索すると、いくつかのライブラリが引っかかるようです。
海外産のライブラリでは、BMS ファイルのエンコーディングを
(特に、CP932 と CP949 を) 自動判別する仕組みなども見かけた気がします。

----

bmse_original.txt には「#WAVZZ までの拡張定義に対応しました。」と書いてありますが、
どうやら bmse.kpi も kbbms.kpi も、実際は #WAVFF までしか対応していないようです。
36進数部分 (G-Z) に定義された音声が鳴っていません。
ZZ 拡張定義が鳴れば、2016年までに公開された BMS の過半数は問題なく再生可能になると思います。

----

さらにストップシーケンスと分岐が解釈されれば、現行の BMS は9割がた再生できそうです。
https://hitkey.nekokan.dyndns.info/cmdsJP.htm#STOPXX
https://hitkey.nekokan.dyndns.info/cmdsJP.htm#RANDOM
ただし分岐は多くの構文違反が知られており、開発者の方々にとって厄介なタグのようです。

初期 BPM が小数部分を含んでいるものや、非常に大きな値の拡張 BPM (チャンネル 08) が、
正しく再生されていないように感じられました。
http://manbow.nothing.sh/event/event.cgi?action=More_def&num=440&event=110
前述の BMS の追加差分のうち 2.6 MB くらいの BML ファイルは、そういった例のひとつです。
LR2 という BMS プレイヤーでこのファイルを再生すると、BML 作成者の期待する再生結果がもたらされます。
https://hitkey.nekokan.dyndns.info/bmse_help_full/lr2.html

長々と失礼いたしました。
. Re: kbbms.kpiに関して
     Kobarin HomePage 2017/01/13金18:14 #r5817
編集&削除 返信  
色々情報提供頂きありがとうございます。

> ライブラリに関しては、「現在開発中の」という条件には合いませんが、ひとつ心当たりがあります。
> http://childs.squares.net/program/bmsbel/index.html

これから試してみますが、BMX2WAV というのを少し改造すれば良さそうな予感が
しますね。kbbms.kpi をいじるよりそっちの方が早いかもしれません。

> どうやら bmse.kpi も kbbms.kpi も、実際は #WAVFF までしか対応していないようです。

多分それくらいなら何とかなりそうな気はしますが、BMS の仕様がまだよくわかって
いません。

単純に #WAVXX と #BMPXX の XX と #aaabb の bb を 36進数で解釈するだけでしょうか。
ソースを見ると、現在は XX の1桁目が 16 以上のときだけ 36 進数で解釈し、
#aaabb の bb は常に 16 進数にしているようです。対応出来てないのはそのせい?

> さらにストップシーケンスと分岐が解釈されれば、現行の BMS は9割がた再生できそうです。

これは私には出来ないかもしれません。
ソースコードを元に誰かスキルのある方が改良してくれれば良いのですが…。

> 初期 BPM が小数部分を含んでいるものや、非常に大きな値の拡張 BPM (チャンネル 08) が、

BPM は整数型で宣言していて 32bit で演算していますね。大きすぎるとオーバーフローを
起こしてるのかも。

出来る範囲で修正したいと思いますが BMS の仕様を全く理解してないので時間が
かかるかもしれません。下手なことをすると再現性を落とすだけになりかねません。

> LR2 という BMS プレイヤーでこのファイルを再生すると、BML 作成者の期待する再生結果がもたらされます。

OGG はこのソフトに同梱のデータで動作確認していました。
BML という拡張子の存在もこれに同梱のデータで知りました。

恥ずかしながら私には使い方がサッパリ理解出来なくて、再生結果の違いを
比べることさえ満足に出来ませんでした…。
. Re^2: kbbms.kpiに関して
     BMSだいすき丸 2017/01/14土01:28 #r5819
編集&削除 返信  
対応を検討していただきありがたく思います。

> 単純に #WAVXX と #BMPXX の XX と #aaabb の bb を 36進数で解釈するだけでしょうか。
> ソースを見ると、現在は XX の1桁目が 16 以上のときだけ 36 進数で解釈し、
> #aaabb の bb は常に 16 進数にしているようです。対応出来てないのはそのせい?

はい、#WAVXX, #BMPXX, #BPMXX などの XX も、36 進数で問題ありません。
XX の1桁目が制限されているのは過渡期の名残なので、1桁目も2桁目も 36 進数で大丈夫です。

#aaabb の bb は、16 進数のままでも当面は問題ないはずです。
#aaabb:00ZZ のように、コロン以降で #wavZZ などの 36 進数番号が参照されうるので (00 は休符)、
コロン以降の部分に関しては 36 進数を受け入れていただければありがたいです。

> これは私には出来ないかもしれません。
> ソースコードを元に誰かスキルのある方が改良してくれれば良いのですが…。

私もスキルがなく、お役に立てそうにありません…。
のちほど機会を見つけて、BMS に興味がある開発者の方々に打診してみようと思います。

> BPM は整数型で宣言していて 32bit で演算していますね。大きすぎるとオーバーフローを
> 起こしてるのかも。

小数点 BPM が設定された BMS はそれなりの数が存在するので、対応していただけると嬉しいです。
おそらく 64bit 浮動小数型が必要ですが、これに関しては自信がありません。

> 恥ずかしながら私には使い方がサッパリ理解出来なくて、再生結果の違いを
> 比べることさえ満足に出来ませんでした…。

私も理解しきれていませんが、単純な使い方なら僭越ながら手順をご説明できそうです。
1. LR2_100201.zip をダウンロードして解凍します。
2. LR2.exe をダブルクリックして起動します。
3. 初回起動時は ID と Password を設定する必要があります。適当に設定して OK をクリックします。
4. JUKEBOX1 タブをクリックすると、JUKEBOX の登録を促されます。適当な BMS をドロップし登録。
5. 任意で MAIN タブから「ウィンドウモード」をチェックし、LR2.exe を終了します。
6. LR2body.exe のショートカットを作成します。
7. ショートカットのプロパティから「リンク先」に引数を追加します。"...\LR2body.exe" -A -NS
8. このショートカットに対して *.bms;*.bme;*.bml;*.pms ファイルをドロップすると、自動演奏されます。

比較する際に役立てていただければ幸いです。
再びの長文失礼しました。
. 追記
     BMSだいすき丸 2017/01/14土01:35 #r5820
編集&削除 返信  
申し訳ありません、追記というか訂正です。
× 適当な BMS をドロップし登録。
〇 適当な BMS フォルダーをドロップして登録します。
書き忘れてしまいましたが、LR2 フォルダや BMS フォルダは、管理者権限が不要な場所に置いてください…。
. Re^3: kbbms.kpiに関して
     Kobarin HomePage 2017/01/15日03:11 #r5823
編集&削除 返信  
> のちほど機会を見つけて、BMS に興味がある開発者の方々に打診してみようと思います。

作ってくれる方がいらっしゃればそれが一番です。
私には再生エンジンを作成する技術はなく、あくまでも既存のライブラリや
ソースコードを組み込んでいるだけですので、大したことは出来ません。
出来るのはせいぜいエラーチェックの強化やメモリリークの修正程度です。

それでも #WAVZZ と BPM くらいなら何とか出来るかもしれませんので、正式版
リリース後に手を付けてみようと思います。

> 7. ショートカットのプロパティから「リンク先」に引数を追加します。"...\LR2body.exe" -A -NS

ありがとうございます。これで比較がしやすくなります。
でもこれってシークが出来ませんよね。
曲の後半に行くほど差を比較するのが辛くなりますね…。
. Re^4: kbbms.kpiに関して
     BMSだいすき丸 2017/01/15日21:44 #r5827
編集&削除 返信  
> それでも #WAVZZ と BPM くらいなら何とか出来るかもしれませんので、正式版
> リリース後に手を付けてみようと思います。

ありがとうございます! 正式版も以降版も楽しみに待たせていただきます。

> でもこれってシークが出来ませんよね。
> 曲の後半に行くほど差を比較するのが辛くなりますね…。

ああー気が回らず申し訳ないです。
コマンドラインから以下のように指定すると、オートプレイ動画を出力できます。
"…\LR2body.exe" -auto2avi "…\input.bms" "…\output.avi"
. Re: KbMedia Player v2.80beta43.2017.0109
     WWER 2017/01/14土19:24 #r5821
編集&削除 返信  
かなり遅ればせながら修正の御対応ありがとうございます。kbmsxplug.kpiでほかにも不具合が見つかりましたので、報告いたします。

デバイスのSCCとOPLLの設定が反映されません。SCCはどれを選択しても自動、OPLLはYM2413になるようです。

SCCについては、StandardとEnhanced両方で同じ曲が存在するKSSファイルで確認しました。in_msx.kpiではStandard選択でEnhanced対応、Enhanced選択でStandard対応のファイルを再生するとSCCの音が鳴りませんが、当プラグインではどちらの場合でも音が鳴っていました。

PSGについては、AY-3-8910とYM2149の違いがはっきりわかる曲ファイルを見つけられなかったのでここに取り上げませんでしたが、もしかしたらこれも設定が反映されていないかもしれません。

ご確認よろしくお願いします。
. Re^2: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/15日03:12 #r5824
編集&削除 返信  
> デバイスのSCCとOPLLの設定が反映されません。SCCはどれを選択しても自動、OPLLはYM2413になるようです。

不具合報告ありがとうございます。確認出来たので修正しておきます。
PSG も反映されてなかったと思います。
. Re: KbMedia Player v2.80beta43.2017.0109
     nkc 2017/01/14土23:36 #r5822
編集&削除 返信  
また書き込みが数年遅れてしまい申し訳ありません。
100分以上表示見切れ対応、nezplugプレイリストのタイム1/1000対応、SPCのバイナリ記述/XID6対応、wsrプラグインの移植などなど
様々な要望に対応されていて感謝感激雨あられです。
本当に開発お疲れ様です。

早速ですが不具合かどうかわからないものの一応ご報告を。
特に表記のないものは動作は全て KbMedia Player v2.80beta43.2017.0109 で確認しています。

DirectSoundデバイスを使用し
0.2秒くらいの短い音声ファイルを再生すると
音が二連打されるようにファイルが再生されました。
発生の際はwavファイル使用時に気づきましたがflacなどに変換しても同じでした。
演奏リストに入れて連続再生の前後に再生される場合は問題ないようです。


次に質問になるかもしれませんが
1ファイル複数曲タイプのファイルを対象にした場合に
圧縮ファイル内のm3uプレイリストファイルから演奏リストに追加するのはどうすれば可能でしょうか。
エクスプローラ右ボックス側に表示されたm3uファイルを右クリック→追加を実行し演奏リストから再生しても
ファイルが無いとエラー表示され演奏リストから再生出来ませんでした。

リスト追加後の演奏リスト自体をテキストで開いてみると
>0:ファイル名(フルパス)
>1:書庫ファイル内ファイル名
の「0」の部分にm3uファイル内に書かれたファイル名だけが記述され
「1」の部分が空欄になっています。
複数曲タイプではない単一のファイルではm3uファイル内に同一フォルダのファイル名のみ記述でも問題ありませんでした。

なお圧縮内ではなく単なるフォルダ内も従来通り問題ありませんでした。
ただ文頭に「#」を記述しm3uプレイリスト内に文章を書き込んでいると
もっとも上の行にある文字列もファイルとして認識されるのか
m3uファイル選択中にエクスプローラ内にも表示され
m3uファイルを右クリック→追加をすると演奏リストに追加されてしまうようです。
2.63a.2015.1012 で確認したところ、こちらは文頭に「#」分は表示されていません。
しかしこの過去バージョンでは一行目になにも書き込みがない場合は
エクスプローラ内でm3uファイルをクリックしてもファイル一覧が表示されませんでした。


またループMIDIに対応いただきありがとうございました。
永久ループ再生などが出来とても重宝しています。
あれからいろいろ見ているともうひとつMIDIのループ方式を見つけてしまいました。
「loopStart」「loopEnd」という文字列がループタイミングのバイナリ部分に直接記述されています。
どうやらfoobar2000の「foo_midi」プラグインは対応されているようです。
余談ですが上記のプラグインは再生ファイルがあるフォルダ内のサウンドフォントファイルを自動で読み込むようです。

この方式は以下の「GBA MUS Ripper」
https://github.com/jpmac26/gba-mus-ripper-gui
というGBAタイトル用ツールで出力したMIDIファイルに使われています。
ですがこれの出力後ファイルをupするのはちょいと黒だと思われますので直接ファイルの場所を伝えるわけにはいかないのがなんとも…。
「midi "loopstart" "loopend"」などで検索すると
ほかにも使われているものがありそうにも見えるのですが、使われているファイルを見つけることが出来ませんでした。
Kobarinさんもこれではやる気が出ないと思われますので
書いておいてあれですがスルーしていただいても構いません。

以上長くなってしまいましたが、開発の参考になれば幸いです。

----

>名前さん
今更書いても許していただけないかもしれませんが
以前の投稿で別人と間違えてしまったようで申し訳ありませんでした。
ただnezplugのNESVolume / PSGVolumeは拡張音源とのバランス取りのための項目で
普通に音量設定のように使用するものではない
とだけでもわかっていただけるとありがたいです。

(Edited 2times)
. Re^2: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/15日03:17 #r5825
編集&削除 返信  
> DirectSoundデバイスを使用し
> 0.2秒くらいの短い音声ファイルを再生すると

再生バッファサイズを 200ms 程度まで小さくしているときに確認出来ました。
ある程度大きくすると改善されると思いますがどうでしょうか。

> 圧縮ファイル内のm3uプレイリストファイルから演奏リストに追加するのはどうすれば
> 可能でしょうか。

アーカイブ内の m3u は、相対パス指定になっている場合には未対応です。
あんまり需要がないと思って放置していましたが、試してみるとアーカイブ内の
プレイリストは色々と動作が変ですね。そのうち修正します。

1ファイル複数曲と同名の拡張 m3u が存在する場合、拡張 m3u の方ではなくて
曲の方を開く分には同名の m3u 内の曲長データを読みに行きます。(tag/pls が
あればそちらを優先)
これはアーカイブ内にあっても大丈夫な筈です。

> あれからいろいろ見ているともうひとつMIDIのループ方式を見つけてしまいました。

やっぱりあったんですね…。
OGG とかのループタグと同じことが出来る感じでしょうか。
メタイベントでも埋め込んでるんでしょうかねぇ。

loopend というのがあるならアウトロも可能そうです。だとしたら CC111 よりも
使い勝手は良さそうですね。
. Re^3: KbMedia Player v2.80beta43.2017.0109
     H 2017/01/15日14:31 #r5826
編集&削除 返信  
上海アリス幻樂団さんの東方紅魔郷、東方紅魔郷妖々夢、東方永夜抄、東方花映塚(体験版)のmidiのループは対応可能でしょうか?
http://mint.s150.xrea.com/?Brightmoon
こちらのサイトで紹介されているbrightmoonというツールでmidiの切り出しが可能です(公式サイトにある体験版でもできると思います)。
調べた限りではループスタートはコントロールチェンジの02番(Breath Controller(ブレスコントローラ))
ループエンドはコントロールチェンジの04番(Foot Controller(フットコントローラ))だと思われます。
ご検討お願いします。
. Re^4: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/17火00:01 #r5833
編集&削除 返信  
> 調べた限りではループスタートはコントロールチェンジの02番(Breath Controller(ブレスコントローラ))
> ループエンドはコントロールチェンジの04番(Foot Controller(フットコントローラ))だと思われます。

ループも色々あるんですね。
コントロールチェンジの 02 番と 04 番をループと見なしたら正常に再生出来なくなる曲
とか出てこないですかね。そのために設定項目をつけるのもどうかと思いますが…。
. Re^5: KbMedia Player v2.80beta43.2017.0109
     H 2017/01/17火17:29 #r5835
編集&削除 返信  
> ループも色々あるんですね。
> コントロールチェンジの 02 番と 04 番をループと見なしたら正常に再生出来なくなる曲
> とか出てこないですかね。そのために設定項目をつけるのもどうかと思いますが…。
データの誤爆が100%ないとも言えないですね・・・
一応コントロールチェンジで指定してる値が02番と04番とも00を指定している(Bn 02 00, Bn 04 00)
ので、
00を指定してる場合のみループとみなすとかは難しいでしょうか?
両方とも音の強弱を指定するものなので曲のデータ上で00を指定することはないと多分思います。
http://shaw.la.coocan.jp/midistd/ControlChange.html
. Re^6: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/19木00:20 #r5840
編集&削除 返信  
対応してもそのゲームソフト?のデータにしか使えないんですよね。
試しに体験版をダウンロードしてみましたが、インストーラを起動する
のに躊躇してしまい、試す気になれませんでした。

ループエンドがなければ対応自体はものすごく簡単そうですけど。

ループエンドの先はアウトロなんでしょうか。
CC111 はループエンド=エンドオブトラックみたいなものですよね。
. Re^7: KbMedia Player v2.80beta43.2017.0109
     H 2017/01/19木02:37 #r5842
編集&削除 返信  
> 対応してもそのゲームソフト?のデータにしか使えないんですよね。
実質3本だけですからね・・・他でこの形式見たことないですし。

> 試しに体験版をダウンロードしてみましたが、インストーラを起動する
> のに躊躇してしまい、試す気になれませんでした。
http://www16.big.or.jp/~zun/html/th06.html
こちらにある体験版(☆体験版 ver0.13(size 4.03M) をダウンロード 02/08/25)は
lzhで圧縮されてるだけでインストーラとかはないです。

> ループエンドがなければ対応自体はものすごく簡単そうですけど。
>
> ループエンドの先はアウトロなんでしょうか。
> CC111 はループエンド=エンドオブトラックみたいなものですよね。
>
曲によってCC04の後に妙に長い無音や作りかけ?のデータがあるのでアウトロとかはないですね。
midiデータをCC02をCC111に、CC04をエンドオブトラックに書き換えるとループするようなので
気が乗らないのであればそれで対処したいと思います。
. Re^8: KbMedia Player v2.80beta43.2017.0109
     Kobarin HomePage 2017/01/19木23:54 #r5845
編集&削除 返信  
> 曲によってCC04の後に妙に長い無音や作りかけ?のデータがあるのでアウトロとかはないですね。
> midiデータをCC02をCC111に、CC04をエンドオブトラックに書き換えるとループするようなので
> 気が乗らないのであればそれで対処したいと思います。

う〜ん、アウトロがないなら CC111 と実質同じことしか出来ないですし、シーケンサか
何かでそのように置換してもらった方が良いかと思います。

ある程度一般的に使われてる方式であれば対応しても良いのですが…。
アウトロがちょっと面倒くさいんですけど。

上へ






RAIBPL1.23-wakatiai.halfmoon.jp 2017/05/25木21:26