I love the idea of auto-chopping everything, but leaving the first pad as the whole loop! That probably simplifies a lot of things, at the cost of not being able to play “just” the first beat. Set the first pad to “loop” playback too, so it just… is the sound on sound looper, and the other pads are there to chop & screw.

I must not be explaining the record head vs arp position issue well, though, because one shot vs loop record doesn’t make a difference. I already manually toggle on / off recording as needed, but those settings don’t guarantee that the “play head” and record head are on the same beat at the same time.

2 Likes

@McNUG + @21echoes, great info, thank you for the additional insight!

i wrote much of this before your posts, but it sat drafted, so apologies if anything doubles-back.

auto-chop: dependent on the audio clip length, automatically distributes the slices/pads evenly across the total time (when used with ALT+, otherwise just distributes that one pad at its x/16 division). affects start + end point position.

1/16th length: dependent on the system clock, automatically shortens the slices/pads to a 1/16th note’s length. affects end point position. i often use this before auto-chop, and then use the zilchmos gestures for doubling a loop length to get 1/8ths, 1/4ths, etc.

the arp function is just a way to play back your pads/slices, so it’s entirely dependent on the pad/slice positions. if those aren’t all aligned with the material, then the arps won’t be aligned.

if i’m still misunderstanding the issue here, let’s hop on a call – hmu! :slight_smile:


those extra performance details help – just to make sure i’ve got it:

  • you’re pointing each bank to each live buffer segment (bank a to segment 1, bank b to 2, 3 to 3)
  • you’re setting pad 1 of each bank to the full length of the incoming recorded audio
  • you play some audio in
  • pad 1 begins playing back the audio you recorded and you begin playing to it (after switching to a new live segment)
  • since the playhead of pad (which gives you a definite sense of location) and the record head are not locked to each other, you end up in a zone where you’re committing new audio that’s totally independent from the previously recorded segment

ultimately (and most critically for the situation), the three playheads and the single record head are decoupled in cheat codes by design. the only time when any play/record heads are linked is in [delay]. if it helps to share: the personal musical goal of the live recording components was to feed material on-demand as a reaction to needing new content to be pulled apart, rather than looping that material’s original performance.

i originally thought you were using the script in a cascading sort of situation, where the three banks are pointed to the same live buffer segment. this is how @zanderraymond seems to most often uses cheat codes – pad 1 of bank a will be playing back at 1x, pad 1 of bank b will be playing back at -0.5x, pad 1 of bank c will be playing back at 2x, all playing back the same live-recorded material with different rates + auralization :sparkles:

the basics of what you’re describing is what one-shot record mode was made to facilitate – it has three launch modes: next beat, next bar, and free. but it doesn’t loop. so perhaps it’d help to have launch modes for the looping recording, so that you can cue up a new looping recording and the record head will start in an expected place? and then you can simultaneously press pad 1 (which will have the long loop) to make sure that it’s playhead starts at the same time as the record head – lmk if this feels like it’d be a good solution?

in the coming update, i’ll also expose the # section of the [loops] page, where you can watch the playheads for all three banks + the live recording segment in one place.

8 Likes

just thought of that yesterday! Very nice to have those visualized in one place

2 Likes

I’m kinda using it as a live looper. Like what re:mix offers, but on norns. I like the first pad playing my whole live loop so that I can get my hands away from the guitar and onto the grid without dropping a beat. I can then overdub, or fill the next live segment, or start mangling to create new auditory content. I love how versatile cheat codes 2 is. It can be a mega delay, it can be a harmonizer, it’s an arpegiator, it’s a live looper, load prepped clips in and it’s your entire dj set. It’s magical.

So If I’m in 1-shot recording mode, I can’t ‘punch in’ and ‘punch out’ like I can in loop record mode? I assumed that’s what free was. But free was referring to the quantization of record head starting.

Oh, I had a random idea of cheat codes last night. What if Alt + alt + a zilchmo affected every bank at the same time? Probably more useful to me as a 64 user. But it would be cool to suddenly reverse everything and then reverse it back. Or mute everything at once

