Since probably all games desync with the best sound plugin (Eternal SPU), and all the rest that CAN sync sound glitchy, there is a dreadful workaround to get the best audio quality, sacrificing insane amounts of time.
1. Capture the video itself.
2. Capture audio with glitchy plugin.
3. Start capturing audio with Eternal SPU and figure out at what point the game desyncs.
4. Watch the movie again without capturing - with regular plugin, save a state just before the desync frame.
5. Start capturing with Eternal SPU - from the savestate made in the step above - till the next desync.
6. Get to the new desync place with normal plugin, make next savestate, and capture from it with Eternal SPU.
7. Repeat until you get all the movie captured, then stitch the segments and move their audio to the final encode.
No one knows HOW OFTEN it would desync per TAS, depends on the game. For now, only Aktan uses the above madness and gets the best sound. We must work out what can be automated in this workflow, since it's TONS of routine no one is going to reward you for.
- Fix the very plugin not to break everything.
- Automate getting the desync frames.
- Using 2 emulator instances - 1 with regular SPU for saving, another with Eternal SPU for loading and capturing.
Can savestates be saved to files and then loaded on fly as PCSX gets to appropriate frames? For exampe, we make a LUA script that accepts frame numbers, saves states on them, and loads them when necessary during capturing? Would it lag if we load a state once in a while during kkapture? I mean, if we at first run the instance with Eternal SPU to get the desync points, and only then CAPTURE using all the savestates we made.
Did anyone understand what I mean? :D
EDIT: Dammit seems to have used some automation lua already:
#2621: Dammit's PSX Bushido Blade 2 "Slash Mode" in 04:20.23
But the hosting site doesn't exist anymore.