Dolphin, the GameCube and Wii emulator - Forums

Full Version: The 1h30 audio issue mystery
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
This thread centralizes all the information we have on the 1h30 audio issue. For those not familiar with this issue, quick summary: after around 1h30 of gameplay, Dolphin audio starts glitching and you can hear some static noise on top of the normal audio (example: http://delroth.net/static-issue.wav ).

This bug is extremely annoying and we currently have no work around. It's also very hard to debug because we have to wait 1h30 in order to test anything. To get people motivated a bit more, it was decided that 100€ will be given to the developer who fixes this bug.

We have a potential fix from degasus: please test http://dl.dolphin-emu.org/wips/degasus-d...76+-x64.7z (already reported as working for 1 person)

Confirmed facts about this issue (with a small list of people who confirmed the fact):
  • Happens after 92 minutes, real time (running at 200% speed does not make it happen 2x faster) (tested by: delroth, RachelB, MaJoR).
  • Happens with both DSP LLE recompiler, LLE interpreter, Zelda and AX HLE (tested by: delroth, haddockd, JMC).
  • The noise can be heard in a Dolphin audio dump but not in a dump done directly at the DSP level, which means the issue is in AudioCommon, most likely in the Mixer (tested by: delroth, RachelB, moosehunter).
  • The issue disappears if you save state, relaunch dolphin, and load state (tested by: delroth, JMC).
  • The issue happens on Windows, OSX and Linux (tested by: delroth, pauldacheez, Shonumi)
  • The issue happens in both SC and DC mode (tested by: JMC and other SSBM netplay people).

Facts to check:
  • Does the issue impact DTK music (check with Super Monkey Ball 1, for example - is the music impacted or only sound effects)?

Harder things to do that could help:
  • Monitor the time between DSP done interrupt and AI DMA interrupt and make sure it doesn't drift (my current guess for the root cause of this issue).
  • Code a homebrew generating a sine wave and capture the waveform at the 1h30 mark so we have a better idea of the nature of the "glitching"

If you have more ideas of things to check, please tell me in this thread and I'll add them to this post. If you tested anything that isn't in the "confirmed facts" yet, please post in this thread too. I'll remove any post that confirms stuff already confirmed - they're basically useless.

Thanks to everyone who reported this issue in the past, I hope we'll be able to fix this before 4.0.
Glad to see there's a sizable bounty on this bug. From what I understand (thanks to haddockd's testing) it's been in revisions ever since 3.0. I'll try to help in any way I can, maybe even poke around the code if I have spare time. Anyway, one thing that I noticed disabling the framelimit (holding Tab, for example), temporarily "fixes" the static, but it comes back shortly thereafter. I don't know if that's a helpful clue or not, but I wonder if emulation speed is a factor at all. I'm also curious if it's 1:30 of in-game time or 1:30 real-time.

I plan to test this tonight with Super Smash Bros. Melee (HLE audio), since you can just have the CPU-controlled characters fight 90 minutes, games like this make for nice automated tests for this issue
I'l test for the dsp interpreter. I have a feeling it would go by game time instead of real time. I don't know for sure or anything. Right now Super Smash Bros Melee is running at half speed because of the interpreter. I'l leave it 3 hours instead of one and a half to compensate for that unless you still want it to be tested at an hour and a half.
By the way, don't forget to enable audio dumping before doing any test! That way you can check the audio dump and make sure of when exactly it started to glitch.

(Note that 1h30 of uncompressed Dolphin audio dump is about 1.5GB of data though, make sure you have some space left on your hard drive).
Oh, Ok! Sure thing!
In which games was this issue reported?

Someone mentioned 3.0 but I've never noticed this with 3.0 btw.

Are we supposed to make tests with very latest builds?
Test with latest builds, yes. People have reported this happening with a lot of games, on both GC and Wii.
(07-08-2013, 07:02 AM)delroth Wrote: [ -> ]
  • Code a homebrew generating a sine wave and capture the waveform at the 1h30 mark so we have a better idea of the nature of the "glitching"
Or you could loop a sine wave and replace a game's BGM with it.

Edit: And I've experienced this issue with Skyward Sword with a 3.5-13xx build
Has anyone tried with no audio output?
(07-08-2013, 08:04 AM)moosehunter Wrote: [ -> ]
(07-08-2013, 07:02 AM)delroth Wrote: [ -> ]
  • Code a homebrew generating a sine wave and capture the waveform at the 1h30 mark so we have a better idea of the nature of the "glitching"
Or you could loop a sine wave and replace a game's BGM with it.

Edit: And I've experienced this issue with Skyward Sword with a 3.5-13xx build
Skyward Sword is not a Zelda HLE game (yeah... "Zelda" HLE...).
Pages: 1 2 3 4 5 6 7