Here’s a beat … https://drive.google.com/file/d/1e_KyN-VCv12jSi8HaMJCbyHB0xZSBuHy/view?usp=drivesdk

3 Likes

totally – this is one of my favorite workflows with cc. recently, i’ve extended the cascading methodology to organizing the note to pad feature with jf in regards to the octaves. i typically will set bank a to be -2, b to -1, and c to middle! this sort of dual cascading format acts as a framing device for what intend each banks “job” to be so i can shift my focus to the improvising!

also, it has been a dang joy to break out a few modules into a smaller case to use this method with, here is what i got going on right now :slight_smile:

17 Likes

This is exactly how I like to set up my banks for JF too. I really like having each bank set to octaves too, as I use my grid in Landscape orientation it helps to keep it feeling like a more traditional keyboard layout. The pad to note orientation can be weird with grid like this but I find it can lead to some really nice musical patterns. Although it would be nice to have an option to rotate the pads.
Btw, that micro system looks fantastic!

3 Likes

This place is so cool! Reading the latest discussions on techniques got me inspired to try some new stuff with CC.

This recording was done in one take (+some simple notes on top afterwards) using Less Concepts in Ableton playing notes from a rack with an Operator → Cheat Codes, synced with Link and recording set to loop + random recording at 50% iirc. All 3 banks use the recorded material in different ways.

Was very pleased with the filtered stuff going on in bank C (sounds almost like water). The source material is the same as everything else, with these RND and filter settings:

IMG_0854

IMG_0855

19 Likes

some cheat codes adventuring from last night -


(banks 1 and 2 are processing a frozen buffer 1 of electric piano(reface cp), bank 3 is processing live buffer 2 input from Plumbutter with rec probability around 50%. Lots of euclid + rnd rate modulation + slow looping envelopes, some delay page stuff in 2nd half)

Exploring cheat codes the past few days has been so much fun + the docs are superb in helping dive in despite the depths. Tytyty for all the amazing work on this @dani_derks !

11 Likes

The midi clock drop out seems unrelated to the syncing issue and doesn’t appear to be a problem with the other hard ware. I have done some testing and it appears that messages from the faderbank cause the midi clock to stop. I am not sure of much else beyond this sorry, but it would be good if there was a way just to restart the clock in this situation. At the moment I am relaunching the preset to restart the clock (although I believe that I have just changed the midi channel settings and changed them back and it started again but I need to confirm this).
I had a session without the faderbank connected and had no clock dropouts.
I am still testing the sync/latency issue I reported but I suspect this is a problem with my implementation and not the script. Thanks again Dan

Edit to say that it’s the mapping of Bank a’s volume specifically that is causing the clock to stop
And bank b volume mapping

Actually all bank parameters I am checking seem to cause a clock drop out

Further edit to state that only relaunching the preset will restart the clock

@Placebo92 , what an awesome capture, thank you for sharing it! your use of the envelopes is really staggering – there’s so much life in this recording!!

@yoyosandshoes , i’m sorry to hear about these troubles – since MIDI mapping is handled by the norns system, you should be able to repro the issue by simply adjusting the same parameter by hand in the PARAMETERS menu. i’ve also not run into this issue using a 16n faderbank, so a few q’s:

  • do you see this trouble with manual manipulation?
  • either way, what prints to maiden as the issue occurs?
  • when you say you’re launching a preset, do you mean a collection? or a norns system PSET? i ask because cheat codes 2 doesn’t use the PSET system (there are just too many variables floating around), so if a PSET is being recalled it might be creating issues.
  • this is a 16n faderbank?
2 Likes

I will try the manual parameter changes next time I’m with Norns but i imagine this problem would have already been reported by others if it occurred more generally which makes me ponder the broader setup I have.
Yes I mean the Collections and not PSET sorry for confusion.
I am using a 16n faderbank that a friend built for me recently.

1 Like

Slightly off topic: I sometimes think in addition to the GAS haiku thread we could use a FRS thread :wink: (feature request syndrome).

Although English is not my mother tongue I dare to create the first one and dedicate this poor attempt of mine to @dani_derks because he always welcomes feature requests with an admirable openness and enthusiasm:

