Yggdrasil [$1 and &&]

a norns cyberdeck tracker

Release Version

Software design by Northern Information
Applied Sciences & Phantasms Working Division
@argotechnica | @infinitedigits | @license | @tyleretters

81 Likes

Nice and nice demo, very soothing.

How did you midi sync the cat though?

1 Like

By using a CAT-5 cable ?

15 Likes

yggdrasil

29 Likes

30 Likes

20 Likes

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, macro, velocity, and phenomenon. 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. Typically, commands will do things like change notes, control playback, or adjust tempo. Yet other commands will let you copy entire tracks, route notes to different MIDI channels, or even create musical patterns.

43 Likes

Is it in maiden? Cannae see it.

1 Like

Not yet, but it will be soon!

1 Like

installing this late tonight to have a go. unbelievably excited by the aesthetic, and I have a very appropriate keyboard for this purpose.

+++ the tiny animation when commands are confirmed

lovely interface design

12 Likes

I don’t know if my brain will take in the information it needs to make Yggdrasil music tonight, but I’m sure going to try. Big thanks for the docs page, this looks deep!

EDIT: got it up and running last night! While I would not call what I was doing music, yggdrasil certainly makes musical gestures attainable with the chord and arp entries.

1 Like

v1.0.0

  • docs link posted above!
  • cover of haddaway’s what is love posted above! more videos to come soon…
  • live in maiden any minute!
  • please share bugs!
16 Likes

hi! can’t wait to try it but so far on my norns shield any attempt to press enter after entering any command on any of my two keyboards results in this in REPL:

lua: /home/we/dust/code/Yggdrasil/lib/runner.lua:13: attempt to call a nil value (global 'debug_interpreter')
stack traceback:
	/home/we/dust/code/Yggdrasil/lib/runner.lua:13: in method 'run'
	/home/we/dust/code/Yggdrasil/lib/buffer.lua:14: in method 'execute'
	/home/we/dust/code/Yggdrasil/lib/keyboard.lua:95: in field 'event'
	/home/we/norns/lua/core/hid.lua:149: in function </home/we/norns/lua/core/hid.lua:139>

and the command is not executed (cursor just stays after the command). keyboards are Apple wired keyboard with numpad and a mechanical 60% that i’m normally using with teletype.

thanks! i tried restarting, cold rebooting, uninstalling / reinstalling etc.
running latest norns software.

1 Like

woah sorry about that. that’s a dev function we had in there for debugging. i just pushed a fix. please update and let me know if that fixes it. (i’m really sorry for the trouble. sloppy qa on my part.)


drop these files into /dust/data/yggdrasil/tracks
load them with 1 load love-lead.txt, 2 load love-bass.txt, 3 load love-saw.txt.

love-bass.txt (164 Bytes) love-lead.txt (239 Bytes) love-saw.txt (304 Bytes)

2 Likes

no worries at all!

now i’m getting this:


  


norns.script.load("code/Yggdrasil/yggdrasil.lua")
# script load: /home/we/dust/code/Yggdrasil/yggdrasil.lua
# cleanup
# script clear
ERROR (i2c/hp) failed to write
including /home/we/dust/code/Yggdrasil/lib/includes.lua
including /home/we/dust/code/Yggdrasil/lib/config.lua
including /home/we/dust/code/Yggdrasil/lib/functions.lua
including /home/we/dust/code/Yggdrasil/lib/parameters.lua
including /home/we/dust/code/Yggdrasil/lib/_midi.lua
including /home/we/dust/code/Yggdrasil/lib/_crow.lua
including /home/we/dust/code/Yggdrasil/lib/ypc.lua
including /home/we/dust/code/Yggdrasil/lib/view.lua
including /home/we/dust/code/Yggdrasil/lib/filesystem.lua
including /home/we/dust/code/Yggdrasil/lib/page.lua
including /home/we/dust/code/Yggdrasil/lib/keyboard.lua
including /home/we/dust/code/Yggdrasil/lib/keys.lua
including /home/we/dust/code/Yggdrasil/lib/buffer.lua
including /home/we/dust/code/Yggdrasil/lib/commands.lua
including /home/we/dust/code/Yggdrasil/lib/runner.lua
including /home/we/dust/code/Yggdrasil/lib/tracker.lua
including /home/we/dust/code/Yggdrasil/lib/music.lua
including /home/we/dust/code/Yggdrasil/lib/synth.lua
including /home/we/dust/code/Yggdrasil/lib/graphics.lua
including /home/we/dust/code/Yggdrasil/lib/Branch.lua
including /home/we/dust/code/Yggdrasil/lib/Command.lua
including /home/we/dust/code/Yggdrasil/lib/Interpreter.lua
including /home/we/dust/code/Yggdrasil/lib/Slot.lua
including /home/we/dust/code/Yggdrasil/lib/Track.lua
including /home/we/dust/code/Yggdrasil/lib/Sample.lua
including /home/we/dust/code/Yggdrasil/lib/Validator.lua
### MISSING INCLUDE: yggdrasil/lib/dev
### SCRIPT ERROR: load fail
/home/we/dust/code/Yggdrasil/lib/includes.lua:48: MISSING INCLUDE: yggdrasil/lib/dev
stack traceback:
	/home/we/norns/lua/core/norns.lua:138: in function </home/we/norns/lua/core/norns.lua:138>
	[C]: in function 'error'
	/home/we/norns/lua/core/startup.lua:48: in function 'include'
	/home/we/dust/code/Yggdrasil/lib/includes.lua:48: in main chunk
	[C]: in function 'dofile'
	/home/we/norns/lua/core/startup.lua:42: in function 'include'
	/home/we/dust/code/Yggdrasil/yggdrasil.lua:8: in main chunk
	[C]: in function 'dofile'
	/home/we/norns/lua/core/script.lua:172: in function </home/we/norns/lua/core/script.lua:172>
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:139: in field 'try'
	/home/we/norns/lua/core/script.lua:172: in function 'core/script.load'
	(...tail calls...)
# script clear
ERROR (i2c/hp) failed to write
<ok>
clock: ignoring resumption of canceled clock (no coroutine)

and ‘error: load fail’ on norns display

(lib/dev.lua is present)

very odd. i just pushed another fix.

also, what version of norns are you running?

2 Likes

Thanks! That just fixed it for me as well. I’m on the 10/29 update using a Norns Shield.

That was a hell of a bootup screen. Looking forward to diving into this later in the week.

4 Likes

and it works now! thanks!
latest version of norns (shield).

1 Like

report back!! i want to hear what you make!!