[新聞] desmume-spuNoUserWorkaround
http://bb2.atbb.jp/tas/viewtopic.php?t=29
さて、ボイス等ストリーム音声にノイズが入るのは、エミュレーション精度の問題では
ありません(ファイルにwav録音するとわかる)。これは、動作が遅い場合にそれを補
うだけの音声サンプルを生成するような仕様にしてあることで、まだ続きの音声をゲー
ムが書き込まないうちに余計な読み込みを行ってしまうことで生じてしまうのです(お
そらく)。wav録音で記録するのと同じ要領でDirectSoundに書き込みを行えば、ゲーム
側からの読み込みで波形が"途切れることは"ないのです。
と、前置きしたうえで、やっつけ
http://gocha.s1.zmx.jp/down/public/desmume_snapshot/desmume-spuNoUser
Workaround.zip
カーソル位置確認を怠っているせいか、初期設定バッファが短いせいか、結局のところ
、こちらもノイズが入ります(加えて、wav録音と同様の書き込み方をしているので、
書き込みの回数が多すぎる)。ただし挙動の違いの性質上、バッファ長を10000~20000
のように長くしてしまえば、一応ノイズを感じることなく一連の音声を聞くことはでき
ます。代わりに、音声は映像に遅れて、そのうえしばしば巻き戻ることは避けられませ
んが……。
結局、成果としてはいまいちなように思うので、このアプローチはダメかもしれません
。zeromusさんはBlip_Bufferを通して音声を伸長してバッファに書き込むことを考えて
いたようですが、そのほうが満足いく結果が得られそうな感じがします(伸長にあたっ
てどの程度の速度が犠牲になるのかは疑問ですが)。
※伸長する場合、ADPCMはこれまでどおりで、PCM16(&8)のみコアの分を伸長するとな
かなかよさそうに思いますが、そんな器用なこともうまくできるんでしょうか。謎です
。
たぶんこれでは需要もないので、ひとまずコミットしない方向で。
http://gocha.s1.zmx.jp/down/public/desmume_snapshot/
(請利用http://www.evadefilter.com/ 進入)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.238.100
※ 編輯: choan 來自: 59.126.238.100 (09/11 16:17)
Emulator 近期熱門文章
PTT遊戲區 即時熱門文章