Great video. Groovy! Is the delay coming from your modular? So I just updated everything. Love the unmentioned addition of arc mapping. Outstanding. But I’m still getting the “beat 1 on pad 8” issue. And unless I’m just crazy and feeling the beat an 1/8 note off, it looks like the 1 in beets is also on pad 8 in your video. And please excuse my stream of questions, but I have a couple more. So on the edit screen, the display seems to show voice 1. Is there a way to show voice 2? And when editing each of the 8 step squares, what is the difference between a blank square, K, and S? I’m not hearing any difference between the three settings. Thanks for your ongoing work on this! And thanks to @vcvcvc_val for the great beats!

1 Like

In the video, the modular is making the bleeps (clocked from Beets by Crow into Ansible) and the delay is on an iPad running AUM with the K7D delay.

The edit mode is part of the unfinished/undocumented additional Crow support. The idea is that you can mark the slices of each loop that contain a kick (K) or a snare (S). Then whenever they play, a Crow output fires a trigger. If I remember correctly, I use this in the demo video to spike the filter frequency on the snare beats. Previously I’ve used it to fire a deep analog kick to beef up the kicks in a loop.

Please keep the questions coming! I’ve got a busy week at work but this weekend I will try to load up some very simple loops and nail down the timing issue.

5 Likes

Ah, K and S for Crow. Love it! I’ll have to give this a try. Thanks!

To enable the outputs in the current code, you’ll need to set ENABLE_CROW = true here: https://github.com/mattb/beets/blob/master/beets.lua#L17

I had to disable them to make sure they didn’t stomp over the new Crow output options in the global clock. I need to make the choice of output configurable before I can publish the feature.

2 Likes

Hey. Noob here. is there any way to map a APC20 to this? I mean the buttons like you did with the lunchpad. I managed to map the faders.

To map the launchpad I used the Novation mapping utilities that can turn buttons into various midi values. For mapping APC buttons there might be some help in this thread: Norns: alternative grids

1 Like

Thanks man :smiley: really love this.
That mod seems a bit far for were i am now. As ill get use with this env. ill make the mods to use apc :slight_smile:

Haven’t even come close to fully utilizing this script but had fun messing about using the 2 default samples. Also, much respect for the system wide Clock update. Here, I’m syncing Beets with my Serge 4u modular via a trigger into crow CV 1. thanks for making this awesome script :pray:

4 Likes

Thanks for this script! I’ve been customising it as a way to get to grips with Lua scripting for Norns.
I forked your repository here https://github.com/mike-kelly/beets
The main difference is that two-bar loops can now be used as well as one-bar loops. Of course in theory more bars per loop are possible but that would be difficult to visualise on the Norns as well the Grid. So I have limited options to 1 or 2 bars per loop.

2 Likes

just saw this today…
looks like a pedal version of Beets with live input!

Ooh that looks really nice. I’m planning on adding realtime recording in a future release.

3 Likes

I’m having trouble getting any of my own samples to load in Beets. I have them in their own folder in /beets but when I try to load them on the parameters page a white square flashes and nothing else happens. Any idea what might be causing this?

could you message me with a zip of your beets folder? I can try to figure out what’s up.

I just pushed a tiny hotfix to avoid a crash when directory names have spaces in them. Thanks to @Trey_Connet for sending me an example to replicate this bug.

5 Likes

Got some test break beat loops from my drummer today. I still need to practice using this script to properly hit 1 ever time. Mapping the arc is super easy and the filter sounds great.

2 Likes

WOW! This script is amazing. Really digging the results, and have a few thoughts I’d thought I share for workflow-y things.

Would be sweet to be able to get clock divs between the two grid instances, so that we could have a more steady (but still sorta crazy) pattern on the right, and then have the left side at x4 clock speed doing some wild gabber percs / polyrhythmic madness. I’m noticing the row the shift key is on doesn’t really have many uses, and that could be a good place to seat a quick-access clock div row. I suppose this is related with the above suggestion for independent clock / pitch shifting, but that’s pretty easily doable by just repitching a sample beforehand if you know where you’re tryna take it,

It may also be interesting to have independent probability control per track within a folder, so that if we’re playing sample a from folder y, it is more likely to reverse/skip/stutter/swap tracks than sample b from the same folder – this could open up really cool random fill opportunities (say, with all the parameters at 80 percent for just one loop, so that when that loop is switched to we get a moment of aphex and then it snaps back to shadow).

As is, these results are achievable at the ‘arrangement’ stage of production, but the notion of creating multiple layers from a single input file, pitched to feel like totally different files, is very tempting.

Minor functional thing: it seems like grid rows 2, 4, 10, and 12 are set to be a touch dimmer than rows 1, 3, 5, 9, 11, and 13. I see this as a legibility concern (more easily visually distinguishing between the rows), but the variations in brightness are so slight that it actually is just kinda tripping my eyes out and making it hard to look at the grid for very long. This could just be me, or there may be a setting I can adjust on my end to fix it.

Thanks again for this awesome script!

edit with a lil bug report: if I set pattern length to not include the first step, it seems to play the first step whenever I change erm… loops is maybe the right term. So if only the far top right three buttons are lit, whenever I change to a new loop (or at the conclusion of a loop for if auto-rotate is on), I hear the kick from the first slice in the loop.

Thanks! Glad you’re having fun with it. It’s always a pleasure to have my code out in the world and making music.

Great ideas there. I love the idea of the clock divider per instance, I’ll put that on top of my todo list. I’ll have a think about independent probability controls; I tried to make it so that switching between samples doesn’t change the state of the grid controls so that it all feels deterministic and under your control. I should be able to change the brightness striping of the grid with a param, I’ll put that on the todo list as well. And thanks for the bug report about the step logic, that sounds like something I’ve seen it do.

4 Likes

I’m really enjoying this. Thank you.

1 Like

@mattbiddulph - Dude, killer app! Just started digging into this one today. Looking forward to exploring more.

Seems like there’s a little lag time when controlling these parameters with arc:

  • beat start/end
  • filter reso - arc sensitivity issue
  • loop index

One feature request! Would it be possible to provide on option to reset the progress back to the first beat when seeing midi clock in? Would be really nice to be able to have that function when working in conjunction with a DAW and playing/stopping.

2 Likes

Hey there! Glad you’re enjoying exploring the app.

My guess is that the latency is coming from the fact that parameters are read and all outputs updated on the clock beat. This is intentional, to ensure that all changes are quantized. Does that sound plausible from what you’re hearing?

Resetting the beat when MIDI clock begins is a great idea. In my own music I only use Ableton Link and Crow clocks, so I’m less familiar with how MIDI manifests in the Norns clock. I’ll see what I can do.