Yggdrasil

a norns cyberdeck tracker


Direct Download   or 

Setup

Install and restart norns.

Plug in a US-ANSI keyboard.

You're ready.

norns

Abstract

Yggdrasil is a norns cyberdeck tracker — an instrument designed to be performed with a keyboard only. "Slots" are the nucleic acids of Yggdrasil, while "commands" and "interactions" are the twin helixes of the human-machine interface. Toggling Y Mode remaps the alpha-numerics, unlocking expressive performance gestures. Capital letters are not used and modifier keys only sparingly. Where other languages use may use commas or parenthesis, Yggdrasil favors the ; character for its position under the little finger: economic, ergonomic, exegesis.

Neurotically focused on their endless descent, slots are stacked into tracks of different heights, like so many stalactites reaching into the terminal darkness below. Slots can contain up to one each of: note, sample, velocity, and phenomenon. Slots contain two "macro control" values that range from 0 - 99. Phenomena allow for exotic events such as randomizers, "goto" events, and directional toggles.

Commands are built from the letters, numbers, and symbols that appear in the terminal as you type. Commands let you do things like create musical patterns, change notes, control playback, adjust tempo, and route tracks to different MIDI channels.

Commands that start with two numbers operate on a single slot.

Commands that start with one number operate on an entire track.

Commands that do not start with a number operate across all tracks.

Signatures Examples
X Y COMMAND;VALUE 2 4 arp;2
X COMMAND;VALUE 1 arp;2
COMMAND;VALUE unmute

These leading numbers correspond to X and Y coordinates, respectively. Most commands have both verbose and terse invocations. For example arpeggios can be invoked not only with arpeggio but also with arp and a. All commands are executed with the / return / enter key.

Interactions are simply "everything else" you do with the keyboard; our silent movements through Yggdrasil's data streams. While some interactions technically manipulate sound under certain conditions (such as mod + backspace to clear a selected slot), most are simply affordances for navigation — things like toggling views, dismissing messages, or paging through through command history. ctrl, alt, opt, and cmd are functionally identical and collectively referred to as mod.

Let's go.

Yggdrasil Tracker Yggdrasil Mixer Yggdrasil Clades Tracker Planes

Musical Commands

Note

Set a slot’s MIDI value. Accepts YGG notation.

Signatures

X Y MIDI_NOTE

X Y YGG_NOTE

Examples

4 3 72

4 3 c5

Velocity

Set a slot’s velocity value. Unlike most other systems, velocity is mixed with track level to produce a final result. For example, a slot with a velocity of 70 on a track with a level of 50% would produce a final velocity of 35. The exception to this rule is the crow clade, which can use neither velocity nor track level information.

Signatures

X Y velocity;VALUE

X Y vel;VALUE

X vel;40

Examples

4 3 velocity;127

4 3 vel;127

1 vel;40

Invocations

  • velocity
  • vel

Chord

Paint a chord horizontally starting from X Y. Automatically append tracks and rows if needed. Any size chord can be built. An extensive chord library available or precision chords can be entered with MIDI values. Chords default to octave 4. Append a semicolon followed by an integer to set an octave: 1 1 c;cmin;6

Signatures

X Y chord;CHORD;OCTAVE

X Y c;CHORD

X Y c;MIDI_NOTE;MIDI_NOTE;…

Examples

1 1 chord;cmaj

1 1 c;cmaj;6

1 1 c;bmaj

1 1 chord;60;63;65

1 1 c;60;63;65;72;75

Invocations

  • chord
  • c

Shift

Shift down (or up; value can be negative) a track’s slots by a value. Slots wrap.

Signature

X shift;VALUE

Examples

1 shift;3

2 s;-5

Invocations

  • shift
  • s

Arpeggio

Arpeggiate the entire track X starting at Y with evenly-spaced notes. If Y is absent, start at 1. Default VALUE of spacing is 0. If multiple MIDI_NOTES are used, loop through the notes indefinitely. Arpeggiate indefinitely through any of the chords.

Signatures

X Y arp CHORD

X Y arp;VALUE CHORD

X arp;VALUE CHORD

