Playing external samples live in TidalCycles

Hello, I’m trying to create a live set where I play an acoustic instrument live, record it and then process the audio sample using TidalCycles.
The obvious way to do this would be to record it, save it to the sample directory of SuperDirt and reload it. However this process can be tedious to recreate during a live performance, so I was wondering if it would be possible for TidalCycles to play samples from another source other than SuperDirt. An idea would be to record the sample using Ableton Live to an audio track called “livesample”, then from TidalCycles it should be possible to treat “livesample” just as a normal sample from SuperDirt, and doing things like:

d1 $ every 2 (jux (rev)) $ s "livesample"

Is this idea feasible? Are there any implementation of this process already available?

I the hacks folder of the Superdirt repo there are examples on how to do it with Supercollider

Thanks, did you mean this “hack”?

No, I believe that’s Alex’s branch of Superdirt. Take a look at musikinformatik’s, which is the official one. You might be interested in the looper example, maybe.

Another idea is to use the #delay effect as a looper. I’ve been using it with superhammond and others and works pretty well. It’s not a full-blown looper but if you set the #delayfb 1 you can loop it for ever at whatever #delayt you set. Set #gain 0 to stop recording and keep looping.

1 Like

Hello _guiseppelillo, I have written a Class for SuperCollider with which you can record small fragments of sound (5 and 10 seconds, mono and stereo). You can record live instruments or sound ambience with your computer microphone or external soundcard and live code them immediately. I have not probe yet with TidalCycles, but maybe you can sequence the SuperCollider SynthDefs of the Class directly in Tidal. I perform using patterns in SuperCollider that is a similar approach than in Tidal, you just need to trigger the SC synth from Tidal.

Here is the Class and and example what it does:
SonoTexto: https://github.com/hvillase/sonotexto
An a video demo: https://www.youtube.com/watch?v=K3QXg3mFG6E&t=1s
An explanation to use Synths with Tidal: http://pages.tidalcycles.org/patterns.html#synths
If it works for you you can use it.
Cheers,
Hernani

2 Likes

Thank you, I’ll try this!

Thanks, I’m having some problems with the recording, but maybe I need to spend more time looking at the SuperCollider code. It certainly feels still a bit clunky, so I will try an integration with Ableton Live and see if I’m able to work it out.

Let us know your progress. I’m also interested in using external input.

1 Like

I am satisfied that a discussion exists on this topic and find it extremely exciting to live loop external samples/instruments too. I’m currently writing a thesis on it.
The title is translated as „Live-Sampling and Sample Manipulation in Live-Coding Context“.
I like to share my work and would be very pleased if the community would discuss it with me.

My first approach was to create a modified editor (based on Extramuros). This editor receives OSC messages from Supercollider when a new sample is recorded and then generates new code. I implemented it as a prototype and made a video to show how the whole thing can work:

The presentation in the video is still pretty messy, but that will get better in the future! In the video I recorded, sampled and manipulated a cajon and an e-guitar.

The idea is simply to make a new sample accessible with ~dirt.soundLibrary.loadSoundFile in TidalCycles. In my opinion this is also the most obvious approach. This only reloads the new sample. _giuseppelillo also mentioned this idea in his/her first post. At a certain point in my work, I will also publish the code under a free license and would like to put it up for discussion.

But of course I am also grateful for other approaches and will certainly take a closer look at #delalyt and #delayfb.