Samsara: a minimalist looper

Version 0.2 (5b8df87) is ready! ZIP file

This fixes the two bugs just reported:

  • When trying to change tempo while the norns clock is following an external device, an alert is shown explaining that you need to go to params to change your clock source
  • UI should now consistently update when play/pause/whatever-else happens, no matter where that change came from (MIDI messages, params menu, whatevs)
3 Likes

Super! Thanks so much. Will download and update tomorrow AM and dig in.

1 Like

Might be cool to have a ‘dynamic loop length’ setting (maybe after 0 in the BPMs, rather than being a deeper menu option?) whereby samsara is ‘listening’ but not recording until a sound is played, and then that sound becomes the start of the loop, with a button you can press to set the end point (which will trigger that sound to play again, immediately).

That sound would usually be a snare if one’s using it for drums. This is a similar flow to how one ‘gets started’ using the resample function of something like the SP-404 to build loops in this style (recording begins when a sample is played, ending recording and quickly pressing the recorded loop plays it back). BPM is then automatically set to some division of the loop length – this way ‘finding the tempo’ is a seamless process, and layering additional sounds by hand can begin at the very next loop (two bare snares, then you can ‘go in’).

Further request would be a ‘fade to noise’ option rather than fade to silence option, with some ability to sculpt that noise within the machine.

Of course, I could see some of this being beyond the scope of what is, at present, an extremely elegant and ‘clean’ program. Still, these are ‘game-changing features’ from the perspective of an absolute Dak stan…

Thanks again for doing this!

3 Likes

There are so many uses for this. Loving it.

2 Likes

Edit. I think I borked something

I’m really loving this! Thank you so much for making it! I like that it’s so basic! While I do like things like Cheat codes for all the they can do, sometimes I just want to get a loop going and play on it. This is perfect for this!
I do dream about something like the BOSS RC-505 on norns sometimes. Nobody stopping me from making it myself though :slight_smile:

3 Likes

20 characters of Dakim!

1 Like

This is SUCH a fun and simple looper, thank you so much for putting this together. I ran my Elektron Model:Samples into it as a sound source and was hacking together really fun and satisfying loops within minutes. Broken beats for days. Also shout out to the endless cycle of birth and death.

A few tweaks I found myself desiring:

  1. A beat counter that shows what beat you’re on.
  2. A beat length multiplier, maybe by holding K1 while turning E1. Basically being able to step up or down beats in multiples of whatever beat count you’re on, so 1-2-4-8-16-etc or 3-6-12-24-etc. Might be cool to even have a division of 1 step too, so if you turn E1 left past 1 you can get 1/2, 1/4, 1/8, 1/16, etc… altho that might complicate things too much!
  3. An undo of the last recording. Don’t know if that’s even possible and I could be talked out of it, but I definitely fucked up a loop or two by messing up timing, hitting the wrong note, or auditioning a sound without realizing recording is on. Again, might make things too complicated, and I appreciate how sparse this is as a tool.
  4. Seconding @yams suggestion of the dynamic loop length

I could also see this expanded into a 4 track, with the same exact simplicity, just across 4 tracks… Some kind of hybrid between this and Reels would be a dream machine for me.

Anyhow, I will reiterate again how much I love this as it is! Such a simple easy workflow. Good work!

Edit: Just to add here, I didn’t run across anything buggy while using.

3 Likes

At first I avoided the “push button to lock in your loop length” approach, because I’ve always found that when I use loopers that work like this (which is… most of them, at least in the guitar/bass world) the timing is always just a little bit off. But, seeing as so many loopers work like this, I probably should just add it as an option for people who are actually good at it / used to it :sweat_smile:

Mmmm, shouldn’t be too hard. I’ve avoided it for now because in actuality it doesn’t matter much if your audio’s downbeat actually matches the loop’s “real” downbeat, but it still would be nice. It definitely matters if you’re doing any loop length manipulation that isn’t just doubling.

I don’t quite follow. Is this extending on the “beat counter” idea? or is this something else?

This one I would love to have. As is, we’re writing to the same buffer that already has the loop we’re playing back, so there’s no way to undo. However, I think with some trickery this mayyyy be possible, especially if I take on some proposed extensions to the softcut system that this is running on (real-time/offline buffer manipulation). I’ll have to think on it for a while.

Right now the 2 tracks are mapped to norns’ two inputs (you may be thinking of this as “1 track”, no worries) – how would you like to see 4 tracks work? all 4 loops would be running, and you’d toggle between each track to choose where to record to?

