@dan_derks I was really expecting that release!! I spent an hour toying with CheatCodes this morning and I really enjoyed it! So thank you for your amazing work.

I had some issues with the delay part but I got to give it another try before starting reporting issues :slightly_smiling_face: However there is definitively something wrong with files with long names’s displaying in the parameters.

Also, here are some thoughts I had during my session:

• I think a little visual clock feedback could help a bit when live recording (bottom right pad flashing maybe?).

• It could also be cool to be able to sync patterns length together (recording the first one would set length for the other for exemple, with a fixed/free parameter choice in the parameters menu).

• About patterns I will make the same suggestion I did for MLR : Pattern Overdub Mode

  • First pattern recording sets pattern length .
  • Long press on a pre-existing pattern switches it to Overdub mode (flashing light?). Now you can take your time to input additional stuff.

I can’t wait to watch videos of what people achieve with that one.

2 Likes

hey martin, thanks for the kind words and thoughts!

same! and want to see what you make!

system-level thing – @Justmat provided a nice concat function for non-parameter display, seems like it’s on the norns dev roadmap for parameters.

just to clarify, you mean when recording patterns? if no, live audio buffer recording isn’t clocked (at the moment, have some fun stuff on the roadmap), so I wonder if that wouldn’t be less confusing than just the current lowlight/brightlight paradigm. happy to hear more!

totally, i have some patterntime stuff on the roadmap. did you try setting PARAMS quantize pattern button? to yes? that will take the quantization division and apply it to the pattern start/stop button. it’s how i’ve gotten tightly synced pattern lengths. maybe I could have a separate quantization division for patterns, tho – that way, you can have pads quantized pretty fine but have pattern start/stop quantized to 1 bar.

100% interested in this one – patterntime doesn’t out-the-box support it at the moment, so maybe some digging into that library will help make this reality!

thanks again! lmk if delay stuff is still obtuse!

4 Likes

damn i need a grid asap huh

grid definitely gives the most immediate playability, but you can use cheat codes gridless!

:shushing_face:easter egg:shushing_face:
if you navigate to the [loops] page, you can hold K1 and turn E1 to scroll through the different pads of each bank (a1-a16, for example). this way you can set scroll through each pad (without a grid attached!) and choose unique loop points, level, panning and filtering options. once you adjust everything to taste, you can basically stay on the [loops] page and use K1 and E1 to scroll through pads (1-16) on the different banks (a,b,c).

but yeh, way more immediate on grid :grinning:

9 Likes

I love everything about this, but especially the help menu, the detailed documentation, the vertical design concept and the attention to detail. Can’t wait to dig into it!

3 Likes

@dan_derks
holy shit!!! Cheat Codes sets a new bar for well though out scripts with wonderful documentation. The grid + arc implementation is beautiful and elegant. Thank you so much for putting it out there.
I got lost in Cheat Codes + OP-1 until my Norns battery died and I had to return to the real world :sob:

Is there any chance you could find a way to implement envelopes in the one shot mode?
It would be so nice for creating melodic/percussive patterns out of drones or other material.
Just a thought

Thanks for this beauty

13 Likes

Agreed!

BTW, I’ve always been meaning to ask, is there a way to change the orientation in grid/arc in general? For instance, if you boot up MLR the orientation is such that the usb cord has to stick out of the left side of the grids. if I wanted to turn it around 180 degrees so that it is still horizontally oriented and the usb cord sticks out of the right side, is there an easy way to do that?

same for Arc. I always wanted to use it vertically oriented , but then the Arc Rings LED lights wouldnt be at " the botton" anymore if that makes sense.

Anyway, hoping to get some time to dive in to Cheat Codes this weekend

3 Likes

This script is so good, and the documentation is just ::chef’s kiss::

1 Like

aww man, thank y’all so much for the positive feedback! it’s been wonderful seeing the script in others’ hands :slight_smile:

DOPE thought, yeah! i’ll take a peek at exposing the softcut envelope param and sneak it in over the next few days :slight_smile:

I’m really stoked to hear some OP-1 + cheat codes…no rush but, like, for real tho.

yes! upcoming, system level change.

6 Likes

Jaw drop!
What a xmass present :grinning:

1 Like

