top of page
Search

GSC Sound Engine Part 1 - An Overview

  • tritehexagon
  • Nov 22, 2022
  • 3 min read

So you wanna know how the GameBoy sound engine, and more specifically how the GSC engine works? You've come to the right place! In this series of posts, I'll be going over the various aspects of how the GameBoy produces sound and how it can be used to make music. In case you aren't at all familiar with how GameBoy chiptune sounds, here's an example song for you:



You first need to realize that the GameBoy came out in 1989. Despite the Generation 2 games having come out in 2000, the sound engine is exactly the same as the original model GameBoy. And even for its time, the GameBoy hardware wasn't exactly the peak of modernity. This means the sound hardware is OLD SCHOOL. How old school? Well, unlike modern digital music, where you can sample real (and virtual) instruments and combine as many of them as you want to make music, in the early days of consoles the sound was synthesized entirely by the hardware itself using programmable sound generators (PSG). Each console had its own PSG used to produce sound; some used a specific hardware PSG, that is, an actual physical chip for sound, but some, like the GameBoy, used a single chip for all operations of the console, including sound. You might have noticed already, but this is where the term "chiptune" comes from! If you see chiptune videos, you might notice people using a bunch of letters and numbers in their titles or descriptions - these are the names of different chips used in that particular song!


Now, let's make a little detour and talk about something very important: what is "sound", exactly? It might seem like a difficult question to answer, but basically what we call sound are just tiny and fast variations in air pressure. Because this is a bit abstract, we can use a very handy tool to help us "visualize" sound - an instrument called an oscilloscope. It measures variations in a given signal over time - for example, sound - and plots it out in real time. There are even virtual oscilloscopes that capture the sound your computer or phone produces and plots them out as the sound is being produced. Pretty neat, isn't it?


For example, here's a random view of a song I was listening to while writing this post:

Now, this feels like a random mess, and that's because it kind of is. Most modern music will look something like this when visualized in an oscilloscope because there are so many instruments being played at the same time and each instrument has quite a complex "profile". But our brains can easily make sense of this mess and hear actual music out of it, with different instruments and notes all at the same time. Cool!


Now, you might be wondering how an instrument by itself looks like? Well, here's an example from a DS song, which uses simple sampling of instruments:

Can you see the repetition? Each of those individual "waves" is called a sample, and in any instrument that has a specific timber, these samples repeat over and over for the duration of the sound. Change the frequency of this repetition and you have different musical notes. For example, here you have about 18 repetitions in a 30-millisecond timespan - that's a frequency of 600Hz, or about a D5!


Now that you know how sound in general works, let's get back to chiptune. Each different console had a different PSG, so each produced sound in a different way. The GameBoy has a relatively simple chip: there are four "channels" which we call Pulse 1, Pulse 2, Wave, and Noise. Think of a channel as a person in a band playing a single monophonic instrument: they can only play one note at a time, and you can give different instruments to each person following some limitations, but they can never play two instruments or two notes in the same instruments.


Being a hardware-driven sound generator, the GameBoy's sound engine is all programmable using hardware. What I call the "GSC engine" is merely a "skin" on top of the barebones sound engine of the GameBoy, and allows us to more easily program music into it. The GSC engine is very similar to MML, or macro music language, which is an older way to program music in these chiptune consoles. Nowadays most people use trackers for this purpose.


So now let's talk about each channel in turn, how they sound and finally how they specifically are used in the GSC sound engine.



 
 
 

Recent Posts

See All
Your Readers Don't Like to Read

No, I'm serious. This is perhaps the most important rule I've learned in my writing journey. It can also be stated as "do your best to...

 
 
 

Comments


bottom of page