Wave Generators
For your convenience we provide a few wave generators, which you can use with generate_melody
. These are simple functions, feel free to define your own. Here is a list of available wave generators:
PulseArchitect.Wave_Generators.square_wave
— Functionsquare_wave(phase::Real)
Returns 1.0 for phase < π, else -1.0.
PulseArchitect.Wave_Generators.saw_wave
— Functionsaw_wave(phase::Real)
Returns a sawtooth wave in [-1, 1] from phase.
PulseArchitect.Wave_Generators.triangle_wave
— Functiontriangle_wave(phase::Real)
Returns a triangle wave in [-1, 1] from phase.
PulseArchitect.Wave_Generators.pulse_wave
— Functionpulse_wave(phase::Real; duty=0.3)
Returns a pulse wave with given duty cycle.
PulseArchitect.Wave_Generators.soft_square
— Functionsoft_square(phase::Real)
Returns a soft square wave via tanh(5*sin(phase)).
PulseArchitect.Wave_Generators.fm_wave
— Functionfm_wave(phase::Real)
Returns a frequency-modulated wave: sin(phase + 0.5sin(3phase)).
PulseArchitect.Wave_Generators.wavy_wave
— Functionwavy_wave(phase::Real)
Returns a composite wave: sin(phase) + 0.5sin(2phase + 0.5).