yes, i understand the challenge and getting the right balance. I think point i was trying to make is a lot of that code is already available in Takt and NISP scripts and i think it could help. Even some aspects of Orca with it being grid based could be of use - the copy and pasting of multiple cells, and way of saving for example.

All those scripts use the Timber engine for sample playback and manipulation. I also can’t help thinking that the sample playback engine should be Timber, but I know you have a synth engine already, and maybe not possible.

If using Timber you can just load any folder and each sample, no matter what the name, is given a sequential number ID. So the code when typing in the Yggdrasil would be 1 number in a cell. You then also have access to alot of sample manipulation / start end points, stretch / filters / bit reduction etc built into Timber per sample. I think that’s the reason why it was used in Takt, Orca and NISP.

Currently in Yggdrasil If you want to use a sample you are having to type out the full sample name.wav in long hand…per cell on the command line.

2 Likes

Right, this reminds me of something I forgot to write earlier.
I basically started making electronic music with Fasttracker II on MS-DOS. That specific tracker – as many others – would do a very useful thing. You would define instruments in an instrument window, then reference those by their number in the cells. So C4 001 would play a C4 with instrument 1. Instruments were not hard-linked to tracks, you could freely use any instrument on any cell. I know there’s other trackers (like defMON for the c64) where I think most instrument-design related things are actually done right in the cells, through commands. The latter seems to make more sense with something that has a clearly defined, and hence more limited, hardware for sound reproduction (like with the SID) and less with a more open-ended platform like modern computers and cyberdecks.

3 Likes

Is Y-Mode essential to operation? I’m poking around at the moment but I’m using a keyboardio atreus keyboard with no capslock key, which looks super cyberdecky and would be awesome to use with Yggdrasil, but I don’t seem to be getting far :joy: . edit: i’m starting to get some pretty cool sequences going without needing y mode

1 Like

I second numerical ID for sample selection within the selected folder. This is super useful in orca.

4 Likes

Also C-U M-x 4 C-x C-n S-} C-a RET would be great for us Emacs users :rofl:

2 Likes

I am cheering from the sidelines I know, and I am onboard the suggestions people have for molding this awesome and powerful program towards how things often are done in trackers (arrow navigation and everything), and how over the æons the tracker instrument creators, the material available and users have aligned towards a shared understanding – a process we might call culture.

At the same time – and I am just a nobody on the Internet – I wish to send personal vibrations :wavy_dash: toward @tyleretters and whoever is involved in design and development, and encourage them to stick to the concept (Yggdrasil, yeah cyberdeck, the visual world &c) and vision and intuitions, as we’ve seen done so productively in other projects too.

Keep it weird, keep it cyber! :star::electric_plug: Great work and good job everyone contributing with feedback and making wicked beats. This sparks joy.

10 Likes

Wouldn’t keyboard selection via raspiconfig work?

1 Like

@moogah - that’s a great idea. i’ve added it to the backlog. to set expectations any type of live recording/looping is definitely a long range feature. i feel that about exhaustion.


@papernoise

  • i think i cracked the arrow/edit view deisgn challenge… stay tuned for v1.1.0…
  • noted about the instrument defs. that’s a cool idea.

@mlogger

  • thanks for the list of things you dig!! :smiley:
  • JF support should be there. i’ve been having issues with my crow. thanks for the bug report on yours. i had to code that blind.
  • backlogged the note interval feature
  • copy/paste is in the backlog too
  • backlogged midi CC
  • noted about making sample selection easier
  • what kind of keyboard are you using?
  • regarding the X / Y view, did you try v;hud / v;h?

@dansimco i’ll add a ymode command in v1.0.6 so you can toggle it without tab!


@xmacex thank you for the good vibes :slight_smile:


@Gerald_Stevens no clue. i know basically nothing about raspi stuff. i did, however, know getting into keyboards was going to be a can of worms! new challenges.

5 Likes

negative. the raspi script uses dpkg to reconfigure keyboard settings for virtual consoles and X windows. it does not change the scancodes emmtted by the USB device or the keycodes emitted by the kernel driver. norns isn’t a console or X application so we have to manage KB mapping ourselves.

any application or library which uses HID input directly has to deal with this issue (SDL for example. https://discourse.libsdl.org/t/what-about-locale-support/5088/7), and if the OS gave us a silver bullet we would be using it and recommending its use.

@tyleretters that link includes an important point. for things like videogame input, where one is more concerned with keyboard geometry than character assignment, it would actually be incorrect to respect KB locale when looking for input. (in other words, you wouldn’t want to always look for the characters WASD regardless of where they show up on the layout. you would of course want to correctly refer to them as ZQSD if the system is useing AZERTY for example.) so SDL has to perform contortions to determine when the application is in a text-input mode or some other mode, and look at keys or characters appropriately, (BTW that is unicode characters, another can of worms) and additionally hack and scrape the OS settings to know which characters to display in a keybinding menu, while still using low-level key identifiers internally.

2 Likes

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.

@dansimco :eyes:

9 Likes

Y-mode awayyy!! thank you!

1 Like

Oooo new synth voice makes nice hats! I can’t seem to set synth parameter changes per step, I thought I was doing this the other morning but maybe I’m mistaken. Being able to change decay per step would be an awesome feature.

@tyleretters you are killing it!

Is there currently a way to save/load whole scenes and not individual tracks?

Edit: More freezes tonight, running only a single synth track at clock;.25 & bpm;120

Is there further info I can send you that will help with debugging?

2 Likes

noted about making sample selection easier
what kind of keyboard are you using?

not sure, its just a cheap generic one. I changed to the Teletype one and it now works

regarding the X / Y view, did you try v;hud / v;h?

no i didn’t and now i have! That helps a lot. I really think the “hud on”, should be the default when first opening the program.

1 Like

Sorry if I’ve missed this in the docs, but changing a MIDI CC in a step would be neat. Something like X Y CC#;value.

1 Like

@dansimco you’re welcome! thanks for the suggestion


@coreyr additional synth controls like envelope are in the backlog. no way to save/load whole scenes yet. there’s still a bunch of under the hood stuff we need to sort out before i want to tackle this.

i tried to reproduce the freeze you reported but couldn’t. yes, if you look in /dust/data/yggdrasil/runs you’ll see the command history. if you could figure out which one it was that caused the freeze and share that’d be awesome.


@mlogger “hud on” would make a good user parameter. i’ll add that to the backlog.


@moogah yeaaa cc’s in the backlog! thank you

3 Likes

hello, this script does not have its own sound engine?

It does have its own engine, with 3 different voices. Are you having any problems using the engine?

thank you, no problem, I’m just interested

1 Like

Has anyone had a go at Crow > Just Friends output? Not sure if it’s released yet, I see a reference in the docs though not a concrete example.

Speaking of crow, I feel massive guilt making feature requests and not PR’s (but I will anyway), I would be stoked to be able to trigger a command from a crow gate/cv input. What I would mainly use it for is to reset/sync playhead positions.

1 Like

I like the sound of that, it could be defined in the input line like button 3! (crow1=action)

@tyleretters I’ll send along the session histories for the frozen sessions tonight.