I've always thought that triangle was a cheap implementation of a sine wave.
What 9H0ST says sounds sensible.
chipmusic.org is an online community in respect and relation to chip music, art and its parallels.
You are not logged in. Please login or register.
I've always thought that triangle was a cheap implementation of a sine wave.
What 9H0ST says sounds sensible.
Also: there were actually composers involved in the chip design. So it was designed with a certain instrumentation in mind. Atleast imo, a triangle sounds more like a traditional bass than the saw does. And yeah, that's still the way the 2A03 is used, most of the time. Compared to other less "pre-defined" chips.
Also: there were actually composers involved in the chip design.
Really? Any idea who?
I don't think they did a triangle because they couldn't do a sine wave. A 4-bit sine wave probably would have been about as easy to implement as the triangle with a loookup table. There's nothing particularly ideal about a sine wave for music; it has profound mathematical/geometric properties, but it's not a particularly great sound all by itself. The NES sound frequently suffers from hard to hear triangle when the user's bass response is poor; with a sine this problem would be even worse.
goto80 wrote:Also: there were actually composers involved in the chip design.
Really? Any idea who?
Not now, but I remember reading about it. Perhaps I mentioned it in my thesis somewhere (google for retro puppets).
I doubt that any composers were involved in 2A03 sound hardware design, because at the time (before 1983) games had almost no music. Nothing anywere close to that has been done in late 1980s and early 1990s.
However, Hidenori Maezawa mentioned in an interview that he was involved in VRC6 design. It was designed at the time when music in games became more serious, so to say - circa 1989.
I don't think they did a triangle because they couldn't do a sine wave. A 4-bit sine wave probably would have been about as easy to implement as the triangle with a loookup table. There's nothing particularly ideal about a sine wave for music; it has profound mathematical/geometric properties, but it's not a particularly great sound all by itself. The NES sound frequently suffers from hard to hear triangle when the user's bass response is poor; with a sine this problem would be even worse.
This is my guess, traditional bass/flute sound and cuts through better than a sine wav, or it's just a low res sine wave.
Also composers most likely not involved bc of previously mentioned reasons.
Paging Neil Baldwin?
rainwarrior pretty much said it all.
As for why triangle wave, my wild guess is they simply wanted something close to a real bass guitar (I doubt they had flute sounds or anything in mind, especially since the triangle channel is hardwired to one octave lower than the pulse channels in the hardware, resulting in less precision in the top note range).
Also, I don't think them having two pulse channels (as opposed to one, or three, or four) had anything to do with the pulse channels being cheap resource wise, they just happened to pick that number.
I really have no idea if this is a viable answer but this thread got me thinking so here is a possibility.
The triangle channel has (pretty much) no volume control, perhaps they had thought about using a saw wave but then realised that a triangle wave would be the better sounding out of the two without volume control.
Another way to put it would be, a triangle tone with one volume setting is more useful than a saw tone with one volume setting. Well in this particular situation anyway.
Rainwarrior, the thing with using pulses/saws/triangles over sine waves is that you don't need lookup tables. By feeding a ramping phase accumulator (this is a simple counter that has the frequency register value added to it every some division of the cpu clock) directly into some simple logic circuitry, you can generate those three basic waveforms without sparing any ROM (the triangle as Shiru explained). There is a nice writeup on how exactly this was done on the SID in this interview of its designer: http://sid.kubarth.com/articles/intervi annes.html.
As for no saw on the NES, short pulses sound kind of similar anyhow. All in all, I think using a triangle together with the pulses is the more musically versatile solution.
Lookup tables are fairly simple to implement as logic, I don't know what you mean by "sparing any ROM"; I wasn't talking about a lookup table like you would implement in software. At this scale, it would be similar in logic complexity to things like counters, and I mentioned them as a practical way to do a 4-bit 16-stage sine wave in comparison to the 4-bit 16-stage triangle. My point was that complexity was not the reason they didn't pick a sine wave; they didn't pick it because triangle is superior.
If you really want to know the particulars of the triangle implementation, you might learn how to read the Visual 2A03 project. I personally don't have the skill/knowledge to do it quickly, though, so I've kind of held off on attempting to gain knowledge that way.
The SID is a great chip, and that's a cool article (thanks for linking it). Its design is drastically different though; particularly how it uses one underlying binary counter to output the 3 different waveforms by changing how its bits are output. (Compare to the 2A03 where each channel has a single purpose.) A large sine wave LUT with resolution like the other 3 waveforms would be impractical for this for sure, but a 4-bit/16-step sine wave LUT would probably have been quite doable actually for the SID -- though it would have been pointless to implement such a thing.
Don't forget that the Famicom spec is based on an arcade board, so mass production had something to do with it... It's 1983 and we have all these 2a03s and no demand for games in the US, let's make a home computer out of them.
All speculation.
Last edited by chunter (Jul 25, 2012 4:38 pm)