Package wellen.dsp

Class Wavetable

All Implemented Interfaces:
DSPNodeOutput

public class Wavetable extends Oscillator
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 Details

  • 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 class Oscillator
    • set_waveform

      public void set_waveform(int harmonics, int waveform)
    • get_frequency

      public float get_frequency()
      Specified by:
      get_frequency in class Oscillator
    • set_frequency

      public void set_frequency(float frequency)
      Specified by:
      set_frequency in class Oscillator
    • 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 frequency
      interpolation_duration_in_samples - duration of interpolation in samples
    • get_offset

      public float get_offset()
      Specified by:
      get_offset in class Oscillator
    • set_offset

      public void set_offset(float offset)
      Specified by:
      set_offset in class Oscillator
    • get_amplitude

      public float get_amplitude()
      Specified by:
      get_amplitude in class Oscillator
    • set_amplitude

      public void set_amplitude(float amplitude)
      Specified by:
      set_amplitude in class Oscillator
      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 amplitude
      interpolation_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