/blog

A PO-33 clone for norns

An attempt to create a fully functional PO-33 in the norns with the 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:

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

layouts

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

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.

 / #music #portfolio #norns 

Made by Zack, filed in Blog. 2019.