Package wellen.dsp
Class Wavetable
java.lang.Object
wellen.dsp.Oscillator
wellen.dsp.Wavetable
- All Implemented Interfaces:
DSPNodeOutput
plays back a chunk of samples ( i.e arbitrary, single-cycle waveform like sine, triangle, saw or square waves ) at
different frequencies and amplitudes.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final float
static final float
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfloat
current()
void
enable_jitter
(boolean enable_jitter) static void
fill
(float[] wavetable, int waveform) static void
fill
(float[] wavetable, int harmonics, int waveform) float
float
float
float
float
float[]
static void
noise
(float[] wavetable) float
output()
returns the output signal.static void
pulse
(float[] wavetable, float pulse_width) void
reset()
static void
sawtooth
(float[] wavetable) static void
sawtooth
(float[] wavetable, boolean is_ramp_up) static float[]
sawtooth
(float[] wavetable, int harmonics) void
set_amplitude
(float amplitude) void
set_amplitude
(float amplitude, int interpolation_duration_in_samples) alternative version of `set_amplitude` which takes a second paramter that specifies the duration in samples from current to new value.void
set_frequency
(float frequency) void
set_frequency
(float frequency, int interpolation_duration_in_samples) alternative version of `set_frequency` which takes a second paramter that specifies the duration in samples from current to new value.void
set_interpolation
(int interpolation_type) void
set_jitter_range
(float jitter_range) void
set_offset
(float offset) void
set_phase_offset
(float phase_offset) void
set_waveform
(int waveform) void
set_waveform
(int harmonics, int waveform) static void
sine
(float[] wavetable) static void
square
(float[] wavetable) static float[]
square
(float[] wavetable, int harmonics) static void
triangle
(float[] wavetable) static float[]
triangle
(float[] wavetable, int harmonics) Methods inherited from class wellen.dsp.Oscillator
set_oscillation_range, set_oscillation_speed
-
Field Details
-
DEFAULT_AMPLITUDE
public static final float DEFAULT_AMPLITUDE- See Also:
-
DEFAULT_FREQUENCY
public static final float DEFAULT_FREQUENCY- See Also:
-
-
Constructor Details
-
Wavetable
public Wavetable() -
Wavetable
public Wavetable(int wavetable_size) -
Wavetable
public Wavetable(int wavetable_size, int sampling_rate)
-
-
Method Details
-
fill
public static void fill(float[] wavetable, int waveform) -
fill
public static void fill(float[] wavetable, int harmonics, int waveform) -
noise
public static void noise(float[] wavetable) -
pulse
public static void pulse(float[] wavetable, float pulse_width) -
sawtooth
public static float[] sawtooth(float[] wavetable, int harmonics) -
sawtooth
public static void sawtooth(float[] wavetable, boolean is_ramp_up) -
sawtooth
public static void sawtooth(float[] wavetable) -
sine
public static void sine(float[] wavetable) -
square
public static float[] square(float[] wavetable, int harmonics) -
square
public static void square(float[] wavetable) -
triangle
public static float[] triangle(float[] wavetable, int harmonics) -
triangle
public static void triangle(float[] wavetable) -
set_waveform
public void set_waveform(int waveform) - Specified by:
set_waveform
in classOscillator
-
set_waveform
public void set_waveform(int harmonics, int waveform) -
get_frequency
public float get_frequency()- Specified by:
get_frequency
in classOscillator
-
set_frequency
public void set_frequency(float frequency) - Specified by:
set_frequency
in classOscillator
-
set_frequency
public void set_frequency(float frequency, int interpolation_duration_in_samples) alternative version of `set_frequency` which takes a second paramter that specifies the duration in samples from current to new value. this can prevent unwanted artifacts ( e.g when quickly changing values ). it can also be used to create glissando or portamento effects.- Parameters:
frequency
- destination frequencyinterpolation_duration_in_samples
- duration of interpolation in samples
-
get_offset
public float get_offset()- Specified by:
get_offset
in classOscillator
-
set_offset
public void set_offset(float offset) - Specified by:
set_offset
in classOscillator
-
get_amplitude
public float get_amplitude()- Specified by:
get_amplitude
in classOscillator
-
set_amplitude
public void set_amplitude(float amplitude) - Specified by:
set_amplitude
in classOscillator
- Parameters:
amplitude
- amplitude
-
set_amplitude
public void set_amplitude(float amplitude, int interpolation_duration_in_samples) alternative version of `set_amplitude` which takes a second paramter that specifies the duration in samples from current to new value. this can prevents unwanted artifacts ( e.g crackling noise when changing amplitude quickly especially on smoother wave shape like sine waves ). it can also be used to create glissando or portamento effects.- Parameters:
amplitude
- destination amplitudeinterpolation_duration_in_samples
- duration of interpolation in samples
-
get_wavetable
public float[] get_wavetable() -
enable_jitter
public void enable_jitter(boolean enable_jitter) -
get_phase_offset
public float get_phase_offset() -
set_phase_offset
public void set_phase_offset(float phase_offset) -
get_jitter_range
public float get_jitter_range() -
set_jitter_range
public void set_jitter_range(float jitter_range) -
reset
public void reset() -
current
public float current() -
set_interpolation
public void set_interpolation(int interpolation_type) -
output
public float output()Description copied from interface:DSPNodeOutput
returns the output signal.- Returns:
- output signal
-