Thanks for confirming, and yes, that would be really great! Thank you so much!

My question was probably a bit vague, I had read the list of what it does of course. I was mostly wondering about what the reasoning behind a separate mode was, but I think I got it now! Thanks!
Basically it’s a bit like most trackers work. Where you for eg. press space to enter edit mode, and then you type in stuff like notes and commands, while when you are not in edit mode you can move around and perform more top level actions, isn’t it?

If I can add a little suggestion btw. once one can add commands and notes directly to a slot, being able to use the arrow keys would be super handy. I find myself continuously pushing those keys.

It seems quite a fun script. Definitely something that needs a bit of learning, but that’s a good thing imho. I was pretty surprised and impressed when I first saw this, because it’s really super deep and powerful!

This is a great take on the genre of trackers and i really appreciate @tyleretters just owning it. Gorgeous!

:15 !1!!1!1 awesome idea. keep them coming.


@papernoise yeah, you got it! yeah we’ve been trying to rationalize when the arrows are for the terminal and when they’re for navigation. thank you for the vote for navigation.


@xmacex :smiley: thank you!!

2 Likes

The up and down arrows for navigating command history is really useful! Hope there is a way to keep this functionality when adding cell navigation.

1 Like

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.
3 Likes

Lovely :slight_smile:

My only other ask right now is a heavier lift… having lanes that control softcut for recoding/looping live input. I’ve been mostly using this as a sort of super-arpeggiator-sequencer with a synth or two plugged into it and it’d be real neat to be able to capture a loop and manipulate it for harmonization/comping (Ableton 11 announcement really got me thinking about comping with this approach to create variations). Having the softcut lane shadowed to another so that the buffer length is known maybe the first step to making it implementable.

Just thinking out loud really, I’d actually like to jump in and code some of the vim bindings myself, but to be honest I’m exhausted by the day job (and… well… 2020 in general) so I can’t muster the energy to do more than read through the code and sketch right now.

Edit: oh, and reading through the docs for polyend’s tracker they have some real neat fill options for getting a lane started

2 Likes

Yeah good point. Indeed I also spontaneusly hit UP when wanting to repeat something I have already typed in. I guess most people who are into trackers are also used to typing in a terminal.
I think it mostly boils down to defining the two interaction mode (i.e. eternal and y mode). So arrow keys can be “terminal-style” in one and move between slots in the other. Of course this is just a quick and superficial take, I’m sure there’s lots of small details that need to be considered…

1 Like

I had a little play today and really enjoyed it.

Things I really like about it - the arp and chord stuff, the internal synth sound is really great (hope more parameters can be opened up but you crammed a lot into 2 knob parameters).The documentation is superb. The startup animations. Support for Crow - would love to see JF and W/ FM synth support. Different clocks per track is incredibly useful for phasing. Random things, random jumping. Random samples. Is there a way to turn scrolling on/off during playback?

I had repeatable bug freeze when applying a ! to an empty cell with no note, in the first row, when all other cells in the same column were blank.

i tested Crow and couldn’t get any gate outputs - just CV from outputs 1 and 3 respectively, nothing from 2 and 4.

The sequencer reminds me a little bit of the 251e buchla module with lots of nested loops and jumping around. Hope to see some sort of pause or note interval on a per cell basis to break up the regular timing a little - like an interval per step based on note times 1/1, 1/2, 1/3, 1/4, 1/8, 1/12 triplets etc

+1 for better navigation. Having to manually type the x / y coordinates for each cell really shouldn’t be necessary. If the cell is just highlighted with the arrow buttons and core parameter typed that should be it. So really glad you are looking at the navigation. Hoping cells could open up to another page so more per cell code could be added. Keeping a memory of past code is also incredibly useful instead of having to retype stuff. Would love to see copy and paste of cells.

Having issues trying to clear a cell with the ctrl / backspace - maybe its my keyboard not being the correct type?

I often got lost trying to locate the correct cell / track number to find what the X / Y number should be. Maybe the cell / track number should be on visible view when highlighted?

i think the overall thing for me in a tracker, is to have multiple things happen on a per cell basis - parameter locks of multiple parameters, be it CC or sample parameters or voltage. The midi option really needs the ability to send CC, to get the most out of it. Sending multiple different modulation CC’s per step/cell is were trackers really come into their own - whether it’s lfo or random / stepped CC. One thing I noticed, at the moment, you can’t really see what each cell does, once you leave the cell. Currently per cell manipulation is limited to 1 or 2 options, but I know it’s early days. Maybe some of the code from NISP and Takt can help here. I know with NISP especially, you can add a lot of different code per cell via a separate page.

4 Likes

Let me second that.
It’s quite a UI-challenge though since the norns screen is relatively small. One thing I remember from trying out some C64 trackers is getting lost because due to the low screen res they had to hide lots of stuff. It’s also a problem with many deep hardware devices, most prominently the Octatrack. Once you have set up a complex project with trigs, scenes, etc. it’s quite a challenge to mentally reconstruct what you have done, once some time has passed. You basically have to keep notes of everything.
I guess what I want to say is: there needs to be a good balance between feature depth, discoverability and back-trace-ability (ok I made this word up, but you get what I mean, don’t you?).

5 Likes

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