I noticed xaudio had disappeared, I have no idea why, I think it's something to do with sdks and directx issues going on the dolphin source code, as I was puzzled it disappeared.
An observation (not sure it's a "problem") is that once you're bouncing on the limiter you've got ~8k samples to play (250ms) so I'm actually surprised that it's been noticed that some sound is a little out. I'm actually tempted to shrink the audio buffer down to 2k samples (~62ms) if the audio frame limiter is enabled (as that's a couple of frames at 30fps)
I guess the problem is that yes, we want the data to buffer but not quite as much as it's giving right now, as the buffer should be there to ride out periods where the system is busy doing a frame or something. However, trying to find all the places that are running a smidge too often for generating the audio needs someone far more familiar with all those places.
I did also wonder if that perhaps the issue is how part of the audio is emulated, as I believe that there is some audio hardware around streaming, where once it's output a number of samples it interrupts the CPU to say I've done this much copying (but it's not clear if it's just disc audio, or is also meant to cover game sound) However, the DMA from main memory to the audio runs on a timer, rather than triggered by need for more data...
I'll have to revisit things this evening, as I maybe mixing up what I found where and with which settings
However hopefully you can at least see the full effect of the resampling being done with that build. From there it might be possible to focus on producing a resampler that does a better job (the trick will be handling the streaming of the data through it)
An observation (not sure it's a "problem") is that once you're bouncing on the limiter you've got ~8k samples to play (250ms) so I'm actually surprised that it's been noticed that some sound is a little out. I'm actually tempted to shrink the audio buffer down to 2k samples (~62ms) if the audio frame limiter is enabled (as that's a couple of frames at 30fps)
I guess the problem is that yes, we want the data to buffer but not quite as much as it's giving right now, as the buffer should be there to ride out periods where the system is busy doing a frame or something. However, trying to find all the places that are running a smidge too often for generating the audio needs someone far more familiar with all those places.
I did also wonder if that perhaps the issue is how part of the audio is emulated, as I believe that there is some audio hardware around streaming, where once it's output a number of samples it interrupts the CPU to say I've done this much copying (but it's not clear if it's just disc audio, or is also meant to cover game sound) However, the DMA from main memory to the audio runs on a timer, rather than triggered by need for more data...
I'll have to revisit things this evening, as I maybe mixing up what I found where and with which settings
However hopefully you can at least see the full effect of the resampling being done with that build. From there it might be possible to focus on producing a resampler that does a better job (the trick will be handling the streaming of the data through it)