QuadSampler Specs

I’ve been having a blast playing the other patches with a KMI Qunexus, but QuadSampler has me a little stuck. Can someone please explain QuadSampler in a bit more detail?

Is it 1mb split between all four samples, or 1mb for each sample?

What is the maximum length of sample that will play? Even when my samples are under the file size limit, the length seems to get cut off after a fraction of a second, and it seems there’s an audible click if the cut-off point happens to be non-zero, so I’d like to know where to manually fade out. before uploading.

It seems to be geared towards being a percussion engine. Another poly would be more useful to me, but I don’t understand how the voice rotation over MIDI works, so it seems the same sample needs to be uploaded to all four slots to be played that way? What note should the sample be to map correctly to MIDI notes?

Thanks in advance.

It is max 1Mb per sample, the max duration depends on whether it is mono or stereo and what the exact file format is - wav files come in different shapes and sizes. And the duration is also modulated, truncated, by the envelope which needs to be at max (knob D).

And yes it is designed primarily to be a percussive sampler with four voices triggered by the buttons. MIDI triggering works, but as you’ve found the voice allocation is unpredictable. It would probably be much more useful if each voice had a dedicated MIDI channel, but then we had so much fun with it as it is that we never got around to implementing that.

An audible might be due to a DC offset at the start or end of the sample.

I think we’re only scratching the surface of sampling capabilities with this patch, and definitely for sustained sounds a very different patch could be designed. One question then is what the looping points are: start and end of the sample, or somewhere in between?

I’ve been thinking about experimenting with samples too, now that we have access to SPI flash from user patches.

There are different ways that sample playback/looping can be approached:

  • end to end sample playback
  • using an equal division grid with addressable index for
  • freely selectable start/end loop points

All of the above can play one off samples or loop.

I would agree that current MPE engine with voice stealing is not ideal for a general purpose sampler. It’s not even necessary to use multiple MIDI channels unless we will change pitch and in some cases using a single channel with different notes to trigger different samples can be more convenient.

An envelope for samples would probably let you set length and shape for start/end transients, current patch uses exponential decay envelope (so you effectively control just 1 param out of 4). Also, in most cases we want to play sample for a specific time period, meaning that envelope doesn’t have independent duration, but depends on sample duration.

That said, to go beyond proof of concept we should be targeting hardware with a display. And if the patch gives you lots of options for configuring samples, it would take some time to setup everything. Doing it every time the patch runs would be a nightmare, so ideally we would expose saving/loading patch state to MIDI commands.

Thanks for the info, mars! If I upload a 5 second wav file that is under 1mb, it doesn’t play the full 5 seconds. It plays the first half second or so and then abruptly cuts off. Knob D will shorten the sample to very blippy pulses, but max is less than a second and there is no fade in or out from an envelope. Is that right?

If it has to be short, there’s always the pitch-up, octave down trick. And having 4 slots as a poly is actually kind of cool, because I realized you don’t need to upload the exact same sample - you can upload 4 variations, and have them trigger kind of unpredictably.

Hmm no that doesn’t seem right! I will investigate.