X Y arp MIDI_NOTE;…

X a CHORD

Examples

1 arp;4 bmin

1 3 arp;4 7sus4b9b13

1 3 arp;2 60

1 3 arp;2 60;63;65

1 a 60;63;65

Invocations

  • arpeggio
  • arp
  • a

Transpose Slot

Transpose a slot up or down by semitones. Value can be negative.

Signature

X Y t;VALUE

Examples

1 1 transpose;8

1 3 t;-3

Invocations

  • transpose
  • trans
  • t

Clock

Set the “clock” value for a track. Default is 1. Max is 2. Tracks have independent clock sync rates.

Yggdrasil uses 96 PPQN, so any value entered will be snapped to the nearest pulse.

Signature

X clock;VALUE

Examples

1 clock;.5

1 clock;.125

1 clock;2

1 clock;13.53

Invocation

  • clock

Sync

Synchornize Y playback positions across all tracks.

Signatures

sync

sync;VALUE

Examples

sync

sync;3

sync;0

Invocation

  • sync

@

Lacuna  PHENOMENON

Slot a “lacuna” phenomenon. Lacuna first disables the current track, then enables and queues any other track. The net effect is a clean handoff of one track to another.

Lacunae honor ascending and descending tracks (it is smart enough to start at the top or bottom of a track) but lacunae do not effect solo and mute attributes. Thus, it is possible to queue and and play muted track. This is a feature, not a bug.

Signature

X Y @4

Example

1 8 @3

Invocation

  • @

x

End  PHENOMENON

Slot an “end” phenomenon. This causes playback to wrap back to the top of the track.

Signature

X Y end

Examples

1 5 end

2 4 x

Invocations

  • end
  • x

o

Off  PHENOMENON

Slot an “off” phenomenon. This causes MIDI note off signals to be sent to all notes that are currently on. (It does not send note off signals to notes that are not on.)

Signature

X Y off

Examples

1 5 off

2 4 o

Invocations

  • off
  • o

?

Random  PHENOMENON

Slot a “random” phenomenon. This causes playback to jump to a random slot in the track.

Signature

X Y random

Example

1 5 random

Invocations

  • random
  • ?

!

Lucky  PHENOMENON

Slot a “lucky” phenomenon. This causes playback to jump to a random, not-empty slot in the track.

Signature

X Y lucky

Examples

1 5 lucky

2 4 !

Invocations

  • lucky
  • !

Reverse  PHENOMENON

Slot a “reverse” phenomenon. This causes track playback to reverse direction.

Signature

X Y reverse

Example

1 5 reverse

Invocations

  • reverse
  • rev

#

Anchor  PHENOMENON

Slot an “anchor” phenomenon. This causes playback to jump to a specific slot in the track. If the slot is invalid then advance as if the slot was empty. History.

Signature

X Y #VALUE

Example

1 5 #8

Invocation

  • #

<>

Shift  PHENOMENON

Slot a “shift” phenomenon. This causes the entire track to shift up or down.

Signatures

X Y <VALUE

X Y >VALUE

Examples

1 5 >8

1 5 <3

Invocations

  • <
  • >

Ruin  PHENOMENON

Slot a “ruin” phenomenon. This randomly removes a slot from the track.

Signature

X Y ruin

Example

1 5 ruin

Invocation

  • ruin

Core Commands

Select

Select a slot, track, or range of tracks.

Signatures

X Y

X

X1;X2

Examples

7 8

2

1;4

Play / Stop

Start and stop playback on individual or all tracks. Playback on all can also be toggled with spacebar (when the buffer is empty) and norns button 2.

Signatures

1 play

2 stop

play

stop

Invocations

  • play
  • start
  • stop

Ascend / Descend

Set the direction of one or all tracks.

Signatures

X ascend

ascend

X descend

descend

Examples

1 ascend

1 asc

descend

Invocations

  • ascend
  • asc
  • descend
  • des

BPM

Set the BPM to a value.

Signature

bpm;VALUE

Example

bpm;149.3

Track Depth

Set the depth of a track.

Signature

X depth;VALUE

Example

1 depth;8

