[cheat codes 2] (rev 230319: LTS11 - nb!)

Lovely stuff Hans , been listening all this week. :+1:


Hopefully a quick question: can I set up the live recording to record for a predefined max number of beats/bars instead of a max time? I’m trying to figure out how to record live audio that cleanly loops in time with an Ableton Live sync. I can start a recording in sync no problem, but ending one in sync so that the loop length is appropriate has been eluding me. And I’ve found how to predefine pattern lengths, but not recording lengths.

Been scouring this page, the manual, and some youtube tutorials, but I can’t find an answer.

Thanks in advance for any help!

hihi! hope all’s well :slight_smile:

totally doable! there’s a setting under PARAMS > loops + buffers > live > rec loop enc resolution where you can clamp the live recording loop points to divisions of a bar once you move past 0.1 (the default) and 0.01. that’ll change the loops UI to show you the duration in beats when you’re viewing the live segment.

if you also set live x rec behavior to 1-shot and dial in a 1-shot sync mode, you should be able to get clean x-bar recordings quantized to the beat. you can also use the auto-start cued Live rec? setting as demonstrated here:

hope this helps! plz lmk if there’s any ambiguity!

1 Like

Amazing! Will try this tonight. Thanks so much @dan_derks – for the tip, this script, and, y’know, everything else you’ve done for the community!


Hey guys - Just wanted to post yet another appreciation for this marvellous script @dan_derks
I wanted to share my most recent piece solely using CC2.

There’s a bunch of info in the description about how I got to certain parts and how the banks are set up.
I keep finding new ways to utilise the live buffer and to use arps in a kind of sequencer style - using melodic info and rhythmic info from different parts of the live buffer to create fuller drum pattern led pieces.
This piece is also a deeper dive into the performance power of the delay page of the script. For a recent live show I found myself essentially living in this part of the script and manipulating content to a point where it became a new composition…and it blew my mind!
I recently watched the @PeterBark rundown of his CC2 experience and his “Microcosm effect” technique has also been super helpful for developing new ideas over the past days - So thank you Peter for that and your wonderfully informative channel!

I hope you like this composition and are all getting as much joy from CC2 as I am!!
Much love


just had a great session with cheat codes, a drummer, and a bassist. I love how intuitive and playful jamming with friends can be with this script!

Unfortunately, I think I might’ve uncovered a bug along the way. In the RND menu, clock divs weren’t registering encoder turns properly for changing values. When I highlighted the numerator or denominator for a clock division with E2 and then turned E3, the number wouldn’t change. But I noticed that if I turned E3 enough and then navigated away from the value with E2, the number would jump from 1 to 32 (if turning the encoder to the right) or 32 to 1 (if turning the encoder to the left).

Initially, I was worried that there could be a hardware problem with my E3, but it’s moving through values smoothly everywhere else, in and out of cheat codes. I updated norns just the other day, and I’d never seen this issue before that, so I wonder if it doesn’t have something to do with the update. Has anyone else experienced this?


I’m getting the same error, even did a fresh install of Norns and reloaded CC2. but still getting error.

1 Like

I just released my first full length recording. It’s improvised from scratch on the modular synth, recorded in one take, and has no overdubs. I also used CC2 pretty heavily in this one so I thought I’d share it with you all.


My eyes thank you so much for this.


absolutely fantastic on both fronts!!
@WilliamHazard , i hope you’ll get a chance to share recordings from these sessions!! absolutely love messing around with bass clips in the buffers :slight_smile:
@kabelsalat22 , outstanding improvisations!! you have such a clear familiarity with your tools and i’m so thankful + humbled that cc2 is one of them :black_heart: really really love the way Doing Too Much grows, it’s totally compelling!

@WilliamHazard , i’m not able to repro the trouble you’ve mentioned – does it persist in new sessions? if you have a collection file you can share, happy to dig in!


happy sunday, y’all! hope everyone’s having a good end to the year :black_heart:

rev 221225: LTS 10 (requires norns: update 221214 +)

transient detection for clips

