Wind Waker BMS->WAV not working by knuxyl at 5:14 AM EDT on October 24, 2025
I have been trying for about a year to get a clean rip of Wind Waker but nothing works correctly. I have a collection of lossless VGM from SNES, Genesis, PS1, Dreamcast, and even some other Gamecube, all looped (except PS1) for 20 minutes. But this game is giving me hell. I am on Gentoo and have tried building everything from source and/or using wine (a windows loader).
I managed to get all the sequences ripped to BMS and only found 2 programs that successfully convert the bms to anything else, but both don't do it right.
I'm a fanatic about getting lossless rips and these differences might be easily overlooked. I haven't seen anyone else talk about this problem. There's missing fade outs on notes, wrong tones, wrong pitch, etc. I don't know all the musical lingo but you should get what I'm saying.
The main VGMTrans won't even load BMS. That fork is the only one that works. I just open the BMS and right click it and save as MIDI.
I have several different smssynths I've tried, probably from different packages but the latest I tried was from gctools. They all had the same problem. The command I use to convert is this smssynth house.bms --audiores-directory=P-GZLE/files/Audiores/ --output-filename=house2.wav
My current knowledge is, that it is not possible to accurately render BMS music. Most just parse it into midi with inaccuracies or some other tools that try to emulate the format but they arent quite there yet in terms of proper accuracy.
A user named Yuuto has the most promising tool in development I think but its still pretty much alpha stage.
Check these threads out for more information about the topic: https://hcs64.com/mboard/forumlong.php?showthread=37639 https://hcs64.com/mboard/forumlong.php?showthread=25562
Currently your best bet might be to try to record the audio from console or emulator sadly. Though interesting that so many topics are still about this format so maybe some skilled individuals like Yuuto might cook some proper way to render these up at some point.
But thats just my current knowledge on the topic. Maybe im out of date or missed something.