Hacker News
Retro Song Bird: Plug in any Game Boy cartridge to hear the soundtrack(retrosongbird.com)
53 points by hentrep 14 hours ago | 16 comments
[–] bmalicoat 7 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!

[–] ceroxylon 4 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.
[–] bmalicoat 4 hours ago
Thanks! I can't wait to get the dual-song bird, beat syncing into the hands of real musicians. I have a blast just goofing around with my fake DAW: https://www.youtube.com/shorts/AgTbedzKK-E and my KO Sidekicks: https://www.youtube.com/shorts/IJ6GVudkRds

I haven't had the courage to join a meeting at my day job on the GB Camera yet haha

[–] Luc 6 hours ago
Interesting project!

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

[–] bmalicoat 5 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.

[–] devindotcom 4 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 2 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 1 hour ago
mega man 2 soundtrack is goated. Still listen to it regularly!
[–] bmalicoat 1 hour ago
A fellow man of taste I see :) Can't wait to listen to Punch-Out, Metroid, and Bionic Commando.
[–] RALaBarge 5 hours ago
I would buy this immediately upon release.
[–] bmalicoat 5 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.
[–] 999900000999 5 hours ago
Is GBA possible ? I was playing Tiny Toons Wacky Stackers yesterday and the soundtrack has no right to be that good.
[–] bmalicoat 4 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.
[–] bdickason 1 hour 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 1 hour ago
Can't wait to start on NES! So many classics from my childhood.