vgmtrans / vgmtrans

VGMTrans - a tool to convert proprietary, sequenced videogame music to industry-standard formats
839 stars 78 forks source link

Some channels loading the incorrect banks from soundfont #278

Open ffvdgames opened 2 years ago

ffvdgames commented 2 years ago

This issue seems to be prevalent to just SaGa Frontier, but it could affect other games as well. SaGa Frontier's music uses different banks for some of its sounds, e.g. the harp in Battle 4. However, when exporting the actual sequence, it loads this harp sound as some default beep noise built in to the soundfont (B_SOUND/INSTR000.ALL in the disc image). The reason for this is the track by default searches for the sample in bank 0 when it's actually in bank 1 num 0. Songs with a snare or a hi-hat have a similar issue since their sample is located in bank 127 num 127. I was only able to figure out what exactly the issue was by loading the exported MIDI and SF2 into LMMS and manually assigning the correct banks. For Asellus' Final Battle (B_SOUND/ASELB.SND in the disc image), Tracks 6 and 9 use bank 1 num 0, and Tracks 8 and 12 use bank 127 num 127. I don't know if this is a universal rule for SaGa Frontier or not since I've only gotten around to "fixing" Asellus' Final Battle.

Windows 10, version interim-20170225 (9b43626, master).

loveemu commented 2 years ago

The bank number mismatch may have been improved by a recent change (#298). Please let us know if the problem has been resolved.

See also #137 for issues specific to SaGa Frontier.

ffvdgames commented 2 years ago

Just saw this, apologies for the delayed response. Upgraded to interim-20170225 (8fa6f4a, master) to test this out, primarily with the Japanese retail release of SaGa Frontier (SLPS 00898). Still on Windows 10.

The one track in B_SOUND I had an issue with playing within vgmtrans is Battle 4 (B_SOUND/BAT2.SND on the disc image) using the same .ALL file that I used while testing Asellus' Final Battle. It appears that Track 5 has a bank issue within vgmtrans and assigns itself to a trumpet noise instead of a cymbal. Outside of vgmtrans, the issue doesn't exist for some reason. Every other track plays perfectly within vgmtrans. When I go to play the exported MIDI and SF2 files in another player, however, the bank assignment issue appears again. One more issue I noticed that's incredibly minor is some songs have a cymbal noise that's supposed to gradually get louder and then fade out. I believe it has some panning automation as well. The issue is most noticeable with Blue's Final Battle (B_SOUND/BLUELB.SND).

In the version I used previously, I was able to play all of the AKAO sequences found in IMF.IMG files and in the game's executable within vgmtrans. This is no longer entirely possible. All of the IMF.IMG files that contain more than one AKAO sequence now no longer play within vgmtrans. All of the files that only have one sequence play perfectly without any issues. The sound bank issue appears again when I export these sequences, like with the B_SOUND sequences. I should note that I haven't tested the bank assignment issue post-export with the DLS soundfont as I don't have any tools to test those files.

Also, no worries about not having the time to find all of these little problems. The fact that this works at all with this game with this level of compatibility is more than enough for me. Seriously, thank you for your hard work on this incredible tool.