Invocations

  • depth
  • d

Append

Insert a number of tracks after track X. Optionally, have each shadow track X.

Signatures

X append;VALUE

X ap;VALUE

X append;VALUE shadow

X ap;VALUE sha

Examples

1 append;3

1 ap;15

1 ap;3 shadow

Invocations

  • append
  • ap

Arguments

  • shadow
  • sha

Remove

Remove a track or slot. Tracks slide left. Slots slide up.

Signatures

X Y remove

X remove

Examples

1 remove

1 2 rm

Invocations

  • remove
  • rm

K3

norns key 3 is assignable to any command. Invoke with k3 = followed by any command string. K3 is now assigned to this command.

Signature

k3 = ANY_COMMAND

Examples

k3 = 1 arp;2 60;63;65

k3 = stop

k3 = follow

k3 = unmute

Clear

Clear all slots and tracks. Turn off track mutes and solos. Reset track levels. Preserve track count, depths, clades, and shadows. Preserve command history.

Signature

clear

New

Like clear but also resets track count, depth, clades, and shadows to defaults.

Signature

new

Save / Load

Save or load ygg data from a file in /dust/data/yggdrasil/tracks. Only note information is saved (YPC, phenomenon, velocity, etc. is omitted.)

Signatures

1 save what-is-love.txt

2 load what-is-love.txt

Routine

Run arbitrary routines in /dust/data/yggdrasil/routines/.

Routines are composed of any number of valid commands.

Each command goes on a new line.

Signatures

routine;FILENAME

r;FILENAME

Examples

routine;dreams.txt

r;death.txt

Invocations

  • routine
  • r

Mixer Commands

Level

Set the level of a track. Valid levels are 0% to 100%. Levels are linear.

Unlike most other systems, velocity is mixed with track level to produce a final result. For example, a slot with a velocity of 70 on a track with a level of 50% would produce a final velocity of 35. The exception to this rule is the crow clade, which can use neither velocity nor track level information. See Y Mode interactions, too.

Signatures

X level;VALUE

X l;VALUE

Examples

3 level;88

1 l;30

Invocations

  • level
  • l

Mute / Unmute

Mute or unmute a track. Invoking without X will operate on all tracks.

Signatures

X mute

X unmute

mute

unmute

Examples

3 mute

1 unmute

mute

Solo / Unsolo

Solo or unsolo a track. Invoking without X will operate on all tracks.

Signatures

X solo

X unsolo

solo

unsolo

Examples

3 solo

2 unsolo

solo

Enable / Disable

Enable or disable a track. Disabled tracks stop playing. Invoking without X will operate on all tracks.

Signatures

X enable

X disable

enable

disable

Examples

3 enable

1 disable

enable

Clade

Set the “clade” of a track. Clades are synth, midi, ypc (sampler/softcut), and crow.

Signature

X clade;VALUE

Example

1 clade;midi

Invocation

  • clade

Arguments

  • synth
  • midi
  • ypc
  • crow

Synth

Set the track’s synth voice with synth;voice;.... Use either name (rikki) or their number (2). The Yggdrasil synth has three different polyphonic voices. You can use all three at once, across any number of tracks.

Set the macro control levels with synth;m1;... and synth;m2;.... You can use this command with X to set entire tracks or X Y to set individualslots.

Use synth;enc to toggle takeover mode for macro controls with norns encoders 2 and 3.

# Name Description
1 PPM The norns classic, with parameters pared down to the basics.
2 Rikki All edges, angular digital angst. Fuzzy nudges through shimmering waves of banshee cries through broken glass.
3 Toast Minimal FM. Tentative pings to warbly nostalgia to toxic swells.

Signatures

X synth;v;VALUE

X synth;voice;VALUE

X synth;m1;VALUE

X synth;m2;VALUE

synth;enc

Examples

1 synth;v;2

1 synth;v;toast

1 synth;m1;99

synth;enc

Invocation

  • synth

Arguments

  • voice
  • v
  • m1
  • m2
  • enc

MIDI

Set the MIDI device and channel of a track.

Signatures

X midi;d;VALUE

X midi;device;VALUE

