I have tested every possible audio, visual and emulation setting combination possible without any resolution. Tested ISO's only, CD's only (All PAL-UK source, not tested NTSC games), BIOS's (SCPH7502 UK plus the built in BIOS).
If I run EPSXE through VirtualBox with these same games and configurations, I get no issue at all and emulation is perfect. Only PCSX-R is the only running process on my system using 100% of one of my processor core so I can't see any external issue from the OS.
Spec: iMac Mid-2011 27" - 3.4Ghz Core i7, 6gB DDR3, 2gB Radeon 6970M, OSX 10.7.2, SSD/HDD disk drives.
I have attached a movie demonstrating my configuration (speedily) and the sound issue, it is not just on in-game video, it happens constantly, everywhere, even when not in a in-game video. The movie FPS has been purposely reduced on the file to fit the 4mB upload limit. I actually get full FPS with the emulation. The audio you will hear is how I hear it.
Thanks for the wonderful work you are doing on this emulator.
Comments: ** Comment from web user: colinh **
> btw. do you get cracking sound if you enable SPU plugin's thread? High compatibility mode off.
Hah, that totally did it! Turning off high compatibility mode completely eliminates the sound glitches and makes the sound perfectly smooth. With both the OpenAL and SDL plugins, and with both OpenGL and SoftGL plugins, there are no sound glitches whatsoever either in the BIOS startup or in Gran Turismo 2, regardless of what combinations of frame-limiting and frame-skipping I choose, whether or not I use Dynarec, or whether or not I'm running full screen. Even when the emulation clearly has a heavy load (such as with a full set of cars in a GT2 race) and is obviously either lagging badly (e.g. full-screen OpenGL with high detail, interpreted CPU, and frame-skipping off) or dropping frames like mad (e.g. SoftGL with interpreted CPU and frame-skipping on), the sound is utterly smooth and perfectly in sync with the emulation.
Obviously it doesn't hurt that I'm running this on an Intel Core i7, which has two cores each with two hardware threads, so the CPU has plenty of concurrency available.
Given the clearly superior performance of the multithreaded mode, it seems really strange to me that the single-threaded mode is named "High compatibility", is enabled by default, and has a tooltip in the preferences which strongly discourages disabling it: "Should always be enabled. Only disable this option if the emulator doesn't support the SPUupdate/async plugin interface." I can only assume this was for historical reasons which need to be re-evaluated.
It could be that I'm missing some complication, but I suspect that if you changed the default and the description of that option, it would take care of most user complaints about sound glitches.
Haven't yet tried the hack you mentioned in your final comment; I'll get to that next.