Chiptune sounds
Sine wave
The most basic one, we just need one operator connected to nothing (make the TL of everything else 127 to keep them mute). We'll use S4 for the sake of consistency.
Oper. | AR | DR | SR | RR | TL | SL | MUL | DT | RS | SSG-EG |
---|---|---|---|---|---|---|---|---|---|---|
S1 | 31 | 31 | 31 | 15 | 127 | 0 | 1 | 0 | 0 | Off |
S2 | 31 | 31 | 31 | 15 | 127 | 0 | 1 | 0 | 0 | Off |
S3 | 31 | 31 | 31 | 15 | 127 | 0 | 1 | 0 | 0 | Off |
S4 | 24 | 31 | 0 | 12 | 6 | 0 | 1 | 0 | 0 | Off |
- Algorithm: 0
- Feedback: 0
Square wave
To do a square wave we need at least two operators: the modulator should have a multiplier of 2x. The TL should be somewhere between 32 and 36 for best results: lower values make it sharper (and eventually too harsh), higher values make it softer (and eventually muffled).
Adding more modulators to the chain with the same values help make the shape closer to an actual square wave. We can adjust their TL to our liking (each link has a lesser effect as it goes longer), but the 2x multiplier is relative to the output operator, so don't escalate it on each link!
S1's feedback is used to push the effect further, lowering it will just muffle it a bit more.
Oper. | AR | DR | SR | RR | TL | SL | MUL | DT | RS | SSG-EG |
---|---|---|---|---|---|---|---|---|---|---|
S1 | 31 | 31 | 0 | 12 | 28 | 0 | 2 | 0 | 0 | Off |
S2 | 31 | 31 | 0 | 12 | 32 | 0 | 2 | 0 | 0 | Off |
S3 | 31 | 31 | 0 | 12 | 36 | 0 | 2 | 0 | 0 | Off |
S4 | 24 | 31 | 0 | 12 | 16 | 0 | 1 | 0 | 0 | Off |
- Algorithm: 0
- Feedback: 7
Sawtooth wave
Sawtooth is the same as square wave but with an 1x modulator instead of 2x.
Oper. | AR | DR | SR | RR | TL | SL | MUL | DT | RS | SSG-EG |
---|---|---|---|---|---|---|---|---|---|---|
S1 | 31 | 31 | 0 | 12 | 28 | 0 | 1 | 0 | 0 | Off |
S2 | 31 | 31 | 0 | 12 | 32 | 0 | 1 | 0 | 0 | Off |
S3 | 31 | 31 | 0 | 12 | 36 | 0 | 1 | 0 | 0 | Off |
S4 | 24 | 31 | 0 | 12 | 10 | 0 | 1 | 0 | 0 | Off |
- Algorithm: 0
- Feedback: 7
Triangle wave
For triangle wave we'll take a different approach by adding sine waves instead (so algorithm 7). A triangle wave can be obtained by adding harmonics (multiples of the base frequency), halving the intensity on each step (-6dB, or adding 8 to TL).
We only have four operators to work with but hopefully it sounds close enough to get the job done.
Oper. | AR | DR | SR | RR | TL | SL | MUL | DT | RS | SSG-EG |
---|---|---|---|---|---|---|---|---|---|---|
S1 | 24 | 31 | 0 | 12 | 33 | 0 | 4 | 0 | 0 | Off |
S2 | 24 | 31 | 0 | 12 | 25 | 0 | 3 | 0 | 0 | Off |
S3 | 24 | 31 | 0 | 12 | 17 | 0 | 2 | 0 | 0 | Off |
S4 | 24 | 31 | 0 | 12 | 9 | 0 | 1 | 0 | 0 | Off |
- Algorithm: 7
- Feedback: 0
NES-like tone
This was brought up on Twitter in the context of a different FM chip:
自分は、パルス波を作る時のMUL比が、
50%はM2:C1
25%はM4:C321
と来ていたので、
12.5%はM8:C7654321
と予想していたのですが、どうしても1chで再現したくて乗算系ALGで四苦八苦してました😫今回1chを諦め、M8:C765とM8:C432に分け、M8:C1も諦めることで辛うじて再現に至りました😌
Paraphrasing:
The MUL ratios that I've reached to make a pulse wave are
M2:C1 for 50%
M4:C321 for 25%,
so for 12.5% it should be M8:C7654321,
I tried reproducing it with 1ch but I struggled with the algorithms 😫Now if you give up on 1ch, by dividing into M8:C765 and M8:C432 and giving up on M8:C1, you will barely reproduce it😌
YM2612 is 4-op and algorithm 5 has that exact arrangement for the 25% square wave so let's try doing it as a single channel (feedback performs the same function as with square waves here):
Oper. | AR | DR | SR | RR | TL | SL | MUL | DT | RS | SSG-EG |
---|---|---|---|---|---|---|---|---|---|---|
S1 | 31 | 31 | 0 | 12 | 28 | 0 | 4 | 0 | 0 | Off |
S2 | 24 | 31 | 0 | 12 | 25 | 0 | 3 | 0 | 0 | Off |
S3 | 24 | 31 | 0 | 12 | 25 | 0 | 2 | 0 | 0 | Off |
S4 | 24 | 31 | 0 | 12 | 25 | 0 | 1 | 0 | 0 | Off |
- Algorithm: 5
- Feedback: 7
The actual waveform doesn't resemble a 25% square wave, but it does sound close enough at least. Again, increasing S1's TL or lowering its feedback can be used to muffle the sound.