Using a sampler within FoxDot

Hi friends,

I would like to use a sampler as a new instrument in FoxDot. I have found SuperSampler (GitHub - allenloves/SuperSampler: SuperSampler is a sampler synthesizer project on SuperCollider. The sampler is applying audio content analysis techniques to make decisions on sample processing.) that seems to work fine in supercollider. But I don’t know how to connect it to FoxDot. I guess I have to create a new Synth in supercollider with this sampler, but don’t know how to do, or even if it is possible. It would be nice to use some effects and filters on samples from FoxDot.

Anyone has some idea? Other samplers available?

Thanks in advance. Best regards.

1 Like

Hi Jaime,

I haven’t done this myself but the FD docs have a page on adding your own SynthDefs:
https://foxdot.org/docs/using-your-own-synthdefs/

It’s worth noting that FD has a bunch of samplers included out of the box:
https://foxdot.org/docs/playing-samples/

I personally use ‘play’ the most, for simple sample triggering and repitching. You can change the samples that correspond to each keyboard character by going to the FD menu bar: Help & Settings > Open Samples Folder, then replacing the samples in those folders. Be careful though, I’m not sure if this will get overwritten when you update the FD module so maybe make a backup.

‘loop’ is good for managing playback of longer samples.

‘stretch’ is supposed to help you timestretch longer samples but I haven’t been able to get this to work yet. It’s new in FD v8 so perhaps needs dev work

Hope this helps!

Hi Dundass,

Thank you for your response. I would like to have a more sophisticated sampler that could load user-defined samples and then use them within a synth as a normal synth. It would be nice to have in FoxDot an instruction like:

flute = Sampler([“sample1.wav”,“sample2.wav”,…])

This would generate a new Synth named “flute” loading the list of samples [“sample1.wav”,“sample2.wav”,…]. Like SuperSampler, it would detect the picth of every sample, normalize signals, etc. Then, in FoxDot we could use as a normal synth:

p1 >> flute([0,2,(5,7,2)], oct=4, lpf=…)

The synth flute would select the concrete sample to be used for each note 0,2,5 and also perform the synchronization of atacks for the notes in chords like (5,7,2) (like in SuperSampler).

I know it is an ambitious proposal. It would be nice to have at least the posibility of create the instrument with a single note and use it as an instrument.

Have a nice day!

Hi Jaime,

After reading the abstract for SuperSampler and re-reading your posts I think I’m with you now.

It seems like a classic sample-per-note multisampler but with pitch detection for assignment and auto amplitude alignment. The problem is, the first step is having a multisampler that behaves like a synth, and the only multisampler that FoxDot has is the ‘play’ synth, which uses strings to select samples from prepared folders.

The easiest way to do this is probably to prepare it beforehand rather than auto assigning on the fly. Fill a folder for a single letter, for example “f”, with the flute samples (in ascending pitch) then use something like:

p1 >> play(“f”, sample=[0,2,(5,7,2)])

to play the different pitches.

One thing that FoxDot doesn’t really have is any audio analysis components, especially for samples, so you’d have to put this together yourself using your knowledge of SuperSampler and the SynthDef tutorials that I provided in my post above.

Take it easy,
Dundass