Sampling in Audulus 4 - Need Your Input!
  • Audulus 4 should include the ability to load, play, scrub, record, and export audio (and data encoded as audio).

    This node should be called the Sample node.

    However, we might want to split them into two nodes - one that is the simple "Load a drum sample and trigger it, no bells and whistles," and the other that is more advanced and suitable for stuff like granular synthesis and looping.

    Sample node features:

    **Inputs**

    *Gated*
    Play - triggers the sample to play from the start loop point.
    One-Shot/Loop - selects one-shot (x==0) or looping (x>0) modes.
    Overwrite/Overdub - selects overwrite (new data clears out old; x==0) or overdub (x>0) mode.
    Record - records as long as gate stays high (x>0). Stops recording when gate returns low (x==0).

    *Audio/Data/Control*
    Audio/Data in - this input will capture audio or data to record.
    Speed - determines playback speed. 1 = normal; .5 = halfspeed; 2 = double speed.
    Loop start - 0-1 signal that determines start of loop
    Loop end - 0-1 signal that determines end of loop
    Loop Sample # start - determines the exact sample to begin the loop.*
    Loop Sample # end - determines the exact sample to end the loop.*

    * - if no values are present here (inputs == 0) then the loop points are determined by the transport bar.

    **Outputs**

    Audio/Data stream - self-explanatory!

    **Node interface**
    Sample loads a picture of the waveform, with a loop bar that can be tap/dragged, similar to the crop feature you see on video editing software.

    **Context Menu**
    Load - tap/click to load sample - possibly from iTunes on iOS?
    Export - tap/click to export sample - to desktop/Dropbox/etc.
    Rename - Rename the sample
    Fade - applies a quick fade on either end of the sample to prevent popping when looping samples.
  • The data node could be separate from the sample node. One of the things I would like to see in audulus would be the ability to print out words into a value node so that you can rotate a knob and have the display change.

    Also, I would like a some ability to zoom in on waveforms to select start and stop points as well as the a timecode (seconds? samples?) rather than 0-1. You can always scale the input with an expr node to make it a 0-1 parameter.
  • @RobertSyrett

    "The data node could be separate from the sample node."

    ---"However, we might want to split them into two nodes - one that is the simple "Load a drum sample and trigger it, no bells and whistles," and the other that is more advanced and suitable for stuff like granular synthesis and looping."

    "Also, I would like a some ability to zoom in on waveforms to select start and stop points as well as the a timecode (seconds? samples?) rather than 0-1."

    ---"Loop Sample # start - determines the exact sample to begin the loop.*
    Loop Sample # end - determines the exact sample to end the loop.*"

    The alpha node would be a good addition to this though!
  • I think one single node for all things sampling is more practical.
  • @Fedor - I think the point of having two - one simple "load, record, export" and another one with advanced functions would be for more beginner users vs. experienced. It's why we didn't get rid of the Mic and Speaker nodes when we introduced the ADC/DAC node set.
  • An interesting thing for the sample node would be he ability to modulate the sample rate on input, and have the output normalize that to whatever sample rate your sound card is running at. So for instance being able to hook up an ADSR to the sample rate when triggering a record ... might be interesting.

    that'd be also super interesting when loading data ...
  • I'd love to scan a looped section through a waveform via external modulators like LFO, adsr...

    IMG_0190.PNG
    2296 x 1733 - 307K
  • @Heiliger_Bimbam - that's this section:

    "Loop start - 0-1 signal that determines start of loop
    Loop end - 0-1 signal that determines end of loop"

    To move the entire loop forward and backward you just add/subtract the same value from both the loop start and end. I suppose negative samples would wrap back around to the end of the loop too.

    @plurgid - this is something you could either do with the record speed or with a S&H node in front of the node, no? I see the appeal though, that would be neat!
  • Or three nodes: a basic sampler like described above, one granular based, the last one FFT based
    (spectral filtering node would be a big plus too)
  • Paul stretch synthpad's algorithm is Used in a lot of synths and would be a great addition to Audulus
    http://www.paulnasca.com/algorithms-created-by-me
  • @Nömak thanks good ideas!