[新聞] desmume-spuNoUserWorkaround

看板Emulator (模擬器)作者 (八房龍の助)時間16年前 (2009/09/11 16:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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)
文章代碼(AID): #1AgWTn3J (Emulator)
文章代碼(AID): #1AgWTn3J (Emulator)