You built so much.
Yet I am longing for more.
May I request?

8 Likes

there are some features
I fear I will never know
the complete depth of

6 Likes

Thank you for the video about live sampling! Helps a lot :smiley:

3 Likes

No, changing the levels on the level page works as expect and has no effect on the clock.

clock: ignoring resumption of canceled clock (no coroutine)

Im getting many lines of this while the script is running and nothing specifically when the clock stops. I am finding on testing today that the clock seems to dip (LED indicator and clock speed) when the 16n is sending a message for the Banks A, B and C. I note that I am not getting the same problem when the 16n is sending messages for global levels and reverb send etc.

Edit to say that I am using a CV Pal and sending clock info on midi channel 14 that is for clocking per the CV pal manual

1 Like

following up on this “accidental” discovery from some time back, I think this trick puts CC in “granular mode” :grin:

details and audio sample

I’ve set up my pads on all banks with the same piano sample. Each bank with different rnd settings, most notably rnd rate set to the same number (min = max) and with different clock divisions per bank


IMG_0868

23 Likes

i’ve been playing around with different envelope settings recently and getting some nice results! this is a flora sequence on the opz, with random recording at ~70%

3 Likes

Hy guys!!!
I’ve been away for a bit and so much going on here!!!
It is super inspiring how much you evolve in such a little time! Yeh yeh! Nourishing the motivation!

I bring some new free download samples to play with!!
I’ve been doing a first approach to Orgel Dream’s “Eoten” (noise, distortion machine, really recomend it) and I will explore it soon pluging it in to the Norns.
Also I was exploring more the orchestral sound lately and wanted to test several mic dispositions and my instrument sounds so…you will be bullied with orchestral textrure pieces ha!

As allways: https://www.alicianurhomusic.com/samples4lines The free download link.

I am so motivated now I have checked the last topics!!!
Happy weekend and happy playground!

P.D.: I started a twitch channel about music analysis of covers I will make. I will destroy them, and reconstruct them my way and meanwhile I will use them as musical analysis and arrangement theory subject . Every tuesday at 19.00. Now is Architect’s going on so , if you want to come arround, you are invited…some will be in spanish but also I will make the international secction. :slight_smile:

7 Likes

Hi @dani_derks Was looking at your last IG post about macro mappings and wondered if this works sort of like that Cartographer m4l device (https://jsmishalanie.com/cartographer)? Been having crazy fun with that lately

2 Likes

yessss, JSM’s devices ruuuule!

the idea is similar, but with specific implementation for cheat codes 2. i’m like, 99% done with this update (had a quick derail/existential crisis about what it meant for this script to have a transport – i think i figured it out, but it took so much reckoning lol), but here’s…

a quick overview of macros:

  • eight banks of eight assignable parameters linked by a single control stream (on-norns, MIDI, and/or crow)
  • assignable parameters include:
    • current pad
    • rate
    • pan
    • filter tilt
    • start point: fixed, so 0 - 127 crawls evenly-distributed points along the entire sample length
    • end point: fixed, so 0 - 127 crawls evenly-distributed points along the entire sample length
    • start (delta): relative, so deltas between last and current value either pull or push the start point
    • end (delta): relative, so deltas between last and current value either pull or push the end point
    • delay div/mult
    • delay free time
    • delay rate
    • delay pan
    • macro: sends this macro’s value to another macro
    • w/curve
    • w/ramp
    • w/fm index
    • w/fm env
    • w/fm num
    • w/fm den
    • w/lpg time
    • w/lpg symm
  • the ranges of each of these parameters can be clamped to a small subset of values, so eg. the full 0 - 127 range of a MIDI-mapped slider can move a filter by only a tick or two or sweep a sweet spot or span the extremes
  • each macro has a curve setting, which assigns an easing function to the outgoing data. these help vary the path data takes from min to max. eg. if a single macro controls delay rate for both delays, leaving all the other settings the same, adjusting their individual curves allows non-linear changes.
  • there’s also a randomize function (basically, press K3 when you’re on the performance screen [there are two screens, program and perform] and a random value between 0 and 127 will be seeded to the macro)
20 Likes