X midi;c;VALUE

X midi;channel;VALUE

Examples

1 midi;d;2

1 midi;channel;16

Invocation

  • midi

Arguments

  • device
  • d
  • channel
  • c

YPC

Set a global sample bank and load samples into tracks and slots. Yggdrasil can access one bank at a time, but a bank can contain any number of samples. Slots contain can contain up to one sample, but tracks can contain any number of slots (each with unique samples.) “Banks” located at /dust/audio/yggdrasil/banks/.

Yggdrasil ships with a default factory bank.

If a filename has frequency information at the end, like your_sample_name_440hz.wav, Yggdrasil will repitch intelligently. If the filename does not have frequency information at the end, a default of 440hz will be used. Once a sample is loaded into a slot, a note value also needs to be set. A common technique is to use x ypc;l;your_sample_name_440hz.wav and then use x arp.

Signatures

X Y ypc;load;VALUE

X Y ypc;l;VALUE

X ypc;load;VALUE

X ypc;l;VALUE

ypc;bank;VALUE

ypc;b;VALUE

Examples

1 1 ypc;load;909kick.wav

1 ypc;l;909hat.wav

ypc;bank;909

Invocation

  • ypc

Arguments

  • load
  • l
  • bank
  • b

Crow

Set the crows output pair. A value of 1 maps to output pair 1/2. A value of 2 maps to output pair 3/4.

Turn on and off Just Friends mode with X crow;jf;on.

Signatures

X crow;pair;VALUE

X crow;jf;VALUE

Examples

1 crow;pair;1

1 crow;p;2

1 crow;jf;on

Invocation

  • crow

Arguments

  • crow
  • jf

Shadow / Unshadow

Set a track to “shadow” another’s clade and clade attributes. For example, let Track 1 be a MIDI clade set to channel 16 and device 4. By invoking 2 shadow;1, Track 2 would shadow Track 1. Its clade would be set to MIDI, its channel to 16, and device to 4. Should any of these attributes on Track 1 change, they would also change on Track 2.

Shadowed attributes are: clade, synth voice, MIDI channel, MIDI device, crow pair, Just Friends mode. Tracks can shadow other shadowed tracks.

Signatures

X shadow;VALUE

X sha;VALUE

X unshadow

unshadow

unsha

Examples

1 shadow;3

2 sha;off

unshadow

Invocations

  • shadow
  • sha
  • unshadow
  • unsha

View Commands

View

Possible values for slot views are midi, ygg, freq, and ipn. Toggle velocity with velocity/vel/v. Reveal the heads up display with column and row numbers with hud/h.

Similarly, reveal or hide phenomenon with phenomenon/p. Reveal or hide macros with m1 and m2. index is also available to reveal the slot’s logical position. Change pages with tracker/t, mixer/m, and clades/c (this can also be accomplished with tab).

View current sample bank with bank/b. Toggle sample names with ypc/y.

Signatures

view;VALUE

v;VALUE

Examples

view;ipn

view;freq

v;midi

v;m1

v;mixer

Invocations

  • view
  • v

Arguments

  • midi
  • ipn
  • ygg
  • freq
  • velocity
  • vel
  • v
  • index
  • phenomenon
  • p
  • m1
  • m2
  • tracker
  • t
  • hud
  • h
  • mixer
  • m
  • clades
  • c
  • bank
  • b
  • ypc
  • y

Jump

Jump to row Y.

Signature

:Y

Examples

:4

:15

Invocation

  • :

Follow

Toggle following the tracker on or off. Follows the lowest and right-most slot.

Signature

follow


Utility Commands

Panic

Turn off all MIDI notes on all channels on all devices. Send kill signals to the SuperCollider synth.

Signature

panic

Y Mode

Toggle Y Mode on. (This is to support keyboards that do not have caps lock.)

Signature

ymode

Oblique

Draw an oblique strategy.

Signature

oblique

Screenshot

Take a screenshot and drop it in /dust. See this for more info.

Signature

screenshot

Rerun

Calls norns.script.load(norns.state.script), reruning the script.

Signature

rerun

Info

