Thirtythree

thirtythree

a po-33 clone for norns+grid.

I love the po-33 and for a long time I’ve wanted something similar for norns (e.g. a micro-sampler/splicer + sequencer). I tried making something similar in abacus but I didn’t have a grid so the ux was very limited and ultimately gave me a bad flow. after making amen which is a great looper+fx for me, I realized that a lot of my work could be re-used to make a splicer+sequencer too. instead of designing a ux from scratch like I did for abacus, I decided to just copy the ux from the po-33 to have complete skill transferability between instruments (much like you would have between two pianos or two saxophones). however there are some key differences:

  • thirtythree is based in the norns which has higher sound quality (48khz, 24bit, stereo samples (though higher is not always better))
  • thirtythree fx are sound-specific instead of global (see PARAMS menu to toggle global fx in the po-33).
  • thirtythree fx stack (except looping fx) so multiple fx can be applied simultanouesly.
  • in addition to recording from line-in, you can also load a file into any bank (see PARAMS menu to toggle this bheavior).
  • you have two choices of layouts (see the PARAMS menu) - the classic 5x5 type layout and a compressed 4x6 layout that lets you stamp more of the thirtythree apps across the grid.
  • you can chain up to four operators on a grid, and there is ~10 note polyphony shared across all of the operators.
  • thirtythree doesn’t save instantaneously like the po-33 does. you can save manually using the key combo (below) or wait for the auto-save to occur (which occurs after idling for ~3 seconds).
  • thirtythree dumps can be shared via the norns.online cloud.

requirements

  • norns
  • monome grid or most midi grids

documentation

the official te guide for the po-33 explains the usage for this app as thirtythree follows all of the same key combos. basics:

  • [x] melodic (buttons 1-8) and drum splicing (buttons 9-16)
  • [x] record with record+1-16 (option to load files instead in parameters)
  • [x] select sound with sound+1-16
  • [x] write mode activated with write
  • [x] select pattern with pattern+1-16
  • [x] play pattern with play
  • [x] toggle parameters with fx
  • [x] adjust tone (pitch+volume) with E2 and E3
  • [x] adjust filter (lp+hp) with E2 and E3
  • [x] adjust trim (start+end) with E2 and E3
  • [x] delete sound with record+sound
  • [ ] copy slice with write+sound+9-16+1-16
  • [x] add effects with fx+1-16
  • [x] change swing with bpm+K3
  • [x] change tempo tapping bpm
  • [x] change tempo with bpm+K3
  • [x] change master volume with bpm+1-16
  • [x] parameter locking with write+(K2 or K3)
  • [x] chain pattern with pattern+1-16
  • [x] copy pattern with write+pattern+1-16
  • [x] clear entire pattern with record+pattern
  • [ ] clear current sound pattern with record+sound+pattern (new)
  • [x] backup data with write+sound+play
  • [x] restore data with write+sound+record

when in the “trim” mode, you can use E2 or E3 to jog the endpoints. use E1 to zoom in to the last endpoint moved. in the tone or filter mode, you can adjust things with just E2 or E3.

here are the two possible layouts available to stamp the grid with:

thirtythree effects

the fx are the same, except unison effects replaced by stereo auto-panning and a bitcrush. some fx stack (looping / scratching do not).

  1. loop 16
  2. loop 12
  3. loop short
  4. loop shorter
  5. unison autopan
  6. unison low bitcrush
  7. octave up
  8. octave down
  9. stutter 4
  10. stutter 3
  11. scratch
  12. scratch fast
  13. 6/8 quantize
  14. retrigger pattern
  15. reverse
  16. none

saving / loading

thirtythree automatically saves your current state when you are idle - this is the “default” that will be loaded each time you open thirtythree (just like when you turn on a po-33). you can also use the key combo to save (see above).

in addition to automatic saving, you can save your current state to a separte file using PSET > SAVE and load with PSET > LOAD.

thirtythree also optionally lets you share your work with others. first install and run norns.online:

;install https://github.com/schollz/norns.online

