[戻る]
一括表示

タイトル
記事No
投稿日
投稿者
参照先
要望のようなもの
419
: 2014/05/08(Thu) 00:27:01
uet   <beatmaniauet@gmail.com>

どうも、こちらのソフトを楽しませていただいてるuetです。

こちらのcharatbeatHDXにおける、ムービーファイルの再生方法が俗に言うLunatic Rave2で表示される表記では表示されなかったので、こちらご指摘をお願いしたいのと、

こちらのソフトでWASAPIをサポートしていますが、加えてASIOを導入していただけないでしょうか。ASIOだとオーディオインターフェース等モノを揃える必要がございますがあまりスペックに左右されず低遅延でプレイすることができると考えているからです。

お忙しいとは思いますが、お返事だけでもどうぞよろしくお願いします。
タイトル
記事No
投稿日
投稿者
参照先
Re: 要望のようなもの
420
: 2014/05/08(Thu) 03:12:07
管理人

プレイしていただきありがとうございます。


まずムービーに関してですが、charatbeatHDXでは2種類の動画再生方法があり、
1つは独自拡張コマンドの#MOVIEと、もう1つは#BMPzzによる動画ファイル指定です。

またそれぞれ制約があり、まず#MOVIEに関しては再生開始位置が必ずBMSの先頭からとなります。
そして#BMPzzに関してですが、charatbeatHDXでは動画ファイルは1つしか扱えないことになっていますので、
#BMPzzに複数の動画が指定されていた場合は、BMS解析時に最初に見つかった動画のみが再生の対象となります。

#BMPzzで指定出来る動画の拡張子は以下の通りです(これ以外は画像と識別されます)
 AVI、MOV、MPG、MPEG、M2P、MP4、MKV、FLV、SWF、3GP、ASF、WMV、M4V、OGM
詳しくはゲーム内のヘルプにありますのでそちらをご覧ください。

なお、動画はWindowsにインストールされているコーデックに影響しますので、
再生がまったく出来ないのであればコーデックに問題がある可能性があります。
charatbeatHDXではK-Liteコーデックパックにて動作確認をしておりますので、
もし動画が再生出来ないのであればこちらのコーデックをお試しください。
※先に別途公開中のBMIIDXView2010にて正しく再生出来るか、試してみると良いかもしれません


次にASIOですが、実はASIOよりWASAPIの方がレスポンスが上です。

WASAPI自体がASIOを参考に作られており、しかもOS上に実装されているということは、
ドライバレベルで対応していることになりオーバーヘッドがありません。
(代わりに新しいOS(Vista SP1以降から)でなければ使用できませんが、
 OSにドライバがインストールされているのであれば、どんなサウンドカードでも
 面倒な設定も必要なくWASAPIが使えるというメリットがある)

なお、WASAPIには共有モードと排他モードの2種類のモードがあり、
共有モードは今までどおりWindowsのミキサーを通すため、
音質が劣化したりミキシングの遅延が発生するため何の意味もありませんが、
charatbeatHDXではもう1つの排他モードを使用しており、
これだとWindowsのミキサーを通さずに直接ハードウェアにアクセスできるため、
音質の劣化も無く(ビットパーフェクトが可能)、また少ない遅延で音を鳴らすことができます。
※欠点はサウンドデバイスをロックするため、ゲームの音以外は一切出なくなります

確認したところ、ほとんどのPCに付いているRealtekのオンボードサウンドチップにて、
標準で10msの遅延で再生出来ることが分かっています。


それと、WASAPIやASIOでは音の合成は自前でやらなければなりません。
(DirectSoundではミキシングはOSがやってくれますが、このため50〜100msの遅延があります)

charatbeatHDXではこのミキシングを別スレッドで行っていますが、
同時発音数に制限は設けていないため、同時発音数が多くなるほどCPU負荷が増え、
1フレーム分のPCMのミキシングが10ms以下で終わらなければ、データがサウンドカードに渡せない状況となり、
結果的に音が徐々に遅れたりノイズが発生してしまいます。
(手持ちのRealtekでは実は最低3msまでレイテンシを設定出来ますが、
 これはハイエンドCPUのi7-4770Kでさえ間に合わないレベルです)

つまり、WASAPIでもASIOでもこのミキシングはCPUにて行っているため、
それ以上速くする事は物理的に出来ないということになりますので、
現状のWASAPIで十分対応できるのでは思います。


ちなみにcharatbeatHDXでは、こういった難しい部分はユーザーに選ばせるということはせず、
初回起動時にCPUのリアルクロックを計測して、DirectSoundかWASAPIかを自動で選ぶ処理が実装されています。
そもそも50msの遅延が分かるレベルの方はかなりプロな方なので、
そういう方は高スペックのPCでWASAPI設定で遊んでもらえればよいかと思います。
タイトル
記事No
投稿日
投稿者
参照先
Re^2: 要望のようなもの
421
: 2014/05/08(Thu) 14:15:37
uet   <beatmaniauet@gmail.com>

