Skip to content

OSC Sampler Library

Edmund Campion edited this page Dec 3, 2019 · 4 revisions

The OSC Sampler is a composable polymorphic sampling engine library with a number of options for optimization and features. It was originally built by Matthew Wright with contributions from Jeff Lubow and John MacCallum.

In general, the library is split up into two categories:

  1. mono samplers
  2. polyphonic samplers

There are options for transposition, which objects are used (some MSP sampling objects are more computationally expensive than others), whether or not to anticipate switching between stereo and mono files, etc. There is a sub-section of the library dedicated to patches that are meant to be used within a poly~ context, which is located in /patchers/soundfiles_sampling/MSP_Samplers/voices.

We enumerate the use cases below:

Basic Samplers:

These samplers represent the basic building blocks which the OSC Sampler are based on. There are 4 main categories.

Non-looping

Samplers that aren't meant to loop, but offer transposition or multisample mappings.

  • mono-msp-nl: 1 voice, non-looping multisample mapping.
  • mono-sample-player-noloop: 1 voice, single mapping, non-looping.
  • poly~-msp-mcents: polyphonic, non-looping, multisample mapping, transposition specified in cents.
  • poly~-multisample-player: polyphonic, non-looping, multisample mapping, transposition is midi-based

Looping:

Samplers that are meant to loop, and that offer transposition, enveloping, or multisample mappings.

  • mono-sample-player: 1 voice, looping, single mapping, transposing player with support for enveloping the amplitude and midi base pitch.
  • mono-multisample-player: 1 voice, looping, multisample mapping, transposing player with support for enveloping the amplitude and midi base pitch.

Non-looping + decay:

Samplers that aren't meant to loop, but are expected to have decaying sounds loaded in to them.

  • mono-s-multisamp-player-nl-d: 1 voice, non-looping, multisample mapping, decay feature, transposing (via line~ and play~)
  • mono-sample-player: 1 voice, non-looping, single mapping, decay feature, transposing (via line~ and play~)
  • poly~-s-nl-d-multisample-player: polyphonic, non-looping, multisample mapping, decay feature

File loading utilities:

Utilities that support this library which allow the user to load banks of samples and manage them within a patch.

  • multibuf: multi-buffer sample loader. Most of the sampler instances can use this, as there is a particular format associated with the mapping/bank files. This utility generates buffers that correspond to said format.

OSC-Sampler wrappers:

This category is the crux of the OSC Sampler library and allows you to specify which options you'd like your custom sampler to employ.

  • OSC-sampler: a wrapper that accept OSC at its input and allows the user to configure/compose a sampler with their preferred attributes defined.

VSamp wrapper:

This wrapper is/was used with the ever-loving "VSamp" VST plugin, which allows you to construct complex sample mappings involving instruments and groups of instruments (banks).

sampler-voice-s-nl-d.vox.maxpat multi-sample sampler-voice-noloop.vox.maxpat multi-sample sampler-nl-mcents.vox.maxpat samp-t-rl.voi.maxpat transposing, samp-t-nl.voi.maxpat transposing, non-looping samp-nt-nl.voi.maxpat non-transposing, non-looping samp-t-nl-p.voi.maxpat transposing, non-looping, polyphonic samp-nt-nl-s.voi.maxpat transposing, non-looping, samp-nt-nl-p.voi.maxpat poly-trans-randloop2.maxpat samp-nt-l.voi.maxpat nt-sampplay-extdel.maxpat