Muxer's InstantSampler

What's new:

V1.2
- Windows VST version available
(thanks to Martin Eastwood Audio for making the port)
- improvement of the look
(thanks to Gustavo Lanzas for contributing the new skin)

V1.1: "looped scrolling" through your samples

Press:

"This ingenious plug-in has the potential to alter significantly the way you approach certain sequencing and performance tasks" - BasementHum

"So what's so special about this plug-in that would make you want to use something that YOU DIDN'T EVEN PAY FOR?" - GearWire

Audio Units Mac OS X Universal Muxer's head Muxer says: "With this simple yet powerful plugin I have complete control over stuttering and pitch glitching effects, because I program them myself using MIDI."

Downloads:

It is based upon the open-source DestroyFX plugin framework, and with some minor changes it proved to be an excellent starting point (for this, many thanks!). The DestroyFX plugin framework also makes it possible to compile the plugin on Windows, making it a VST. Anyone who is willing to do that is very welcome!

 

Description

The plugin could be named "audio copy-paster" or "snippet looper", but I choose to call it InstantSampler because it does what a simple 'normal' sampler does (playing audio fragments by MIDI notes), but it takes its samples (instantly) from the audio input whenever you hit a specific MIDI note for the first time. Every consecutive time you hit the same MIDI-note, it plays back the recorded fragment (or shorter, depending on the note's length).

So, is this plugin an instrument (as the name 'sampler' might suggest), or an effect? Technically, it is an effect, but one that is controlled using MIDI. But, in Logic for instance, it is considered to be an instrument, played with MIDI, while having an audio side-chain input. The bottomline is: It needs both audio - and MIDI input!

When you play the sampled fragments, you have the possibility to vary the following:

When could this plugin be usefull?

The reason why I need such a plugin is this: I want to 'remix' my music (copy-paste bits, to make, for instance, stuttering effects), while maintaining complete control: As music is typically composed in a bunch of channels and mixed together in a bus, I could bounce this mix to an audio file first, and then chop that one up. But then if I want to change something in an individual channel after doing the remixing, I need to re-bounce and re-remix everything all over again. Obviously, you don't have to do that using the InstantSampler. I could also chop up all the channels individually, but that is tedious and errorprone, and would definitely not sound the same.

In this remixing scenario, I turn up the floor parameter to the max, so the InstantSampler will be passing the audio from the input unaffected most of the time. But at some specific points (at the end of a verse, or whatever), I program some stuttering, looping, fading and pitchbending stuff to make it even more interesting. See the next figure for an example 'remix phrase':

  1. During these notes, the input audio gets sampled. If the floor parameter is turned on, you still hear the input audio passed to the output unaffected during this sampling. The following notes with the same pitch playback the sampled audio, replacing the input audio with the sampled audio.
  2. Play a sample reversed by lowering its velocity to be on or below the 'reverse playback range' parameter.
  3. Make a 'vinyl scratch' effect using pitchbend.
  4. Clear the recorded samples by programming a short note with the same pitch as the 'clear mem note' parameter. This makes this 'remix phrase' re-appliable to other parts of your music.

The next figure shows an example of modulation automation: During playback of the second note, the sample is scrolled through while playing little loops in backward direction (from end = 127 untill start = 0). If you set the velocity of the second note at such a level that it will playback in reverse, then even weirder stuff starts to happen!

Installation and Usage

Mac/AudioUnits

To install the AudioUnits plugin, just unzip and copy the InstantSampler.component to the Library/Audio/Plug-Ins/Components directory, either under / or your home directory.

Windows/VST

To install the VST plugin, simply unzip and copy the InstantSampler folder to VST folder.

Logic

To use the plugin in Logic, insert the plugin in a software instrument slot (select it from the "AU MIDI-controlled Effects/Muxer" menu), and select a side-chain as input. Then you are ready to instantly sample and play using MIDI.

Tip: In Logic you probably want to put the instrument track with the InstantSampler in solo-safe mode (ctrl-click on the solo button). This helps if you want to solo a track that goes through side-chain input of the InstantSampler (because if you don't solo-safe, the plugin is muted, so the side-chain input audio is not put through, including the track you want to hear solo).

Ableton Live

In Ableton Live, you insert the plugin as an audio effect. Then, if you assign the output of a MIDI track to the track containing the InstantSampler, the plugin appears as a possible target of that MIDI track.

General limitations

The InstantSampler has a pre-allocated audio buffer, giving you 30 seconds of total sample time, regardless of the number of inputs/outputs and sample rate. If you work on a stereo channel at 44.1 kHz, and given the fact that 1 sample takes 4 bytes (a 'float') then the plugin will reserve 30 x 44100 x 2 x 4 = 10 MB of internal memory. For working in 7.1 surround at 192 kHz, you can do the maths yourself. You cannot sample more than 30 seconds, or silence will be the result.

Everytime the host starts playback, the InstantSampler clears its memory. This current version does not clear its memory while looping. This is not a big drawback, but I'm working on it.

Tips

If you hear plops or clicks or anything disturbing, check the following:

Contact

If you have any problems, questions or suggestions, and/or if you find the InstantSampler useful (or not, maybe because better and still free alternatives exist), please let me know at muxer@muxer.nl.

Happy muxing!