One tiny bug report, or perhaps user-error on my part, but I seem to occasionally get myself in a situation where the loop seems to be “stuck” at the end point of my defined loop region. This results in just a solid tone since it’s looping on a fixed location. I can’t seem to figure out what I did, or how to undo it.

1 Like

weird! can you move your start point back before it? next time it happens, if you’re able, plz DM any steps to reproduce. i’m curious if it happens while you’re switching the buffer you’re playing from, or doing random loop point jumps, anything like that? oh, or maybe arc stuff? i noticed u had a loop point displaced in ur IG video

1 Like

so, the script looks f’ing insane but i have not dug in yet

i’m not exactly sure what is described…

is it: around loop endpoints, in xfade period, there are volume “bumps” with repeated passes with nonzero pre level?

that is explored in this old issue:

in a nutshell, there is no good solution to this that doesn’t require expensive analysis of the input signal (i think) - there are only compromises. the default compromise gives you small volume “bump” with continuous high-intensity input. (see graphs in issue.) there are some “hidden” parameters in softcut that change the balance of this compromise, which we can get into if you want

other possibility: does the script manipulate rec_offset at all? i’d recommend just leaving that alone. currently it is possible to end up with a situation where you record with one offset, and then change the offset, and the old region will never be hit. here is the issue https://github.com/monome/norns/issues/898

but i wasn’t really committed to “fixing” this, because its a weird edge case (the real purpose of the offset is just to keep read/write heads out of each other’s resampling windows) and a fix would have performance impact.

1 Like

oy, yes, the script is a lot of stuff. before the abstractions it was a single 2500 line scroll. i’ll continue streamlining things as i learn more :sweat_smile:

i think i know what’s happening and it’s all just script-level maths (variables are manipulated, which then pass arguments to softcut)— the loop point variables are somehow getting pushed outside of the expected boundary of the controls (which operate with a clamped range) and likely the start point got assigned somewhere past the end point during sunbeamer’s usage. loop points have a ton of modulators/controllers, so i think i just missed something on some fringe uses, probably around arc — super tiny ranges, which push softcut to the sonic edge of granular synthesis (single tone), coupled with the controls not knowing how to respond to the unexpected loop points.

i’ll push the arc interaction through its paces this week and should run into it (and will fix!)

(for due diligence, there’s no manipulating rec_offset – totally just math stuff)

3 Likes

what does cheat code & op1 look / sound like?

marcus_fischer:

Is there any chance you could find a way to implement envelopes in the one shot mode?
It would be so nice for creating melodic/percussive patterns out of drones or other material.

DOPE thought, yeah! i’ll take a peek at exposing the softcut envelope param and sneak it in over the next few days :slight_smile:

Why not implementing a general envelope mode for both one shots AND loops? :upside_down_face:

1 Like

for sure, good q. i think the param affects both modes! i won’t limit it to only 1-shot if it can work on both :envelope_with_arrow:

edit: woop, iiiiiiii completely misremembered what fade_time does. it’s for cross-fading between position jumps (already set to 0.01 for non-clicky jumping). afaik, there is not an envelope param for softcut – apologies y’all.

@marcus_fischer: in 1-shot, you should be able to bring the end point pretty close to the start point (careful not to cross over, tho this will get fixed in the next update) to get quick percussive clip playback. does that get you close?

2 Likes

woop! doing some debugging and noticed that in the maiden project manager, I listed the script as cheat codes, and the space in between makes directory management weird.

I have updated the project manager to cheat_codes – if you have a cheat codes (no underscore) copy on your device, please:

  • refresh your community catalog
  • download cheat_codes
  • delete cheat codes from code (just so you don’t have an outdated copy :slight_smile: )
  • you can also safely get rid of the cheat folder in data

doesn’t cause any troubles, but it’s much cleaner this way.

2 Likes

this is a deep app and a lot of fun! I just wanted to thank you for taking the time to write up all this documentation. I almost typed 3 questions in here and then went back through and reread and the answers were right there each time, hah. Few hours in and it’s starting to click and feel super powerful and useful

2 Likes

Yeah I’ve played around with trimming the end points on the one shot but I was hoping to be able to control the decay so you could give it a more natural sound rather than sounding clipped. With short delay settings at lower volume I could get I could kind of fake it but then then I give up having a usable delay for the other channels.

2 Likes