5 Likes

totally! When I started looping with a jam man pedal I had a really hard time sorting out the brain-shoulder-elbow-wrist-button down-button up rhythm (a similarly complicated chain for foot pedal use, as well), since each of those ‘joints’ represents something like a ‘gate delay’ to the actual loop start (not to mention any latency within the cheap-as-hell pedal itself, and uncertainty with regard to at which point in the button the loop is triggered // how that is ‘felt’ further up the chain of one’s limbs). I’m quite certain this range of issues will not impact samsara, given the responsiveness of the current interface (hats off!).

Thanks for receiving that – doing a lot of variable BPM stuff and setting loop length tactilely and running that as my leading clock is ~dreamy~

1 Like

Yah, the beat counter idea came up for me when I was messing with loop length, and also when maybe I was just laying out a weird disjointed pad, and then wanted to be able to drop in a kick, for example.

Totally hear ya on undo, that’s sort of what I reckoned. I also do kind of like the confines of having to live with what ya record… it forced me a few times to improvise my way out of the mess I made, and came up with cool things.

Ah! I didn’t realize I could use the stereo as two tracks… duh! Brilliant. And yah, exactly, as far as 4 tracking. As I think about this more though, it just beefs this up into a different thing, so I think this is no longer really a request. But, having the ability to toggle between tracks for not just recording, but also muting, and then pitch control, etc. Too much. Takes away from the simplicity! If I ever brave the coding, maybe I can try and build this someday.

Regarding the beat length multiplier, essentially what I’m saying is that, while the loop is playing it’d be nice to quickly jump from 8 beats, down to 4, rather than having to click past 7, 6, and 5, thus keeping things more in time. This is more of a performance feature, so that maybe I’ve got a cool 8 beat loop, and then I just hop to 4 for a couple loops, and then 2, and then back up to 8. Does that make sense? I’ve been trying to explain myself online since the 90’s and it hasn’t gotten any easier!

This is making me think of one other idea I had, which was being able to start with just a 2 beat loop for example, and then while it’s playing, bump it up to 8 beats, and the loop copies itself to those blank beats automatically. So in the simplest forms, for a house beat, I set the loop to 1 beat, play the kick one time, and then expand up the beats to 8, and the kick is now on the 1 of every beat.

Anyhow, I’ll take a break from the idea making, and just go play with it as is!

This one doesn’t seam to be showing up in maiden. Anyway to add it?

Read the description.

3 Likes

I’ll be releasing to maiden later this week (ideally later today!), once I’ve had a chance to test out a couple more small changes. Until then, you can click the direct download link and put it in your norns’ code folder directly (make sure the folder name is just “samsara”, not “samsara-5b8df879b6d4ff2d088bce92e69a7a54161695d4” or anything)

2 Likes

Oh cool! Yeah that’s a nice idea. I’ll have to figure out what key command this maps best to, but it makes sense and matches the “double buffer” feature. Speaking of which:

This is already how it works! Hold K1 for a second, then press K2. You should see your loop length double, and the content from the original loop is duplicated into the buffer. Press again to double again, etc.

1 Like

Alright v1.0.0 (f709830) is live! Now available in maiden (when your norns is on WiFi, then click the books on the left, click “available” at the top, click the little refresh icon next to “community”), or as a direct download

Small updates since v0.2:

  • Hold K1 + click K3 to clear buffer – now a confirmation dialog is shown before the buffer is cleared (keep holding K1 and press K3 again to confirm. any other keys pressed or released will dismiss the dialog without clearing the buffer)
  • When using the “double buffer” feature, there should be a tiny bit less clicking. I can’t completely eliminate the clicking without going in and writing some norns system code for a future norns release, but that is the plan!
12 Likes

Haha… Amazing!

Alrighty, excited to grab the Maiden version and playing around tonight.

if you happen to have some time for thinking about this, maybe you could give this PR a spin

4 Likes

oh wow, didn’t realize someone had already basically done it! plus the wav visualizer (which I had hoped for with the future planned “Loop window slide, loop endpoint move (with wav viewer?)” feature) :raised_hands:

I haven’t done norns core development before (not even just mucking around with norns source on my own device), but i’ll see if i can test this out within the next week

Huge props to @csboling for digging in on that waveform stuff. :tada:

I was been meaning to get back to that but haven’t had time.

4 Likes