Module: Synthesizer::Shape

Defined in:
lib/synthesizer/shape.rb

Constant Summary collapse

Sine =

Basic

->(phase) { Math.sin(phase * 2 * Math::PI) }
Sawtooth =
->(phase) { ((phase + 0.5) % 1) * 2 - 1 }
Square =
->(phase) { 0.5<=((phase + 0.5) % 1) ? 1.0 : -1.0 }
Triangle =
->(phase) {
  t = ((phase*4).floor % 4)
  t==0 ? (phase % 0.5)*4 :
  t==1 ? (2-(phase % 0.5)*4) :
  t==2 ? (-(phase % 0.5)*4) : (phase % 0.5)*4-2
}
WhiteNoise =

Noise

->(phase) { Random.rand(-1.0...1.0) }
RampUp =

LFO

->(phase) { (phase % 1.0) * 2 - 1 }
RampDown =
->(phase) { (phase % 1.0) * -2 + 1 }
PositiveRampUp =
->(phase) { phase % 1.0 }
PositiveRampDown =
->(phase) { (phase % 1.0) * -1 + 1 }
ForeverRampUp =
->(phase) { phase }
ForeverRampDown =
->(phase) { -phase }