Maybe there is a misunderstanding about the word "cache", I do not mean any emulation related cache but system RAM or filesystem cache. The audio issues in DKCR and others seem to get much worse when there is a lot of HDD activity caused by other programs on the PC or by bad quality backup media on the real Wii as you can read on the DKCR thread.
If the same problem also happens on real Wii hardware, the bug can clearly be located and fixed because it is no emulation bug and has external causes like file system speed.
And if that was the case, simple caching of the audio files to be readily available for the emulator to access could help because streaming audio from RAM instead of HDD is much faster.
Sound loops can be caused by insufficient caching since if the cache is running out data and the HDD is to slow to provide the rest of the stream, the sound plays from the beginning. In Zelda SS sound loops are very rare and only happen if there is a lot of other HDD activity in the background. Then the sound loops after some seconds of play until you enter an area with different sound. I'd guess it's caused by a buffer underrun, which is also the cause for the Xenoblade errors.
So the audio buffer underrun problems in Xenoblade, DKCR and Zelda SS seem to be very related and might be addressed in a comparable way. If the Xenoblade buffer underrun can be fixed that easily by the Xenoblade HLE patch, why not fixing the other buffer underruns too by changing audio parameters cache size and looping behavior per game by introducing some adjustable parameters to the HLE engine.
This way a fix for one game would not cause any trouble in other games and all games could work simultaneously without requiring a special dolphin build each. And this solution might be much easier than rewriting the complete HLE Engine. Using LLE is not a solution because it is too slow for 1080p gaming on most systems.
If the same problem also happens on real Wii hardware, the bug can clearly be located and fixed because it is no emulation bug and has external causes like file system speed.
And if that was the case, simple caching of the audio files to be readily available for the emulator to access could help because streaming audio from RAM instead of HDD is much faster.
Sound loops can be caused by insufficient caching since if the cache is running out data and the HDD is to slow to provide the rest of the stream, the sound plays from the beginning. In Zelda SS sound loops are very rare and only happen if there is a lot of other HDD activity in the background. Then the sound loops after some seconds of play until you enter an area with different sound. I'd guess it's caused by a buffer underrun, which is also the cause for the Xenoblade errors.
So the audio buffer underrun problems in Xenoblade, DKCR and Zelda SS seem to be very related and might be addressed in a comparable way. If the Xenoblade buffer underrun can be fixed that easily by the Xenoblade HLE patch, why not fixing the other buffer underruns too by changing audio parameters cache size and looping behavior per game by introducing some adjustable parameters to the HLE engine.
This way a fix for one game would not cause any trouble in other games and all games could work simultaneously without requiring a special dolphin build each. And this solution might be much easier than rewriting the complete HLE Engine. Using LLE is not a solution because it is too slow for 1080p gaming on most systems.