View Yggdrasil version information.

Signatures

info

version

Exit

Exit Yggdrasil without saving and return to norns system menu.

Signatures

exit

ragequit


Interactions

Eternal Interactions

Cycle Pages

tab

Cycle through views: tracker, tracker + HUD, mixer, clades.

Delete

mod + backspace / delete

Delete all values from the selected slot or column.

Select

/ return / enter

When the buffer is empty, select the focused slot, control, or option.

Dismiss / Deselect

esc

The escape key dismisses messages. If no message exists it deselects.

Y Mode Toggle

caps lock

Toggle Y Mode on and off.

History

and

Press the up and down keys to page through command history. Note you can recall and run commands with this even in Y Mode.

Toggle Playback

spacebar

Start or stop playback. No commands start with an empty space so it will only execute when the buffer is empty.

Word Jump

mod + /

Jump to the beginning of the next (or end of previous) word.

Y Mode Interactions

Level

[ and ]

Decrement and increment all selected track levels by 1% with the left and right brackets. If shift is held they are adjusted by 10%.

Select Track

10

Select tracks 1 through 10 with the number keys. Hold shift and then press another number to select a range of tracks.

HJKL Focus

h j k l

h, j, k, or l to pan the tracker view and change focus. This can also be accomplished with norns encoders 2 and 3. History.

Mute / Unmute

a and q

Mute selected track(s) with a. Unmute selected track(s) with q.

Solo / Unsolo

s and w

Solo selected track(s) with s. Unsolo selected track(s) with w.

Enable / Disabled

e and d

Enable selected track(s) with e. Disable selected track(s) with d.


Digest

Commands

Anchor

X Y #VALUE

1 5 #8

Append

X append;VALUE

1 append;3

Arpeggio

X Y arp CHORD

1 arp;4 bmin

Ascend / Descend

X ascend

1 ascend

BPM

bpm;VALUE

bpm;149.3

Chord

X Y chord;CHORD;OCTAVE

1 1 chord;cmaj

Clade

X clade;VALUE

1 clade;midi

Clear

clear

Clock

X clock;VALUE

1 clock;.5

Crow

X crow;pair;VALUE

1 crow;pair;1

Enable / Disable

X enable

3 enable

End

X Y end

1 5 end

Exit

exit

Follow

follow

Info

info

Jump

:Y

:4

K3

k3 = ANY_COMMAND

k3 = 1 arp;2 60;63;65

Lacuna

X Y @4

1 8 @3

Level

X level;VALUE

3 level;88

Lucky

X Y lucky

1 5 lucky

MIDI

X midi;d;VALUE

1 midi;d;2

Mute / Unmute

X mute

3 mute

New

new

Note

X Y MIDI_NOTE

4 3 72

Oblique

oblique

Off

X Y off

1 5 off

Panic

panic

Play / Stop

1 play

Random

X Y random

1 5 random

Remove

X Y remove

1 remove

Rerun

rerun

Reverse

X Y reverse

1 5 reverse

Routine

routine;FILENAME

routine;dreams.txt

Ruin

X Y ruin

1 5 ruin

Save / Load

1 save what-is-love.txt

Screenshot

screenshot

Select

X Y

7 8

Shadow / Unshadow

X shadow;VALUE

1 shadow;3

Shift

X shift;VALUE

1 shift;3

Shift (Phenomenon)

X Y <VALUE

1 5 >8

Solo / Unsolo

X solo

3 solo

Sync

sync

sync

Synth

X synth;v;VALUE

1 synth;v;2

Track Depth

X depth;VALUE

1 depth;8

Transpose Slot

X Y t;VALUE

1 1 transpose;8

Velocity

X Y velocity;VALUE

4 3 velocity;127

View

view;VALUE

view;ipn

Y Mode

ymode

YPC

X Y ypc;load;VALUE

1 1 ypc;load;909kick.wav

Interactions

Cycle Pages

tab

Eternal
Delete

mod + backspace / delete

Eternal
Dismiss / Deselect

esc

Eternal
Enable / Disabled

e and d

Y
HJKL Focus

h j k l

Y
History

and