once you run that app and choose a username, you can then use thirtythree to upload+download shares. there will be a new menu PARAMS > SHARE > upload/download which you can use to share or backup your work to the cloud.

known limitations/bugs

  • backups will not restore if you move/delete the ~/dust/audio/thirtythree audio folder, where all the audio data is stored.
  • looping fx don’t stack.
  • sometimes there is race condition in the bpm, if you get wacko pattern stepping, restart. so far I haven’t been able to reproduce consistently.
  • using 6/8 beat fx might cause operators to get out of sync. if this happens, stop all the patterns and start them again and they should sync back up.

thanks :pray:

thank you @license and @catfact for never ceasing to teach me a half dozen supercollider tricks in half as many lines of code. thanks to @proswell and @CrazyEmporer893 for beta testing. thanks to @eigen for the p8 library which was a jumping off point for the graphics and source of the the manga. thanks to @glia for allow me to include a yelidek kit as the default drum kit. thank you @jredou_ko for help with the graphics.

install

install with

;install https://github.com/schollz/thirtythree

the first time you run thirtythree it will update your norns with the aubio library which is used to generate default onsets. this might take 10-15 seconds.

101 Likes

You’re a GOD !

Please create a patreon and I will give you money to build a op-1 patch !

14 Likes

@infinitedigits ace! Been having a play this evening, sold my PO-33 a while back so trying to get back into it along with all the shortcuts.

First impressions, amazing! The ability to have up to 4 of them is incredible. Such deep work/thought went into it, kudos for keeping the the same UX, certainly makes it easier.

Thank you!

5 Likes

this is my favorite thing :slight_smile: thanks @mattallison, lmk if you do find bugs in your sessions.

since others have brought this up too, I’ll say this: I have a hard time accepting $ for musical stuff and won’t be having a patreon for it… I recognize I’m really really fortunate to be able to write that. my discomfort with accepting $ has absolutely nothing to do with a disrespect of musical work nor is it related to any sort of disrespect of the idea of making $ from any kind of musical endavour. musicians/programmers do great work and absolutely should get paid well in any means possible. like you, I love supporting more music/art in the universe and I won’t hesitate to use $ to do that.

