Does one exist? I think I remember seeing some chatter about one a while back but can't find anything further. It would be pretty cool.
the derpcarts come with one pre-loaded, i think
sort of
maybe
OH OF COURSE ON THE MAGICAL DERP CARTS THAT I CANT AFFORD
i was thinking something more for PC or java or something, but a straight up gameboy player would be pretty cool too though i suppose, if they could play songs in a row or something
Last edited by BR1GHT PR1MATE (Feb 20, 2013 6:15 am)
this would likely be impossible unless johan released the playback routines used in LSDJ, as long as a decent standalone emulation of the game boy CPU and sound channels. otherwise you probably wouldn't want to bother with players that are cheap and inaccurate substitutes of the real thing.
adequate playback software would have to take into account the playback discrepancies between different versions, as well as dealing with unreachable chains, and figuring out how to behave when a block of chains has finished playing (which itself is problematic because the length of a song's chains may vary from channel to channel). when taking these and other edge cases into account, i'd rather johan not bear the burden of having to develop separate player software.
having said that, having more robust tools to extract note data from .lsdsngs would be very cool. converting it to MIDI or XM data would be neat, for remixing or for driving visuals. i have an idea that involves using an .lsdsng as an input into a Processing sketch, where particular notes or triggered instruments would fire off specific animations. if someone could make that happen, then that would be SUCH a useful tool.
Last edited by bryface (Feb 20, 2013 6:32 am)
OH OF COURSE ON THE MAGICAL DERP CARTS THAT I CANT AFFORD
i was thinking something more for PC or java or something, but a straight up gameboy player would be pretty cool too though i suppose, if they could play songs in a row or something
I mean, there's a pretty sweet .lsdsng player for gameboy called LSDJ
BR1GHT PR1MATE wrote:OH OF COURSE ON THE MAGICAL DERP CARTS THAT I CANT AFFORD
i was thinking something more for PC or java or something, but a straight up gameboy player would be pretty cool too though i suppose, if they could play songs in a row or something
I mean, there's a pretty sweet .lsdsng player for gameboy called LSDJ
Not that this is a productive post at all, but I lol'ed.
ah yes, so a .nsf player or .mod player is likewise irrelevant because you could just play them from a tracker, yet there are quite a few of both.
how close is the emulation for the .nsf player? i remember it being a bit janky, but its still cool to have.
Anyway, im actually asking because i have a developer friend that is doing a project gameboy emulator focusing specifically on sound emulation for fun, so im trying to think of novel practical applications so it doesn't just languish on his HD
I just want a damn .lsdsng editor for PC. And no, not running LSDJ in an emulator. I'd love for a PC version of LSDJ that was similar to Famitracker, had the same interface and features of LSDJ but allowed full use of the entire keyboard and mouse, and exporting tracks as .GB files or .GBS files, importing / exporting midi, and the ability to still use the .lsdsng's made with this program on an actual flash cart with LSDJ. This is never going to happen, but it would be pretty nice.
ah yes, so a .nsf player or .mod player is likewise irrelevant because you could just play them from a tracker, yet there are quite a few of both.
from what i understand, .NSFs and MODs are each special cases.
.NSFs are more readily playable because the format is basically a wrapper for the original audio data, which equates to low-level hardware instructions. if you have a emulator that understands these instructions faithfully, then it's irrelevant whether you used Famitracker or some closed-source dev kit tool to write the music, as long as you were only concerned about the result being a compiled NSF.
.MODs are "relatively" easily to decode and playback because the .MOD format is basically a bunch of info about the module itself + the note data + raw sample data. that data tends to be hardware-agnostic, so you wouldn't need to faithfully emulate the original hardware; all you need is a program that can decode and play the samples in the order that the note data dictates. (how accurate the resulting playback is to the original author's hardware is another story though). the MOD file formats have also been documented well enough that a programmer could accurately interpret the data.
.lsdsngs, by contrast, consist of data that does not directly correlate to hardware playback instructions. for them to be more readily playable, you'd need a tool that could convert an .lsdsng into a .GBS file (which is the game boy equivalent of NSF files). but all i could find through some quick googling is johan saying that to do so is "hard".
can anybody with more GB technical expertise (nitro2k01 maybe) elaborate on what exactly makes this process hard? what's the significance of the "bank switching" that johan described in the thread above?
There was/is a lsdsng to mml converter somewhere on the lsdj site (i think), but from what i understand it doesn't work well / has almost no documentation.
Having a quick look at the memory map you'd really need to compress the song data into a smaller and more optimized format anyway. (so it'd fit into a bank at least, it's freaking huge at the moment) Most editors have an internal format (all uncompressed so it's easier to manage the data), and a compressed export format. (when you know exactly what needs to be saved out) You're missing the other end of the chain, which isn't trivial, and then you'd have to rewrite a lot of the player driver to handle this format. Plus you'd probably have to optimize the player so you can run it within other programs, if that's what you're aiming for.
If you're looking for something to develop with why not use Carillon Tracker or something, that comes with all the stuff you need.
Writing an XM/other format converter would be a lot less hassle, for pure song structure/notes etc. But if you're looking to convert the whole thing (with each note being affected by transposes in the instruments used and so on) then THAT is a ton of work. It is possible though, there is a YM to XM converter that pretty much does this already. (the songs run at massively high bpm to simulate each frame being a beat)
Like Saskrotch and 4mat said, your best bet is either handwriting and putting in tons of work for one song in MML or just going for Carillon Tracker. I've taken a look at the code for the LSDJ-MML converter, and I can barely make heads or tails of it. I know that the Handheld Heroes DVD + GB ROM release featured some sort of LSDJSNG player, I think it is similar to what the Derpcart had but it had a new graphical menu in place of the normal LSDJ one (with some bells and whistles). You can get a look at it here https://www.youtube.com/watch?v=9IvyJO3BXbs I don't think this is what you are going for, but it is something to use for reference in terms of basic function, I guess.
If I were in your shoes I would sit down and punch it into Carillon for the dude. He can also compare the sound of his own emulator to the "stock sound" of games such as Project S-11, which was mentioned recently in the "best Gameboy Sountracks" thread. https://www.youtube.com/watch?v=W7BkkmPhBm4 this sort of stuff in my listening experience goes much farther into the core of Gameboy sound than any other commercial releases. The use of bandpass and overtones in the WAV channel especially make my brain work to understand how it all sounds how it does.
Get a copy from Saskrotch's awesome post and link to his blog here: http://chipmusic.org/forums/post/152141/#p152141
That is just how I'd go about doing this, but there have been some amazing suggestions here! Can't wait to see what some other people can come up with
Having a quick look at the memory map you'd really need to compress the song data into a smaller and more optimized format anyway. (so it'd fit into a bank at least, it's freaking huge at the moment)
Well, the size of the currently open song is 32 kB, not 128 kB. The upper 96 kB are the compressed versions of the songs. That's still two banks, but compared to the full LSDj ROM it's "sort of acceptable". If you were to modify the LSDj ROM which is what I did (perhaps against my better judgement) for the Handheld Heroes player. The goal there however was to redirect all SRAM reads to the ROM area in question, to avoid overwriting SRAM, and avoiding leaking the song files, and of course having the ROM work on a cartridge without SRAM.
The derp cart might be coming with the LSDj player version which is just the normal version with all buttons except start disabled. So nothing really fancy going, but also no help in making a GBS.
One of the things I may try during this good year is to make an LSDj ROM player routine from scratch which has a more compact data format, or maybe even rewrite LSDj fully. The latter would be a pretty big effort, for little gain, though, and I'm not sure I will attempt it. And yeah, some of the other things mentioned in this thread are also in the pipeline.
I just want a damn .lsdsng editor for PC. And no, not running LSDJ in an emulator. I'd love for a PC version of LSDJ that was similar to Famitracker, had the same interface and features of LSDJ but allowed full use of the entire keyboard and mouse, and exporting tracks as .GB files or .GBS files, importing / exporting midi, and the ability to still use the .lsdsng's made with this program on an actual flash cart with LSDJ. This is never going to happen, but it would be pretty nice.
You just described my dream... I track LSDJ in an emulator a lot and then dump onto carts for recording/live usage, and I'd love a "PC-enabled" LSDJ.
Most editors have an internal format
I see what you did there.