Code Monkey home page Code Monkey logo

eggs's Introduction

eggs

is an egg a type of seed?

a multi-track gesture sequencer for norns, grid, crow, midi, and internal sounds. four tracks of manual, droning, or arquenced pitch, many tunings, midi & internal sounds, just friends communication & dual pitch + function generators for crow

a spiritual successor to synecdoche

TL;DR

it's earthsea, but with four tracks + a lot of connectivity & tuning options. but also it's my own take on things & it doesn't do one of the main things earthsea does. there's a sequencer inspired by cheat codes which isn't a sequencer. there's a latched drone recall instrument. it's a seed. so read on ! (or not)

hardware

required

also supported

install

in the maiden REPL, type:

;install https://github.com/andr-ew/eggs/releases/download/latest/complete-source-code.zip

grid UI

yea I was supposed to update this diagram but here we are. track focus is on the right side and everything else on the top two rows is shifted to the left. but that's only true for 128 grid users. yea that's real confusing

diagram of the grid interface. text description forthcoming diagram of the 64 grid interface. text description forthcoming

track focus: selects tracks 1-4. by default, tracks are mapped as follows:

engine just friends
crow 1 + 2 crow 3 + 4

each track can also be assigned to midi or nb under PARAMS > destination

keymap: grid keyboard, like earthsea. like you play the keys and it plays notes. edit the tuning using scale & key

latch: make it drone

arquencer: the arquencer is a mix between an arpeggiator & a sequencer. here are some ways to interact with it:

  • hold & release multiple keys: creates a new arq (clears any previous keys). notes are played in the order they are pressed, including double-presses on the same key.
  • single tap
    • (blank key): insert a note at the current point in the arquence
    • (active key): mute gate at note
  • double tap: add repeat to note
  • hold single key:
    • (repeated key): remove repeat
    • (active key): remove note

scroll columns: transpose up or down one degree within the current scale. this shifts your view of the keyboard left or right.

scroll rows: transpose up or down based on the row tuning interval. this shifts your view of the keyboard up or down.

slew/pulse:

  • crow output only: hold to enable pitch slew. 8 keys to the right select slew time
  • when the arquencer is active, all modes: pulse to the next step in the sequence. modulate this with crow to drive the sequence with an LFO/clock
  • all other outputs, non-arquencer: do nothing

pattern slots: slots for recording input sequences on the keymap. they aren't synced, sorry. use them like this:

  • single tap
    • (blank pattern): begin recording
    • (recording pattern): end recording, begin looping
    • (playing pattern): play/pause playback. only one slot is active at a time
  • double tap: overdub pattern
  • hold: clear pattern

snapshots: snapshots to store & recall chords or arquences. use them like this:

  • double tap: write to slot
  • single tap read from slot
  • hold: clear slot (latch & arquence only)

reverse & rate: set the direction & playback rate of the current pattern or arquence.

loop: enable looping of the pattern/arquence

scale: hold to edit the scale & other stuff

key: hold to edit the key / tonic

norns UI

view: normal

  • track 1: midi
    • E1: midi destination
    • E2-E3: macro
    • K2-K3: macro focus
  • track 2: jf
    • E1: shift (linear pitch offset, map for vibrato)
    • E2: note level
    • E3: run voltage
    • K2: synth mode. hold: run mode
    • K3: panic. hold: god mode
  • tracks 3 + 4: crow
    • E1: function generator - time
    • E2: function generator - shape
    • E3: function generator - ramp
    • K2: function generator - transient/sustain/cycle. hold: retrigger
    • K3: function generator - trigger. hold: trigger patching on/off
  • K1 (hold): set mod source

view: scale

  • E1: scale
  • E2: row tuning
  • K2-3: fret marks

view: key

  • E1: tuning system
  • E2: base key

modulation

most params visible on norns or grid can be mapped to one of 4 modulation sources:

  • crow input 1
  • crow input 2
  • crow output 1 (track 3 cv)
  • crow output 2 (track 3 gate)

to map an on-screen param, just hold K1 and turn the encoder or press the key of the associated param. to map a param on the grid, hold K1 and tap any of the keys associated with that param

engines

each engine track is routed to a single supercollider engine running on norns itself. there are a number of engines to choose from via the engine param:

after selecting an engine & exiting the params menu, you'll be prompted to restart the script by pressing K3

if there's an engine you'd like to use with eggs that's not included in this list, I've written some instructions on how to add one.

macros

on engine & nb tracks, there are 3 pages of macros. these macros can be assigned to address any param found in the selected engine voice. configuration is found under PARAMS > engine/nb > track options > macros.

on a midi track, there are 3 pages of outgoing midi cc controls, each of which can be configured to output cc # 0-127 under PARAMS > midi > track options > midi CCs

eggs's People

Contributors

andr-ew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

eggs's Issues

some pattern_time instaces are broken as the 20 metro cap is exceeded

2 options:
1. just straight up use less than 20 patterns. it's not really neccesary to have separate patterns for manual/arq as long as it fails gracefully when switching modes and re-playing. there can also just be 2 aux patterns total rather than 2 per-track, i think thats fine

no, I think all I need to do is refactor pattern_time so that it only takes up a metro when the pattern is playing. so errors only occur when 20 patterns are all playing at the same time, which actually can't happen in eggs

eggs crash on startup with crow connected

consistently having the script freeze on running it with crow connected to norns. i guess its not frozen because if i click on a note it will send out the note about 30-50 seconds after pressed. it seems to work if i load the script first then connect the crow to the norns.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.