.GBS Tagging? by Bs at 9:52 AM EDT on August 25, 2011
I've got a few .GBS files from old Game Boy games, which if I import them in Foobar will happily play all the music featured in the game, and it separates the one .GBS file into all the different tracks featured. As I understand it, it's basically a data stream that will play the music infinitely with no set end point.
The problem is, that as far as I can tell there's no way to tag the individual tracks with their own track names, track number, etc. This means they all have the same info taken from the file itself and there's no way to specifically pick the track you want to hear without going through them until you find it.
Is there anyway to resolve this, or to reformat the data somehow that would allow this to be done? I considered converting each track to a .WAV file but obviously this would take up a lot of space and would be quite a bit of hassle if there's any other way. Any ideas?
You can't tag a GBS file, but you can use various versions of NEZPlug or perhaps Game Emu Player for Foobar (and possibly other implementations of Game Music Emu) to read custom-made m3u files which "overlay" tags (and times) onto the GBS file.
(I can't give you a full overview of using these plugins/applications this way, because I've only personally worked with NEZPlug++ or whatever in Winamp)
Some archive files (usually NSF or KSS, some GBS) already come with m3us included - check out Juukou Senki Bullet Battler. As you can see, the m3u gives the various tracks titles and times, and various other information can be included in the m3u (using # to comment it out).
Let's deconstruct a line from that m3u, to show you how it's done:
Juukou Senki Bullet Battler (GBC)(1999)(KCE Kobe)(Konami).gbs::GBS,$01,Iron Arms (Iron Ore Weapon Battle),27,26,5,2 V is V filename.xxx::file format,address of track in file,track name,length of opening of song,length of loop,fade time,number of loops
As you can see in the file, an "-" can be inserted for loop time if a track doesn't loop, or if the whole song counts as a loop (in which case you can just put the time in the "length of opening of song" field). You can tweak these time variables depending on how much effort you actually want to put into it (if you're making an m3u for someone else, you usually won't set something to loop more than twice, for example, which NEZPlug does by default).
You also can give the times in X:XX minutes:seconds format, and leave off the number of loops.
Some people also stick composer information into the track name field (like "Bob Bobson - Theme of Bob").
I've actually been working on dozens of potential m3us for GBS games, but because I'm so lazy and easily distracted, I don't really have anything to show for it. In fact, I only have one m3u proper done:
Goes with "Action Man - Search for Base X (GBC)(2001)(Natsume)(THQ).gbs" Surprisingly good music for a game based on a license nobody cares about (and which wasn't released in the country it was developed). Like the game itself, it does a fairly good job of imitating old B-tier NES games. The music for "Moon Base Alpha" is one of my favorite GBC themes.
Incidentally, you can use the GSF tools "GBS2GSF" and "gsfopt" to turn a GBS files into a set of minigsfs that you can then ask gsfopt to automatically find the time/loop points for, which can help a lot in making an m3u file. But be warned that this isn't always accurate - I got some clearly incorrect times on some Castlevania Legends tracks, for example.
Hmmm, okay, thanks Dais! I hadn't thought of m3u files and I've never made one before, but I'll give it a try over the next few days. I'll next be online on Tuesday afternoon, so I'm having any problems trying to get something to work with it, or if there's anything I can't figure out how to get in there, I'll post again then and let you know. Thanks for your help, and I hope you don't mind checking next week too if there's anything else I have to ask on it. Thanks for the time being though! =)
Another option is to use the "Misc. Tools> GBS Tools> GBS M3U Creator" in VGMToolbox. It'll generate an NEZplug compliant .m3u for all tracks, or one per track. You can then add titles as Dais describes above.
Hmmm, okay, I've not used VGMToolbox before but I'll give that a try later on. I had a look at some other m3u files over the weekend and tried to understand them a bit more, but I didn't get too far with what I actually want.
I'm not bothered about the time and loop details as I'm happy for the tracks to loop forever, and I've got the Foobar settings set up for that, but I don't know how to get the tags that I want.
Basically, I want each track to have...
Track Name Artist Name Album Name Track Number Year
I'm not bothered about anything else, but I just want to have each track in the file have those 5 things. So if I start with a blank Notepad document, or if I used that M3U creator in VGMToolbox, what steps do I need to make to get those 5 things tagged for each track?
Thanks!
.GBS M3Us by Bs at 9:29 AM EDT on September 5, 2011
Anyone? I can get the track names alright, but the other things I can't figure out how to include. Thanks for any help.
That's one of the major limitations of using the M3U method, as opposed to (for example) NSFe. There is no equivalent for GBS, which is why you're stuck with M3U. Basically, as previously mentioned, with the M3U, you can add track times to the GBS. Everything else is just how to you want the track to display in Winamp/Media Player of Choice.
filename::GBS,[0 based songno|$songno],[title],[time(h:m:s)],[loop(h:m:s)][-],[fade(h:m:s)],[loopcount]
It's already been said in this thread, but basically (from left-to-right), that allows you to specify the filename, the format, the song number, the "title" (it can be anything. This is what displays in the playlist of your selected media player), and then various time-related information.
So, if you want to include all the extra information (track name, artist, album name, year, and possibly track number), your M3U data would look like this (this is a made-up example):
Filename.GBS::GBS,8,YEAR - ALBUM - TRACK # - ARTIST - TRACK NAME,00:02:50,,10
I've left the [loop] and [loopcount] spots empty. Although that "title" information is kind of ugly looking in Winamp (and probably most other media players as well), as far as I can figure, that's the only way that the M3U method can contain the data you want. Your only other option is to create a new tagging method altogether (whether it be similar to NSFe, and adding the data to the GBS (thus creating GBSe), or modifying the current M3U method to allow more fields of data entry).
Sorry, but that's just the limitations of the "extended" M3U format used. Considering these (IMO) significant limitations, I'm a little confused by the dislike the NSFe format gets from people, as it allows quite a bit of freedom regarding data entry (you can even rearrange the order the individual tracks are played within the NSF). Apparently, the biggest concern regarding NSFe is the lack of tools available to support it (which is a valid concern). Though, NSFe (partially due to the lack of tools) does make it harder to update the NSF when it's been re-ripped.
Anyway, to do what you want to do, cleanly, can't be done using any of the tagging methods currently available for GBS. You're stuck with M3U unless you want to build your own implementation. Hopefully this post at least helps sort out a method to include that data you want, even if it isn't pretty. Mouser X over and out.
I've noticed that some .gbs files have information like artist and album name embedded in the file itself, along with things like copyright and developer name and so on. Is there anyway of changing these, as some of them only have album name, or have different variations on an artist's name and so on. Or is that not possible to change?