すばやいお返事ありがとうございます。
bmsのムービーにつきましては、既にBMIIDXView2010で動画再生を確認しています、にもかかわらずHDXの本登録の楽曲「U.F.O.」と「The Rebellion to Freedom (Radio Edit)」において動画が再生されません。中身を見たいのであればこちらからお渡しすることも出来ます。

ASIOの件、了解しました。こちらの環境ではWASAPIにするとバッファの関係か分りませんが、定期的にノイズが入りその都度音が遅延する模様です。パソコンのスペック自体はOSはwindows7(ホームプレミアム)、CPUにi7-3770k、グラフィックにGTX285、オーディオ再生についてはAI/FのQUADCAPTUREを使用しているためスペックが足りないということは無いと思いたいのですが・・・

こちらで対処できることが無ければしばらくはDirectSoundにて遊ばさせていただきます・・・
タイトル
記事No
投稿日
投稿者
参照先
Re^3: 要望のようなもの
422
: 2014/05/09(Fri) 00:47:03
管理人

状況のほう確認いたしました。

まず動画ですが、自宅のPCにて2曲ともオートプレイにて確認しましたが、こちらではどうやら動画は再生されているようです。
 ・参考キャプ
  http://www.charatsoft.com/upload/20140508_ufo_cap.jpg
  http://www.charatsoft.com/upload/20140508_reb_cap.jpg
  ※コーデックはK-Liteしか入れていません

実はBMIIDXView2010とcharatbeatHDXでは動画のロード方法が一部異なっておりまして、
前者は直接ファイルからロードする仕様ですが、後者ではいったんメモリ上にロードしてから再生するという仕様になっており、
この仕様の違いで選択されるコーデックが変わってしまうのかもしれません。
※このあたりはインストールされているコーデックにより優先度が変わると思いますので、
 手動でメリット値の変更を行う必要があるかもしれません

なお、BMIIDXView2010の方も最終的には全てメモリから再生する形にする予定ですので、
こちらは後日(いつになるかちょっと不明ですが)修正したいと思います。

ちなみにcharatbeatHDXでは、ローカルBMSフォルダ内に入れた場合でもいったんメモリ上にロードする仕様になっておりますので、
ひとまず最終的なテストはこちらで行っていただければと思います。
(製作時はBMIIDXView2010、最終確認としてcharatbeatHDXで行う形)


次にノイズの件ですが、結論から言いますと現在お使いの音源がハイレゾ(192KHz、24bit)設定になっているためだと思います。
ドライバに設定項目が存在するかは分かりませんが、もし存在するのであればこれを44KHz(または48KHz)に変更していただければと思います。
※ビット数はあまり関係ないようですが、もし24bitでダメなら16bitにしてみてください

設定の参考として、オンボードのRealtekのサウンドチップの場合ですが、
OS標準のドライバではなくRealtekからDLした最新のドライバを入れることで、
コントロールパネルに「Realtek HD オーディオマネージャ」という項目が追加され、
これを開いてから接続されているオーディオ出力(通常ならスピーカー)タブを選ぶと、
その中にさらにデフォルトフォーマットというタブがあり、ここでCD音質(16bit、44100Hz)などに変更出来ます。
なお、Realtekではデフォルトが48KHzになっているようですので、一般的なPCであれば何も設定せず問題なく動作します。


一応内部処理について補足しますと、charatbeatHDXではオーディオデバイスの出力設定に合わせて音側の周波数変換を行っています。
これは、デバイスの出力設定がドライバレベルでしか変更出来ないような感じだったため、
その設定を読み取って音の方をデバイスに合わせるといったことを行っているためです。
このため、192KHzのデバイスならば192KHzのデータにコンバートしてからミキシングされるため、
CD音質と比べると4倍以上CPU処理が必要となります。
※SSE命令を使ってコードを書けば理論上8倍速くなると思いますが、使用している音が44KHzなので、
 オーバーサンプリングしてまで192KHzで再生する意味は無いと思います
 (ちなみに変換は簡易仕様のため実質劣化してしまいますが、逆に音とデバイスの周波数が一致する場合は変換が必要無いため、
  ロード処理がかなり早くなります)

ちなみにこちらでも192KHzに設定して「U.F.O.」を試してみたところ、まずi7-2600Kでは最初あたりの重い箇所でブリブリ鳴り出して、
その後一番重い箇所ではブーといった感じになりました。
次にi7-4770Kではi7-2600Kよりは性能が上のためか最初の部分ではノイズは出ませんでしたが、
重い箇所ではやはりブーといった感じになってしまいましたので、i7でもまだハイレゾミキシングは無理なんだろうと思います。
(バッファ数を増やせばノイズは減りますが、今度はレスポンスが悪くなるので意味がないですね)
タイトル
記事No
投稿日
投稿者
参照先
Re^4: 要望のようなもの
423
: 2014/05/09(Fri) 01:48:54
uet   <beatmaniauet@gmail.com>

