Package wellen.dsp

Class Sampler

java.lang.Object
wellen.dsp.Sampler
All Implemented Interfaces:
DSPNodeOutput

public class Sampler extends Object implements DSPNodeOutput
plays back an array of samples at different speeds.
  • Field Details

  • Constructor Details

    • Sampler

      public Sampler()
    • Sampler

      public Sampler(int buffer_size)
    • Sampler

      public Sampler(float[] buffer)
    • Sampler

      public Sampler(float[] buffer, float sampling_rate)
  • Method Details

    • add_listener

      public boolean add_listener(SamplerListener sampler_listener)
    • remove_listener

      public boolean remove_listener(SamplerListener sampler_listener)
    • load

      public Sampler load(byte[] buffer)
      load the sample data from *raw* byte data. the method assumes a raw format with 32bit float in a value range from -1.0 to 1.0.
      Parameters:
      buffer - raw byte data ( assuming 4 bytes per sample, 32-bit float aka WAVE_FORMAT_IEEE_FLOAT_32BIT )
      Returns:
      instance with buffer loaded
    • load

      public Sampler load(byte[] buffer, boolean little_endian)
      load the sample data from *raw* byte data. the method assumes a raw format with 32bit float in a value range from -1.0 to 1.0.
      Parameters:
      buffer - raw byte data ( assuming 4 bytes per sample, 32-bit float aka WAVE_FORMAT_IEEE_FLOAT_32BIT )
      little_endian - true if byte data is arranged in little endian order
      Returns:
      instance with buffer loaded
    • get_in

      public int get_in()
    • set_in

      public void set_in(int in_point)
    • get_out

      public int get_out()
    • set_out

      public void set_out(int out_point)
    • get_speed

      public float get_speed()
    • set_speed

      public void set_speed(float speed)
    • set_frequency

      public void set_frequency(float frequency)
    • set_amplitude

      public void set_amplitude(float amplitude)
    • get_buffer

      public float[] get_buffer()
    • set_buffer

      public void set_buffer(float[] buffer)
    • interpolate_samples

      public void interpolate_samples(boolean interpolate_samples)
    • interpolate_samples

      public boolean interpolate_samples()
    • get_position

      public int get_position()
    • get_position_normalized

      public float get_position_normalized()
    • get_position_fractional_part

      public float get_position_fractional_part()
    • is_playing

      public boolean is_playing()
    • set_duration

      public void set_duration(float seconds)
    • get_duration

      public float get_duration()
    • output

      public float output()
      Description copied from interface: DSPNodeOutput
      returns the output signal.
      Specified by:
      output in interface DSPNodeOutput
      Returns:
      output signal
    • get_edge_fading

      public int get_edge_fading()
    • set_edge_fading

      public void set_edge_fading(int edge_fade_padding)
    • rewind

      public void rewind()
    • forward

      public void forward()
    • is_looping

      public boolean is_looping()
    • enable_loop

      public void enable_loop(boolean loop)
    • set_loop_all

      public void set_loop_all()
    • play

      public void play()
    • stop

      public void stop()
    • start_recording

      public void start_recording()
    • resume_recording

      public void resume_recording()
    • pause_recording

      public void pause_recording()
    • delete_recording

      public void delete_recording()
    • record

      public void record(float sample)
    • record

      public void record(float[] samples)
    • is_recording

      public boolean is_recording()
    • get_length_recording

      public int get_length_recording()
    • end_recording

      public int end_recording()
    • get_loop_in

      public int get_loop_in()
    • set_loop_in

      public void set_loop_in(int loop_in_point)
    • get_loop_in_normalized

      public float get_loop_in_normalized()
    • set_loop_in_normalized

      public void set_loop_in_normalized(float loop_in_point_normalized)
    • get_loop_out

      public int get_loop_out()
    • set_loop_out

      public void set_loop_out(int loop_out_point)
    • get_loop_out_normalized

      public float get_loop_out_normalized()
    • set_loop_out_normalized

      public void set_loop_out_normalized(float loop_out_point_normalized)
    • note_on

      public void note_on()
    • note_on

      public void note_on(int note, int velocity)
    • note_off

      public void note_off()
    • tune_frequency_to

      public void tune_frequency_to(float frequency_scale)
      this function can be used to tune a loaded sample to a specific frequency. after the sampler has been tuned the method set_frequency(float) can be used to play the sample at a desired frequency.
      Parameters:
      frequency_scale - the assumed frequency of the sampler buffer in Hz
    • draw_sampler_buffer_circular

      public static void draw_sampler_buffer_circular(Sampler sampler, processing.core.PGraphics g, float radius_min, float radius_max, int step)
    • draw_sampler_position_circular

      public static void draw_sampler_position_circular(Sampler fSampler, processing.core.PGraphics g, float radius_min, float radius_max)