if you have the incredible zxcvbn from @infinitedigits installed on your norns (and aubiogo has successfully built), you can distribute pads to transients with clips in cheat codes!

  • load a sample (works best with 48khz files)
  • nav to PARAMS > loops + buffers > clips and hit K3 on detect onsets in clip x
  • if this is the first time the sample has been analyzed, you’ll see a detecting onsets popup with a percentage count
  • once it’s analyzed, you’ll see an onsets detected! confirmation popup, which means that 16 onsets have been extracted
    • any bank/pad that’s been set to that clip before performing the analysis will auto-slice to the 16 onsets
  • so long as the onset mode is active, zilchmo [4][2] (which would normally auto-slice based on time) will also auto-slice based on onsets, in case you want to switch around clips or you want to mangle the positions + quickly restore loops to the analyzed onsets
    • if you want to return to the previous zilchmo [4][2] behavior (auto-slicing based on time), navigate to PARAMS > loops + buffers > clips and you’ll see clear onsets from clip x and hit K3

like zxcvbn, analyzed onset cursors are saved under dust/data/cheat_codes_2/cursors, which avoids the analysis waiting period for subsequent loads.

new arp features

arps now have swing!

  • navigate to PARAMS > timing + patterns + arps > arps (grid only) and you’ll find arp x swing settings for each arp
  • --> style corresponds to how swung steps are calculated
    • even steps adds swing in typical ‘delay the even steps’ fashion – so in a three-pad arp, the second step would always be delayed, eg. [1 ~2 3]
    • cumulative keeps count of how many steps have cycled overall and delays the even steps by this count. that means a three-pad arp would have variation as it played: eg. [1 ~2 3] [~1 2 ~3]. this mode also allows single-step arps to play back with swing!

arps also have new disengage style options:

  • navigate to PARAMS > timing + patterns + arps > arps (grid only) and you’ll find arp x disengage style settings for each arp
  • reset is the typical behavior, where disengaging the arp resets to the first step of the pattern
  • pause will not reset the arp to the first step, so it picks up where it left off when it was disengaged. this gives some new playability!

@dan_derks fantastic the new iteration of CC2 has fixed the RND clock divs error for me. thanks


same here. And transient detection is delightful! What a perfect addition to this already-amazing script


so glad the RND trouble has resolved + i’m super glad you’re digging the transient detection stuff! you were the inspiration with this piece :slight_smile:

also, dang dang dang @infinitedigits is a hero for building out aubiogo


first of all, this is truly an honor. Second of all, to complete the circle, I posted a new piece inspired by this update over on latest tracks & videos


ugh, this scratches so many itches for me, thank you for digging into the script + sharing this back!!! :black_heart:

1 Like

I noticed while working on a little jamuary sesh with cheat codes, just friends, and w/syn yesterday that cheat codes seemed to “freeze up” and then rush to catch up with the clock every now and then (it can be heard very noticeably in a few places in the recording linked above, e.g., between 4:30 and 5:00 and between 8:30 and 9:20). Pads would stop moving around for a couple seconds, and then they would all rush through their pattern to get back to where they should be. This seemed to happen more and more noticeably as the session went on, perhaps because I was adding more LFOs, RND behaviors, etc. Has anyone else encountered this? Any ideas for how to mitigate/resolve this issue?

1 Like

jam’s sounding stellar!

haven’t experienced it myself with cc2, but have seen this sort of symptom generally when something goes wonky with grid connectivity – basically, norns gets overloaded by connect/disconnect misfires and it stalls out matron + when it resolves, the clock catches back up. if you can share your logs (if the session hasn’t vanished from memory), that’d be rad!


got it! I’d never actually looked at a log export before, so thanks for linking to the docs for that. Here are the logs! A grid connectivity issue seems like a strong possibility to me, but I can’t tell from the logs whether that’s what happening.
system.log (528.3 KB)

heck yeah, thank you!
huh! seems like clock maybe getting held up by a mismatched parameter name in cc2! if you have em, can you please pack up this collection’s files under dust/data/cheat_codes_2 so i can repro the case over here? tytytyty!