Creating Music and Sound for SNES Games: A Primer for Using the SNES GSS
There are many elements that make 16-bit video games so memorable. This console generation featured gorgeous new graphics styles that are still replicated today, so much so that 16-bit pixel art is synonymous with video games. The stories from these games, especially the era’s beloved RPGs, are still touching the hearts and minds of new fans, almost 30 years later.
For many, though, the most engaging thing about these games is the music.
Its Mitch again, here to give you a brief overview on using the SNES GSS music tracker. It is important to note that this guide is aimed at making music on original Super Nintendo hardware.
The Super Nintendo’s SPC700 sound-chip was an innovative initiative back in 1991, given that it is a purely sample-based sound-chip! It involves uploading self-picked 16-bit WAV files and using them as instruments in the music. I'll show you how to do this after we go over the interface of SNES GSS. Go ahead and download the links below and let's get started.
- You can get the SNES Game Sound System v1.42 (SNES GSS) from this link.
- Audacity is a free audio workstation and is perfect for downsampling, editing, and exporting 16-bit files for SNES music.
Make sure you have the most updated version of GSS on Shiru’s website, as improvements are being made fairly consistently. I was using an older version and was causing crazy static sound when we tested on real hardware. It took a while to figure out the problem and turns out, it was just the outdated GSS software.
Diving in with the SNES GSS
The interface is separated into several tabs. Each tab will allow you to edit and organize your songs and instruments.
Song Tab [F1]
This is where you will actually compose songs and tracks. The sequences of letters, numbers, and other characters represent different information about each musical element, as described above.
Here’s the chromatic scale on the keyboard:
Although the interface looks a little bland, GSS is a very capable tracker, especially for SNES.
There are some other options for making SNES music, such as SNESmod using openMPT tracker, but GSS is my personal choice.
There's no scroll following the music. which is only mildly inconvenient, especially if you're used to using other trackers. Use the ‘play at cursor’ button, which will make it easier to navigate through the theme. You can also use a mouse-scroll to follow along manually.
Some helpful tips and quick keys:
- When a note is selected
- CTRL+F3: Octave down
- CTRL+F4: Octave up
- 1: Rest -put rests at the end of every SFX you create in the song list
- Spacebar at the end of a theme to create song loop
- You can put any sample you like on any channel
- Leave a remaining 600-1200 bytes of free memory. Samples stop working or go silent if there’s no free memory to play the music.
- Choose your samples carefully and sparingly. Short looped samples go a long way when working with GSS. You really want to load in as many samples as you can, to give the music and SFX more diversity, so be mindful of that.
- You can import notes from MIDI. This works somewhat accurately with the melodies but never seems to get the rhythm right. Mess around with this feature and you might find that it can save you some time if you prefer making music in a DAW (digital audio workstation). More on that below!
- The compiler moves music channels to the left, so leave channels 7 and 8 open for SFX. 2 channels ensure 2 sounds can overlap whilst the music continues to play.
When your GSS file is complete, export and save, and now you’re ready to test on real hardware!
Song List Tab [F2]
This shows the songs and SFX you have composed. Click the Sound effect box if you’re designing an SFX (which will designate the track in the song list with an asterisk). If you forget to click the SFX box and export, GSS will think its a song, and it will not work as intended.
Notice in the list that entries 1-8 are themes, and 9-29 are all SFX. The number in parentheses represents how many bytes the song or SFX is taking up.
Here’s an example of an SFX:
The 3 lines on the last row (12) represent rests. Make sure to put rests at the end of each SFX you create. You’ll be designing SFX in a more midi-based fashion using the uploaded instruments.
Note: The “SP” column represents the speed/tempo of the track.
Instruments Tab [F3]
This tab allows you to edit your instruments even further, with envelope, EQ, and loop options. Hovering your mouse over these settings will give you more information on their effect.
A useful tool to save more space is the downsampling option in the center. For certain samples, I like to downsample to twice the amount. This basically just doubles the speed of the sample, so that it uses half as much space.
Info Tab [F4]
What I really love about the GSS tracker is the Info Tab. It displays the amount of memory the SPC700 can handle. As you can see, I used as much space as I possibly could, but also left a little bit to ensure the music actually plays as it's supposed to. GSS doesn’t like higher quality samples, so make sure you downsample in the 16 to 32-bit range. I've found that high fidelity SFX causes GSS and ROMs to crash, or to not play certain instruments. Also, take note that most of the audio space will be in the samples/instruments (the yellow bar) you import. The music data barely took up any space, even with 8 themes, so the length of a theme isn't really an issue - the number of different samples/instruments you have is more important.
Editing Samples in Audacity
A digital audio workstation (DAW) like Audacity can help you edit samples in various ways that GSS cannot. For example, you can convert it to 16 bit PCM, convert to MONO, shorten, add effects, changing the volume, etc. It is a versatile and easy-to-use tool.
Drag and drop the sample of your choice into Audacity. HIt Shift+M to bring up sample menu, then click ‘split stereo to mono.’ On the bottom left is the project rate expressed in Hz. Select the option 16000 Hz (16-bit). Make your sample is short and don’t leave too long of a tail or unnecessary data, as this will take up useless space. Export sample as Wav signed 16-bit PCM.
All of the imported samples should be C-note so that they are congruent with the correct notation on GSS. If you’re using preloaded instruments from example songs, you’ll need to set the notes to B (+21 cents.) The reason for this is when the sound is implemented onto real hardware, it will sound +70 cents sharper. Just make sure nothing sounds out of tune when creating the music.
The Final Note
Although not comprehensive, this guide is enough to get you started making authentic 16-bit music for the Super Nintendo. The best thing to do now is to try making some songs yourself! There are even some sample songs in the GSS download, so you can experiment with and get a feel for the various setting and functions.
16-bit chiptune music has a special place in the hearts of many gamers. Now you can help that legacy live on by adding to it with your own genuine SNES music.
Question, comment, or correction? Please feel free to email us at: firstname.lastname@example.org