Eternal
Level

[ and ]

Y
Mute / Unmute

a and q

Y
Select

/ return / enter

Eternal
Select Track

10

Y
Solo / Unsolo

s and w

Y
Toggle Playback

spacebar

Eternal
Word Jump

mod + /

Eternal
Y Mode Toggle

caps lock

Eternal

ChordsDetails


 Each chord must also be prefixed with a note: c, cs, d, ds, e, f, fs, g, gs, a, as, or b. Enharmonics are also valid: cb, db, eb, fb, gb, ab, or bb.

  • maj
  • major
  • maj7
  • ma7
  • maj9
  • maj13
  • sixth
  • 6
  • add6
  • add13
  • 69
  • maj7b6
  • majs4
  • minor
  • m
  • min
  • m7
  • min7
  • mi7
  • -7
  • maj7
  • majmaj7
  • m6
  • -6
  • m9
  • -9
  • minmaj9
  • m11
  • -11
  • m13
  • -13
  • diminished
  • dim
  • dim7
  • m7b5
  • -7b5
  • h7
  • h
  • 7
  • dom
  • 9
  • 3
  • 7s11
  • 7b9
  • 7s9
  • altered
  • alt7
  • sus4
  • sus
  • sus2
  • 7sus4
  • 7sus
  • eleventh
  • 11
  • b9sus
  • phryg
  • 7b9sus
  • 7b9sus4
  • fifth
  • 5
  • augmented
  • aug
  • ms5
  • maj75
  • maj9s11
  • sus24
  • sus4add9
  • maj9s5
  • 7aug
  • aug7
  • 7alt
  • 9s5
  • 9s5s11
  • 7s5b9
  • 7b9s5
  • 9s5s11
  • 7s5b9
  • 7b9s5
  • 7s5b9s11
  • padds9
  • ms5add9
  • padd9
  • 6s11
  • 6b5
  • maj7add13
  • 69s11
  • m69
  • -69
  • 7b6
  • maj7s9s11
  • maj13s11
  • maj7b9
  • 7s11b13
  • 7b5b13
  • 7add6
  • 67
  • 7add13
  • 7s9s11
  • 7b5s9
  • 7s9b5
  • 13s9s11
  • 7s9s11b13
  • 13s9
  • 7s9b13
  • 9s11
  • 9s4
  • 13s11
  • 13s4
  • 9s11b13
  • 9b5b13
  • 7b9s11
  • 7b5b9
  • 7b9b5
  • 13b9s11
  • 7b9b13s11
  • 7b9s11b13
  • 7b5b9b13
  • 13b9
  • 7b9b13
  • 7b9s9
  • 2
  • add9
  • add2
  • majaddb9
  • majb5
  • 13b5
  • maj7b5
  • maj9b5
  • 7b5
  • 9b5
  • 7no5
  • 7b13
  • 9no5
  • 13no5
  • 9b13
  • madd4
  • mmaj7b6
  • mmaj9b6
  • m7add11
  • m7add4
  • madd9
  • o7maj7
  • omaj7
  • mb6maj7
  • m7s5
  • m9s5
  • m11A
  • mb6b9
  • m9b5
  • maj7s5sus4
  • maj9s5sus4
  • 7s5sus4
  • maj7sus4
  • maj9sus4
  • 9sus4
  • 9sus
  • 13sus4
  • 13sus
  • 7sus4b9b13
  • 7b9b13sus4
  • 4
  • quartal
  • 11b9

Glossary

Clade

The taxonomic principal organizing tracks into one of: synth, MIDI, YPC, or crow.

Phenomenon

An event, action, or piece of logic associated with a slot. Slots can contain up to one phenomenon.

Y Mode

When toggled on, alpha-numeric character input to the buffer is broken and keys take on new functionality. This behavior is comparable to to vim’s normal/default mode.

YGG Notation

YGG notation is like IPN but faster to type - there are no capitals and the # sign is replaced with s. So C#4 becomes cs4. Yggdrasil saves data in YGG. YGG is also an acceptable input format for any note command.

YPC

