[ オリジナルレポート ]

BugID: #09203

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
サウンド解決済み修正済み2025-07-10 22:172026-03-12 06:34
 
テスターhap担当者hapソース
バージョン0.278発生バージョン0.278修正バージョン0.287
修正コミット 967f363プルリク
フラグ再発
セット
セット詳細
 
概 要バッファの同期が不安定。ステートセーブロード後や早送り後に20ms置きにノイズが出る。
詳 細Sound module abuffer ( https://github.com/mamedev/mame/blob/master/src/osd/modules/sound/sound_module.cpp ) has desync issues. If a desync happens, for example after save/loadstate, or after resuming after pressing fast forward, the sound will crackle every 20ms, and it will have trouble restabilizing.

It is deliberate, see:
// If there are too many buffers, remove five samples per buffer
// to slowly resync to reduce latency (4 seconds to
// compensate one buffer, roughly)

So, it will crackle for 4 seconds per buffer, which is already annoying. But even after that, it hovers over the number of buffers limit occasionally, and you'll still get sound crackling.

abuffer is used in:

File modules\sound\coreaudio_sound.cpp
File modules\sound\pa_sound.cpp
File modules\sound\pipewire_sound.cpp
File modules\sound\pulse_sound.cpp
File modules\sound\sdl_sound.cpp
File modules\sound\wasapi_sound.cpp
File modules\sound\xaudio2_sound.cpp
再現手順Run a game with clear simple sound, such as pacman.
Briefly press INS (the fast forward key) to force a desync.
Listen to sound crackling.

Note: to force it to resync cleanly and get rid of the sound crackling, simply pause and unpause.
追加情報 
 
添付ファイルmp3 file279_pacman_glitchy.mp3 (2025-08-11 19:12)
png filecanonv20.png (2025-08-11 19:13)
mp3 file279_square_toneladder_glitchy.mp3 (2025-08-11 19:13)
mp3 file279_square_toneladder_wavwrite_ok.mp3 (2025-08-11 19:13)