So, when I was writing my TB-303 emulator synth, I've done some more research on the square wave of it...
I've seen many different ideas on the square wave. I've heard about the waveshaping that I mentioned in an earlier thread, but there is another common thought:
The "square" wave is generated by one saw wave, flipped every-other cycle and divided by 2, to keep it between -1 and 1. I want to try doing this, so I've decided that I want to try to take 2 [phasor~] objects, one normal, one upside down, and gate the two so that one will shut off at it's 0 amplitude and the other will start at the same time. The problem is that I don't know how to invert the wave.
The thought has crossed my mind of simply taking a [buffer~] object, loading it with this sort of modified saw wave, and driving that with [mtof], but I see this as no challenge and, if it's possible, I want to manually create the wave by using the description above. The whole reason I love Max is because it gives me challenges to solve. However, I need guidance with most of these challenges.
EDIT: My other, probably better idea, is to use [tri~] in the same way as I was going to use [phasor~]. I've tried gating the signals, but I don't know how to gate them to every-other cycle. This is my new problem.