“Yggdrasil Production Center” - the sampler/softcut system for Yggdrasil. History. The YPC uses an intelligent “first in, first out, round robin” algorithm to play samples. Softcut (the internal sampler engine in norns) has six voices, so if Yggdrasil is instructed to play 7 samples at once, only the first 6 will fire. Once the first sample is complete, another sample will be available. The YPC can support any number of banks, each with any number of samples. YPC can intelligently repitch samples.


Changelog

v1.0.18
  • FIX Crow gates work again.
v1.0.17
  • FIX Update for norns 210114.
  • DEV Remove unneeded clock.cancel() calls in cleanup().
v1.0.16
  • FIX Copy and paste slots works again.
  • FIX Copy and paste tracks works again.
  • FIX Copy and paste samples works again.
  • FIX Lucky phenomenon are no longer unlucky.
v1.0.15
  • NEW Use the lacuna @ phenomenon to first disable the current track, then enable and queue any other track. The net effect is a clean handoff of one track to another. Lacunae honor ascending and descending tracks (it is smart enough to start at the top or bottom of a track) but lacunae do not effect solo and mute attributes. Thus, it is possible to queue and and play muted track. This is a feature, not a bug.
  • FIX Any command specifically targeting a slot deeper than the track will automatically fill the track to that depth.
  • FIX K3 assignment works again.
  • FIX Copy and paste tracks works again.
  • DEV Complete overhaul of the clock architecture to use 96 PPQN. clock commands remain the same.
v1.0.14
  • NEW Select samples in editor without typing them. (!)
  • NEW Edit macros in the editor.
  • NEW “Off” phenomenon to send MIDI off signals to all notes on the track.
  • NEW View macros with v;m1 and v;m2.
  • NEW Toggle synth encoder override while in Y Mode with p.
  • NEW Execute arbitrary routines with routine;anthropocene.txt.
  • CHANGE After committing values in the editor, the last selected field remains selected.
  • DEV Refactor commands to each use individual files.
v1.0.13
  • NEW Long messages scroll back and forth.
  • NEW Long text entries in the terminal and editor scroll.
  • NEW Jump to the beginning of the next (or end of previous) word with mod + left and right arrows.
  • CHANGE Press enter to dismiss the editor when there are no changes.
v1.0.12
  • NEW Define your own variables with $1 = anything.
  • NEW Chain commands together with &&.
  • NEW Automatically execute commands on startup with the routines/startup.txt file.
v1.0.11
  • NEW Cut, copy, and paste with mod + x, c, and v.
  • CHANGE ctrl, alt, opt, and cmd have identical behavior. Collectively these are now simply: mod (modify).
  • CHANGE Focus with mod + arrow keys. Use shift to move in increments of 10.
  • CHANGE Use shift to move in increments of 10 with Y Mode h, j, k, and l.
  • CHANGE Remove adaptive increment/decrement controls.
  • CHANGE Synth macros are invoked with m instead of c.
  • FIX Cursor appears in the editor field in Y Mode.
v1.0.10
  • NEW Editor.
  • FIX Prevent registering MIDI note before killing.
  • FIX Overhaul of shadow architecture.
v1.0.9
  • FIX Do crows eat bugs?
v1.0.8
  • NEW Parameter to set default row/column numbers (the “hud”) state.
  • NEW Add documentation for how to set octave when invoking chords.
  • FIX YPC only recognizes frequencies in sample names if the string “hz” is appended after the number.
  • FIX Add missing enharmonics.
v1.0.7
v1.0.6
  • NEW Add “Toasty” synth. See more info here.
  • NEW Add ymode command. This toggles it on. Pressing Y in Y Mode will toggle Y Mode off.
  • FIX Lucky bug.
  • FIX cb -> b.
v1.0.5
  • NEW Ygg notation supports enharmonics. gs4 = ab4.
  • NEW Add version as alias for info.
  • NEW Add vim-style jump command: :Y
  • FIX bpm;120 works instead of bpm 120.
  • FIX 1 ascend & 1 descend works as documented.
v1.0.4
  • ADD Adjust track levels with left and right bracket keys.
v1.0.3
  • FIX Issue with track selection.
  • FIX Save honors empty slots.