動画の件、了解しました、タブンこちらのコーデックが悪いですね・・・いったん整理してみます。

こちらのオーディオI/Fの設定では44100hzで16ビットにしてあります。
こちらのドライバでバッファ数も設定できるのですが、256sampleから倍々と上げていっても同じノイズが発生し遅延します。
ちなみにオンボードのrealtekで試してみたところノイズもなく遅延しませんでした。
タイトル
記事No
投稿日
投稿者
参照先
Re^5: 要望のようなもの
424
: 2014/05/09(Fri) 19:56:19
管理人

動画の件については、ご確認をお願いいたします。


サウンドについてはドライバで設定が変更できたとしても、
プログラム側ではそれが反映されず、192KHzとしてしか取得出来ないのかもしれません。

ゲーム側からレートを変更出来るかどうかは今後調べるとして、
現状ではこれ以上の検証は出来ませんので、
ひとまずゲームプレイ時はオンボード、製作時はUSB-DAC使用といった感じでお願いいたします。
タイトル
記事No
投稿日
投稿者
参照先
WASAPI v3.01 beta
427
: 2014/05/10(Sat) 04:11:14
管理人

WASAPIについてですが、あれからさらに調べましたところ、
192KHzの状態から強制的に44KHzで再生する方法が見つかりましたので、
これを反映したサウンドプラグインをベータ版として以下にアップいたしました。
http://www.charatsoft.com/upload/WASAPI_v3.01_beta.zip

まだRealtekのみでしかテストは行っておりませんが、
こちらでノイズが発生するかテストしていただけますでしょうか?
※問題なければ次回のバージョンで正式版として同梱したいと思います


こちらのDLLの使い方ですが、まず2つのDLLをゲームフォルダにある
FILES内のdll32とdll64にそれぞれ入れていただき、
ゲーム起動後にタイトル画面からF5を押して設定画面に移動、
設定画面内の「SOUND API」を「WASAPI v3.01 beta」に変更後、
ゲームを再起動してください。
タイトル
記事No
投稿日
投稿者
参照先
Re: WASAPI v3.01 beta
428
: 2014/05/11(Sun) 12:43:25
uet   <beatmaniauet@gmail.com>

こちらのサウンドプラグイン、試してみましたが同一の症状が出ます・・・ 多分設定されているバッファが低すぎるか、機材の相性・・・なんでしょうかねぇ
DAWでもWASAPIに設定するとこのようなノイズが発生し遅延しますし・・・御協力いただいてるのに申し訳ない・・・
タイトル
記事No
投稿日
投稿者
参照先
WASAPI v3.02 beta
429
: 2014/05/11(Sun) 23:20:22
管理人

ダメでしたか…

試しに暫定的にバッファサイズを変えられるバージョンを作成してみましたので、
こちらを再度試していただけますでしょうか?
http://www.charatsoft.com/upload/WASAPI_v3.02_beta.zip
※設定は44KHz/16bit/2chのままです

プラグイン名が「WASAPI v3.02 beta」に変わりましたので、
設定から再度変更をお願いします。

また、新たにiniファイルが追加されましたので、
これもDLLと同じ場所に入れていただければと思います。
このファイルはテキストエディタで開けますので、
この中の「LATENCY」をミリ秒で設定してください。
※0を指定した場合はハードウェアデフォルト(大抵は10ms)となり、
 Realtekでは最低設定出来る値は3msでした

このプラグインが正しく実行された際には、ゲーム起動時に
現在設定されているレイテンシをダイアログで表示します。
こちらで正しく設定ファイルがロード出来たかが確認出来ます。


これでもノイズが乗るとしたら、ソフトウェアレベルでの修正は出来ないかもしれません。
とりあえずUSBの転送レートが間に合っていないなども考えられますので、
もし機器をハブ経由で接続されているようでしたら、
マザーボードのUSBに直接挿してみてください。
タイトル
記事No
投稿日
投稿者
参照先
Re: WASAPI v3.02 beta
438
: 2014/06/11(Wed) 01:27:16
uet   <beatmaniauet@gmail.com>

お久しぶりです。間が空いてもうしわけない・・・

今回のv1.04で、WASAPIの遅延およびノイズが消えたのを確認致しました!これで思う存分遊べます、本当にありがとうございます!!!!!
タイトル
記事No
投稿日
投稿者
参照先
Re^2: WASAPI v3.02 beta
439
: 2014/06/11(Wed) 18:08:42
管理人

ひとまず鳴ったということで一安心です。

やっぱり検証できる実機が無いと、問題がどこにあるのか分からなくてダメですね。

- WebForum -