however, personally, my own hesitancy to accept $ for musical stuff is strong: accepting $ in something like pateron quickly turns my fun into work (this started happening with my non-musical github projects), and part of my joy in this type of art is that it is removed from my actual work. I do have album sales but honestly those just go toward purchasing other albums. I do sometimes do skill-for-hire but I try do make them skill exchanges instead of monetary exchanges. in other instances I would just encourage making a donation to something else you love (plug a website I made: https://whowillmatchmydonation.com/).

one more thing - maybe the best way to support me in the specific regard of norns script development is by supporting others! and I mean that literally/practically: I’ll wager that often norns devs spend more time helping others using the thing than the actual time it took to make the thing. I absolutely don’t mind doing that and do love the type of collaboration that grows out of it, but at the same time I find it massively helpful when other folks are able to field questions instead of me, especially when I’m thick in the weeds or down a wormhole of some other fun exploration. and actually, I notice this mutual support already happens a lot and I couldn’t be more thankful and generally impressed by this type of kindness in a community that makes that possible.

tldr; support me by supporting others.

:slight_smile: I already have two failed attempts at this but my learning continues and its on my list of things to try still…

44 Likes

Good lord this is so cool. Can’t wait to try this out. Thanks for all your efforts. Norns continues to be such a gas killer.

4 Likes

So awesome, that’s what is really cool here on lines, the non competitive mindset that people have :v:

4 Likes

holy shiiiiiiittttt…
just gave it a go…
amazing work dude.
CRAZY!

4 Likes

Did you worked with others ?

Because a project like this can interest a lot of people !

1 Like

this thing is so fun, never used any pocket operators before so pretty excited. does live step recording work or is it only write mode? the manual said hold record while sequence is playing but when i do that it starts recording line in instead of a sequence. hope that makes sense, might be user error as well

edit: was supposed to hold “write”. user error confirmed!

1 Like

brilliant script! thank you! i have no coding experience, but i’m going to try to integrate my arc into this somehow. maybe running 4 operators and using the unused grid buttons to switch between “pages” of the arc with each encoder affecting a quality of its respective operator. even just controlling the filters with arc would be cool

1 Like

I really like this app! Finally I tried it yesterday for a lil bit, I’m still wrapping my head around shortcuts.

I don’t know if it’s a user error, but seems I’m not able to visualize the audio in the screen for slicing duties no more :thinking: that’s happened as soon as I tried to load sounds from folders within Norns (I have to locate samples inside Thirtythree’s folder maybe??)

I’m experiencing few more bugs as well:

  • when I try to load sounds: apparently the name of the sound appears on the screen, but without visual feedback on screen and any actual sound can be heard and if I tweak E2 there is a flickering on screen which goes from the app menu to Norns folders very quickly, so strange…

  • some times the script screen menu becomes completely black and I have to restart.

  • some times fx stop to work properly or completely

Anyone experienced these behaviors?

1 Like

I’ve experienced the black screen bug as well.

2 Likes

I ran into the black screen bug. Something to do with loading files, didn’t experience it with live recording. With live recording I experienced kinda the opposite bug. Recording silence shows all LEDs almost filling this screen.

2 Likes

@lleicamun , @huron , @Clashley1 ,
for the “black screen bug” on loading files - a couple questions:

  • are there any maiden errors printed when you start thirtythree (I wonder if maybe the aubioonsets library is installed)?
  • is it possible to load a file at all?
  • how long is the file that you are loading? (wonder if it its too long > 1 minute)
  • is the file you are loading mono or stereo? (mono might be problematic)
  • any maiden errors present?

any maiden errors for these? also any recognizable reproducible way to get these problems?

this is a cool idea! I don’t have an arc but I’m thinking of borrowing one to play around with adding stuff like this to scripts.

1 Like

Black screen bug here too. Trying to load existing Norns files not over a minute long. It is not possible to load files. Nothing is there after picking the file and going to the sound

1 Like

I don’t think, I didn’t see any error on maiden. I have to retry.

It’s not possible to load a file, no, only file name present, but not sound or waveforms.

The sounds I tried to load were actually very short one shot files for the most part, no luck with no one. They are 99% mono, maybe I tried a few stereo as well, but same story.

About the fx bug, I didn’t understand when it occurs, but I think is a “loading sample” related issue? As the app start acting weird after that process.

Anyway I really like it, never owned a po33, but the workflow it’s really nice and useful for me

1 Like

after loading a file and trying to play it maiden prints - “Renderer: rendering for first time” over and over

One more thing that has come up is that once I did actually manage to load a sample I am unable to trim the start/end points. When I turn encoder 2 it brings up the file load menu.

I also noticed that I the files that I originally were trying to load were copied over to the thirtythree folder. I wonder if files are manually moved there if it will have an easier time loading the files as it groups them with the recorded samples

1 Like

My sample was longer than 1 min. That was definitely my issue a couple of times which led me to a black screen. I was able to load other files. I WAS able to record a fresh drum kit live(16 one shots), and then use ‘load file’ to load that same sound from the thirtythree folder for polyphony.

I’m not gunna lie, when performing fx, sometimes I’ll accidentally touch the bpm button without even realizing it, and boom I’m at 80 bpm. I like the safe guard of having to push the button and turn the knob to change tempo.

A chill mlr and thirtythree jam:

https://drive.google.com/file/d/11kGatfWaLAwk_hbqo7Ey7VgbPnEZkUbE/view?usp=sharing

1 Like

definitely try it out! would make my life easier haha. i’m also noticing that the swing settings don’t save with the current state. it would also be cool to be able to load samples with a shortcut rather than have to go to params menu. other than that, running smooth for me :+1:

**actually, i’m also unable to load files at all. i thought it was working earlier, but maybe i’m just dumb. live input works great

2 Likes

So I found last night that by ssh-ing files into my thirtythree folder it fixed the issues I was having from trying to load from other folders inside of Norns. Hope that helps anyone else that was experiencing my issue.

One thing I’m not getting though is the 10 note polyphony. Each operator chokes the next

1 Like