// saw
(
{
sum(
{|i|
var j = i + 1;
SinOsc.ar(300 * j, 0, 1/j)
} ! 20)
}.plot
)
// inverse saw
(
{
sum(
{|i|
var j = i + 1 * 2;
SinOsc.ar(300 * j, pi, 1/j)
} ! 20)
}.plot
)
// pulse
(
{
sum(
{|i|
var j = i * 2 + 1;
SinOsc.ar(300 * j, 0, 1/j)
} ! 20)
}.plot
)
// triangle
(
{
sum(
{|i|
var j = i * 2 + 1;
SinOsc.ar(300 * j, pi/2, 1 / j.squared) // cosine wave (phase shift)
} ! 20)
}.plot
)