Songs from games newer than 25 lag on first keysound #2
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As the title describes, with the current configuration music from 25 and newer lags slightly on the first keysound, causing the keysounds to be behind the track itself.
This is likely unrelated to the tools. Probably has to do with 25 and onward using .s3p wma containers for songs instead of the proprietary lossless .2dx wav containers, combined with the fact that the current configuration is making use of proprietary dsdmo.dll in its wineprefix.
Two venues to test this:
could also be gstreamer jank?? idk lol, will test tmo im tired
Supplying & registering the wineprefix with dsdmo from wine-9.16 also lets the game boot without disable-fx patches, but exhibits the same problems so its likely to do with the way gstreamer is handling s3p containers in Wine.
Need to test using 30 with the disable-fx patches applied and see if the same behaviour is exhibited. If behaviour is the same, it's an audio container processing issue. If its different, than the problems lie within dsdmo and all games may require disable-fx patches.
Still need to test:
This issue is probably better suited for the getting-started repo, or the automation scripts but those werent ready at the time i discovered this
Unpacking the .s3p's .wma files and converting them to 573's former audio standard (256kbps MS-ADPCM .wav, which is not lossless at all, sorry for assuming all wav is lossless lol, its uncompressed) and repacking them back into .2dx fixes these issues. Only tested with one song but I think it's safe to assume this works across the board.
Surely a method, but it feels pretty invasive (and insanely tedious without a script). Need to find a way to handle this nicely, but for now the following should work for individual songs:
.\s3p_extract song_id.s3p
(Use mon's tools for this)cd song_id.s3p.out
for i in *.wma; do ffmpeg -i "$i" -acodec adpcm_ms -b:a 256k "${i%.*}.wav"; done
(linux/macos)FOR /F "tokens=*" %G IN ('dir /b *.wma') DO ffmpeg -i "%G" -acodec adpcm_ms -b:a 256k "%~nG.wav"
(windows)rm -R *.wma
.\2dxbuild song_id.2dx
Currently needs to be done on Windows, s3p_extract releases only provide .exe binaries. Might try recompiling it at some point
Only venues left to test: