bmalicoat 18 hours ago

Hey! This is mine, thanks!

I'm building Retro Song Bird, a speaker that plays the soundtracks from your classic Game Boy and Game Boy Color games. There were a ton of unique technical challenges to building the prototype in a way that could play instantly, have cool features, and not attract lawsuits from IP holders! I've discovered a ton about the artistry of these early game music composers and the technical limitations imposed on them. I've also discovered a ton of hidden bangers as I collected and tested 150+ carts. I'm most excited to see how people make music using the stems of classic tracks or perform DJ sets with two beat-synced carts. Happy to answer any questions, thanks!

  • Luc 17 hours ago

    Interesting project!

    How did you automate finding the music player code (and initializing it for different tracks) for +1900 ROMs?

    • bmalicoat 16 hours ago

      It's a combination of a few things: existing GBS files, mapping new obscure carts, re-mapping music from revision to revision (usually they fix bugs but don't change music so it's the same overall shape, and lastly I have a crowdsourcing tool that works in Chrome if you plug in your Retro Song Bird. It allows you to play the ROM in a monitored emulator looking for register writes that look like music. Basically it's a multi-pronged approach with tons of little tools and heuristics!

      I also go through and measure the music duration since some tracks are made to loop indefinitely and I measure the BPM of the tracks so you can sync two Retro Song Birds and change the tempo over MIDI and beat match them. Basically like a DJ set with carts instead of vinyl.

  • 999900000999 17 hours ago

    Is GBA possible ? I was playing Tiny Toons Wacky Stackers yesterday and the soundtrack has no right to be that good.

    • bmalicoat 16 hours ago

      GBA is a lot harder! On GB/GBC the music is just code, so if you can find it, you can execute it. This also means you just need to store a map of where it is (e.g. pointers) and not any intellectual property. On GBA and SNES, devs had access to more modern codecs, so they might just store music as a wav or mp3-like file (or a proprietary one), which makes the job a lot tougher. The hardware and software I built is setup so that I can rapidly move on to NES next. For me, NES is the sweet spot of quality of music and ease of extraction.

  • RALaBarge 16 hours ago

    I would buy this immediately upon release.

    • bmalicoat 16 hours ago

      Thanks! I'm launching a Kickstarter 11/15. I'm excited to turn it into a real product and not just a 3D-printed prototype.

  • ceroxylon 15 hours ago

    Brilliant project, thank you for putting so much thought into it! The DAW / webcam features take this over the top for me, very well done.

  • devindotcom 15 hours ago

    That's fun! I would love this for NES. I believe there are NSF rippers and players that are quite compact but that's the limit of my knowledge.

    • bmalicoat 13 hours ago

      I'm going to NES next! The hardware and software architecture I have (including a split PCB design) allows me to move to NES pretty quick. I have a proof of concept working. Personally I have more nostalgia for NES music (Mega Man 2, Punch Out, Metroid!) than for GB.

      • bdickason 12 hours ago

        mega man 2 soundtrack is goated. Still listen to it regularly!

xg15 2 hours ago

> Retro Song Bird has a map of 1900+ carts and knows which sections of the ROM to read.

Huh. Was assuming that this was just Tonies for Game Boy enthusiasts, but seems it actually reads the songs from the cartridge. Not bad!

bdickason 12 hours ago

Heyy - first time seeing a friend's project on the front page! Have been following along since the beginning. I love chiptune and nes/gameboy soundtracks... Secretly hoping he supports NES next :X

  • bmalicoat 12 hours ago

    Can't wait to start on NES! So many classics from my childhood.