Gemini Librarian Project, Part 1

Building a better UI for organizing video game soundtrack files.

As a geek who grew up in the 80s and 90s, I played a lot of video games. Probably too much! But it became a part of who I am today.

When I’m focusing on work, like most people I enjoy having some music playing in the background. It helps me establish a positive energy and greatly enhances my productivity having some good tunes to jam to. While I listen to plenty of traditional music genres, mainly classic and alternative rock and occasionally some hip-hop of the mid 90s, I frequently find myself looking for something to just have on the background to just experience the miracle of composed music.

Example of one of my favorite themes from the 8-bit console generation, composed by Yasuaki Fujita for release in 1990.

Before the turn of the century, when recorded music such as MP3s became the norm for video game soundtracks, sequenced music was how they managed to add so much variety and flavor to classic games. The cartridge media of the 1980s had music by directly interfacing with a sound chip. The composers would instruct your game console specifically what it wanted the square-wave channel to sound like and for how long, and similar instructions to triangle-wave channels and noise channels and so on.

Working in such a restrictive palette really forced the artists of the time to understand the platform and what it was capable of. While more contemporary games do have some amazing orchestral music, it just isn’t the same as what was made in my childhood and adolescence. There was a sense of intimacy between the composer and the hardware that came across to the player in the finished product.

Flash forward to much later and, like many other things, it turns out I’m not alone! There are entire communities dedicated to recreating these soundtracks accurately and developing tools to archive them. Rather than storing them as waveforms with either lossy compression or extraordinary file sizes, several standards have been created to more accurately emulate the sound chips of old video game hardware.

Unfortunately in the earlier days of the internet, this effort wasn’t quite as organized as in a more modern standard. There are multiple file formats, some specific to different platforms, that aren’t compatible with one another. Getting the files to play in a media player such as WinAmp or Foobar2000 isn’t particularly difficult. There are plugins available that handle decoding the input and recreating it on your speakers. Metadata is also a bit scattered, there are multiple tags attached to these files depending on the platform of origin.

Foobar2000 displaying a library of Super Nintendo soundtrack files stored in RSN archives of the SPC format.

These more generalized media players get the job done, but they’re a bit unfocused for my purposes. They “get the job done” but I’ve never been able to quickly and efficiently organize my library the way I want it. Getting the software just the way you want it requires too much investment from the listener. When I want to hear the soundtrack to Super Turrican, I just want to find it and hit play! While this is possible to do with extensible software like Foobar2000, you have to learn how to organize the layout panels and configure them precisely to your liking.

Initial layout prototype for my software: Gemini Librarian

My vision is to allow a user to point the Librarian to the directory containing their soundtracks. Using the various metadata tags embedded in them, it will sort them by console of origin and game title. Such features are possible in Foobar2000 by creating multiple playlists, but ultimately require too much work from my perspective.

Some opportunity that I will expand into once I have the base functionality in order are more generalized audio player features. The listener should be able to quickly create playlists such as “High Energy Workout” or “Relaxing Wind Down” or “Music for Studying.” A simple 5-star rating system will let them easily shuffle through a giant library and tag songs they’re encountering for the first time that they want to revisit when they like them.

I’m excited to work on this project for not only my own use, but also the use of others I’ve talked to who have similar frustrations with existing solutions.

Masterson, the librarian at Oxford in Gemini Sector, the setting for 1993 classic Wing Commander Privateer, published by Origin System. The namesake for my project.

Development of this software can be followed and reviewed on my Github account at