The More You Know: The Famicom/NES/2A03 Triangle Channel

- Posted April 24th, 2017 by

Despite being nostalgic for me, the Famicom has some very distinct sounds that are instantly recognizable. To me, the one that seems to stick out the most, is the triangle wave. To anyone not familiar, a triangle wave is the shape of a sound wave, and you can guess what shape that it makes.  Yup; a triangle.

But… what causes the Famicom’s triangle wave to be so different compared to when you produce it in a digital audio workstation, or even other programs such as LSDJ? Why does it have a unique sound that’s more audible than the others? Who is the muffin man? We’re about to dig into that after the jump.

During the time I was creating a soundtrack for a puzzle game (which I will be shamelessly promoting everywhere eventually) I picked up Serum and started combining this amazing synth tool with what I would make in Famitracker. This eventually lead to me starting a project where I would create various Famicom/NES sounds to use with Serum; similar to how Shirobon made a patch that sounds like various Gameboy sounds. One thing bothered me, though – the triangle channel. I was trying to figure out why it had that higher-pitched frequency on top of the sound you would expect from a triangle wave. After some experimenting with no luck, I decided to just break down the waveform and try to recreate it.

So I took the following sound and put it through Audacity to get a glimpse of the wave shape. That’s when I saw something very interesting…

To those of you that have LSDJ, Audacity or anything else that allows you to pay attention to the differences, this is not your ordinary triangle wave. The following picture is:


What we’re getting here, in a sense, is a similar technique to what LSDJ users have been calling “the ghost channel”.  This digs into the concept of non-sinusoidal waveforms. Instead of rambling an incoherent explanation of the concept at you,  here is the direct quote I found on Wikipedia:

“Non-sinusoidal waveforms are waveforms that are not pure sine waves. They are usually derived from simple math functions. While a pure sine consists of a single frequency, non-sinusoidal waveforms can be described as containing multiple sine waves of different frequencies. These ‘component’ sine waves will be whole number multiples of a fundamental or ‘lowest’ frequency.“

Essentially, “the ghost channel” is adding an additional harmonic to the wave form to create a secondary frequency in order to make two simultaneous sounds off of one looping soundwave. In the case of the Famicom’s triangle channel, the mathematical equation is creating miniature saw waves in the shape of a triangle in the form of sixteen steps before switching directions, producing a triangle sound with that very atypical frequency on top. That atypical frequency, mind you, is also typically the easier frequency for your ears to distinguish since the triangle wave tends to get overpowered by every other non-sinusoidal waveform. Mind you, this is also overpowered by the 2A03’s hardware limitation that lowers the output volume of the triangle channel when other channels are operating. That itself, however, is another topic for a different article. This is also why, when mixing a Famicom triangle wave, you need to pay attention to both a low, near sub-bass frequency as well as some of the frequencies on the opposite side of our audible spectrum.

Why did they design it like this? I wouldn’t be able to tell you. A friend I discussed this with is under the assumption that the computation of the equation always ended in integers, which meant it required the output to always be a whole number equal to (or greater than) zero. I want to do some more research to either confirm this or find the actual answer myself.  The important part is, I now have an answer to that old forum post asking, “Why does the NES have a triangle wave rather than a saw wave?”  The answer is, technically, it appears to have both and neither.

With that, I will see you all later after I likely come back and find ways to correct this for X, Y and Z reasons (and by all means I welcome it for the sake of ensuring accuracy.)  Until the next time I come across something that might seem even mildly interesting, have a good one, and I’ll see you… in a bit.

Dig this article? Then consider supporting us on Patreon!