v1.0.2
  • FIX Continued dev artifact cleanup.
v1.0.1
  • FIX Dev artifact cleanup.
v1.0.0
  • NEW Initial release.

Learn

Editor


  • When the buffer is empty, pressing enter activates the editor.
  • Pressing esc aborts.
  • and move the text cursor.
  • tab and tab + shift cycle through the attributes.
  • and also cycle through the attributes.
  • mod + arrows aborts and moves to adjacent slot.
  • Pressing enter at any time commits all valid values.
  • Pressing enter will do nothing if invalid values are present.
  • Pressing enter will close the editor if all values are unchanged.
  • Pressing enter on the YPC field will open a sample selector window. Pressing esc will abandon the window without any updates. Pressing enter on a new sample will commit the new sample along with other values in the editor.
  • Entries are validated in real-time. Invalid submissions are not allowed.
  • Empty notes and values are valid - it is the same as deleting.
  • YGG and MIDI values update each other.
  • Spacebar is disabled when the editor is open.
  • E1 aborts current edits and selects next not empty slot.
  • E2 and E3 still pan X and Y as normal.

Tracker Planes


Imagine the tracker with five planes: notes, samples, macros, velocities, and phenomena. With the view command you can toggle each plane on and off.

  • Note: stores note data. This can be viewed as IPN, YGG, MIDI, or frequency.
  • YPC: stores samples name.
  • Macro: stores “macro controls” of the synth. Each synth voice has two macro controls with values that range from 0 - 99.
  • Velocity: stores velocity data.
  • Phenomena: stores up to one phenomenon.

Focus, Select & Clear


Use mod + , , , and to to change focus. Press to select and backspace / delete to clear. Use shift to move in increments of 10. Note , backspace, and shift are also Y Mode interactions.

Y Mode Focus, Select & Clear


While in Y Mode, use h, j, k, and l to to change focus. Press to select and backspace / delete to clear. Use shift to move in increments of 10. Note , backspace, and shift are also eternal interactions.

Assignments and &&


You can assign any arbitrary text to variables. This text can be a fully valid command or a mere fragment… Perhaps a motif like 60;62;65?

Valid variables are constructed with the dollar sign ($) followed by a positive integer.

Once assigned, any command containing these will “expand” the first time you press .

Chain commands together for rapid execution with &&.

startup.txt


Automatically execute any number of commands on startup by placing a file at /dust/data/yggdrasil/routines/startup.txt. Each command goes on a new line.

Level


While in Y Mode, increment and decrement selected track levels by 1% with [ and ]. Hold shift to increment by 10%.

Select Track(s)


While in Y Mode, the number keys instantly select the corresponding track. With a track selected, hold shift and press another number to select a range of tracks.

Mixer


While in Y Mode, use q, w, and e to unmute, unsolo, and enable selected tracks respectively. Use a, s, and d to mute, solo, and disable tracks respectively. Remember: s olo, e nable, d isable!

Modifier Keys


ctrl, alt, opt, and cmd and all do the same thing. Collectively, these keys are simply mod. Let there be peace among the kingdoms.

Clear Values


With slots or tracks selected, hold mod and press backspace / delete to clear all values.

Cut, Copy & Paste


Cut, copy, and paste selected tracks and slots. It works just like your favorite spreadsheet program. Cutting and copying entire tracks will also pickup track attributes such as level, clade, direction, and so on. Interactions are the same in Y Mode.

Y Mode Off


Toggle Y Mode off the Y key. (This is to support keyboards that do not have caps lock.)

Switch Pages


Switch pages with tab. The pages are Tracker, Mixer, and Clades.

Toggle Encoder Manual Override


Toggle the synth;enc manual override controls with p.

Think “p” for potentiometer.

Control via REPL


In the REPL, you can execute any Yggdrasil commands with cmd("YOUR COMMAND STRING").

Toggle Y Mode


Toggle Y Mode on and off with caps lock.


Philosophy

What miracle is this? This giant tree. It stands ten thousand feet high But doesn't reach the ground. Still it stands. Its roots must hold the sky.