a grid interface for softcut designed for asynchronous composition. offers 4-8 loops or delays with buffer and output routing options.
a lot of work thus far went into making the rate/octave switch feel v playable using rate_slew “glides” activated by a two-finger hold > release gesture. it already feels very nice, if not a little buggy. will likely hone that in as I go.
as usual plzzz help test and post bugs when you find them !
press the top left key on the grid to create a loop. make a sound. press the top left key again to end recording.
recording while a channel is not playing results in a new loop.
speed controls both record and and play rate. hold two keys and release to glide - this is very expressive (!)
‘buffer’ selects which buffer the voice reads/writes to (either 1-4 or 5-8) (there are 8 buffers). using separate voices to record to and pay back from buffer, for example, yields additional performance options.
pattern record captures key presses on the grid. cycle through record > (press some other buttons) > playback > reset. each pattern button only captures changes made on its own row.
on the standalone .amxd there are options for dry signal + voice levels, voice-wide overdub (for exploring delays), and voice-wide panning (width).
the current repo includes some beta tests - ekphras.satellite and anachronism.remote. place 4 or 8 instances of ekphras.satellite in Ableton (use the yellow selector at the top to assign the right row) along with the remote device. now anachronism is controlling each ekphras, which can be addressed individually with separate audio tracks and modulation sources. you can also drop samples into the buffer window.
an experiment: with multi-tracking set up, place the .remote device in a separate audio track from the ekphras tracks. the ‘route’ key now sends the audio out for the ekphras track to the track that the remote device is in. so, for example, if you set all your tracks to a common audio source, you can now route back into that main track and into the other loops from the grid.
it shooould glide toward the second key pressed, there might be some edge case bugs though.
by how much ? If it’s ~ 100ms or so I may not me noticing the issue, If it’s more It may be in the realm of a performance isssue (this app eats up yr dang cpu)
this is twenty characters of dopeeee. Is there any way to route the buffers through send/returns?
Upon testing this out it seems that there is a delay in the incoming audio from the press of the record button at the beginning of the loop. I turned fade down to 0 but still notice a decent amount of delay in signal. This test was done by routing audio from another Ableton instrument into anachronism though. I’m not sure if that would have any affect on the outcome.
meh yea this is latency - the way I handled the diction thing to send data between the devices is kind of dumb. I need to work on a way that’s more efficient. I’ll work on testing what the latency is like on my machine. It’ll vary between computers probably.
@Prnts@eblomquist are you able to share an audio example of the record latency thing (and re-download to the latest version first) ? I’m testing fine but I also may not be quite as sensitive to it if it’s something small.
NB that softcut parameter changes are not sample accurate but are enacted on audio buffer boundaries. So maybe check buffer size and experiment with making it as small as possible
ahh, this could be related - buffer size is 8 minutes by design but I could make that more dynamic.
but there’s also a real possibility my data streaming between grid <-> softcut is causing delays, I’m basically updating and reading from a big-ish JSON string (between js objects)
Im talking about the audio processing buffer size… not the record buffer. maybe not relevant but something to keep in mind. The thing was made for norns where it is assumed the buffer is small and control jitter correspondingly low. In ableton it’s common to have much larger buffers to accommodate lots of disk streaming &c