Dolphin, the GameCube and Wii emulator - Forums

Full Version: What about sound, the very soul of a game?
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
I think Mythrill meant well with his intentions, but his wording of the matter has caused some... problems. Tongue

I've noticed significant advancements to the LLE plugin when I compare it from earlier this year to now. Whomever has been coding it is doing a great job so far and I have no doubt that it'll be more widely used in the future.
yeah, actually, constant workactually on it was only started a few weeks ago...considering that there's been a huge progress.
I found this interesting post from John Peterson while googling about this very problem;

Quote:The LLE plugin is an effort to make everthing else in the manual to work. Meaning the entire DSP processor and its memory management.

The HLE plugin is essentially UCode_AX.cpp that reads and writes the parameter blocks and plays the right sounds.

Currently there is no HLE emulation at all for non-AX audio. However, that seems like something that would not be impossible to fix. If one can find the memory location where the parameter blocks are stored one should be able to figure out which ones that are which. For example AudioAddr looping_addr, end_addr, cur_addr, SampleRateConverter ratio and a few others that seems most important. And update UCode_Zelda.cpp to handle all that.

There are also still a few problems with AX music that seems to prevent mainly streaming AX music to work correctly. For example the SSBM music stops after a second with the current SVN code, but it works miraculously if you turn on looping for the music streams (ie for the parameter block that currently control the music stream). Then the CPU (or DSP, I'm not sure which one, something outside the audio plugin) begins to increase the endAddr and loopAddr with the exact right timing so that the music works flawlessly it seems. The cause of the problem may be as simple as that the game use some settings in ADPCMLoopInfo instead of AudioAddr looping to signal that the ucode should treat the stream as a looping stream, or it may be a more complicated problem, I'm not sure yet, I have not managed to fix it. The music in Paper Mario also doesn't work, the music stream's cur_addr and end_addr seems to jump up and down, perhaps incorrectly, and there is no music. Baten Kaitos - Eternal Wings (and probably Origins to) also has broken streaming music, the problem there is that SampleRateConverter ratio is zero, and that means that the ucode doesn't know in what steps to update cur_addr so the music never plays. There must be another parameter that has replaced the function of SampleRateConverter ratio in that case (if there's not an error somewhere that make it zero, perhaps it should have a value, I don't know). In any case I have not managed to fix that either. But all these problems should be relatively easy to fix. However, the non-AX ucode is completely unknown so far as I understand it and it could be tougher to get that to work.

Even though the post is from 2008 i feel it is a valid point to make, does anyone know if this could be part of the problem?

I'm trying to understand the problem and learn more about it so that maybe i can help Smile I urge others with computer skills to do the same, instead of just whining :p

source; here
Anyone curious on development should read the commit logs:
http://code.google.com/p/dolphin-emu/source/list

I'm not a programmer but in time you'll understand what's going on. Also Skid commented the next step now is optimizing of LLE as all the JITs were just added. As for speedup I noticed it in Z:TP for each JIT commit untill near the end, apparently there was something done that slowed down somewhat again. Also the FIFO is worked on now and is slower. You really just gotta wait for the end result.
@Prefix

Perfect audio emulation on HLE is impossible, simple as that. They've pretty much done as much as they can with it at this point. If we don't move to an LLE solution we can kiss accuracy goodbye.
Thanks Smile Thats what i thought.

I'll check that link out.
To the op: For Tales of Symphonia with LLE plugin you need to have the right files or the sound will be wrong. You should rip your own files from the wii.
The correct dsp_coef.bin is a 4KByte file while the correct dsp_rom.bin is an 8 kbyte file. See the video here:
http://www.youtube.com/watch?v=_STzk7LPpNY
Just checked on these two files myself and the filesize was wrong, so i got some real ones from my wii, matching filesizes as mentioned above, this seemed to correct some sound issues (crackling beeping psycho sounds) on level 3. Dunno if it was just a coincidence but could this affect more games?

Altso does it just affect the LLE plugin or HLE as well?
Just LLE. HLE emulates at a high level...thus the name.
Well, everyone. I guess we know the situation Dolphin coders are into: they can't get the LLE plugin working right because it is too complex.

I can't guarantee you anything, but I can try to find a few coders to help this project out. I know (though I'm not really a friend of them) experts in the sound area that might be willing to give you a hand.

So, what about it? Would you accept the extra help?
Pages: 1 2 3 4 5 6 7