Every time I use a keyboard app, I want this so bad!

5 Likes

Is there something in the Linux kernel that can be leveraged for this? Every time I make a fresh Linux installation, it asks what keyboard layout I’m using and I wonder what the code for that is like. That’s probably all way, way over my head, but yeah, just throwing that out there.

For Yggdrasil to recognize samples and load via the ypc;bank;____ command to work, where should those samples live? Do I need to move things into the Yggdrasil/samples/ path? Do they need to be in Yggdrasil/samples/factory/?

Is there a way to point it at common/808/?

EDIT; ah, sorry, missed it in the docs. Is there supposed to be anything in the factory sample folder?

1 Like

this is great so far. looking forward to having more control over engine params.

I ran into a repeatable freeze situation when I first started - can’t seem to reproduce now but it involved having simple arps on the first 2 tracks and then running 1 1 lucky. no other commands had been applied. both times had to ;restart but there were no errors in maiden. if I run into it again I’ll hopefully add more clarity.

also noticed bpm requires typing bpm 120 instead of bpm;120.

2 Likes

I ran into a freeze just now with lucky as well. (5 3 lucky) while running ascend. arps on one and two, 3 and 4 short synth percussion.

Also running into the REMOVE command clearing a step but the synth engine still sounding when that track hits the cleared cell (are we calling steps cells?)

Is ascend supposed to effect all tracks when it is entered following a track selection? (i.e. 3 ascend as opposed to just ascend)

EDIT: had another freeze, this time with matron open. Had 5 tracks running, 3 arp, 2 perc ( still synth voices) had just swapped track 2 to synth; v;1 and was attempting to extend the decay 2 synth;c2;75 and everything is hanging. had been jamming for about 10 or 15 when it froze. Matron readout doesn’t really indicate anything nor does the sc tab. Just note values and poly perc voice change messages. Restarted via maiden this time, first restart was via 3 button nerve pinch. Both restarts behaved as expected.

EDIT 2; hanging again, only two voices running, tried changing the timbre of track 2 (2 synth; c1;75) hit enter and it all froze. same non-info in maiden. I think its time for bed. Oh, this time I had HUD view on.

Please don’t take these as discouraged bug reports, Yggdrasil is very cool and I am getting jams out of it that I’m enjoying. Think these hangs are just my little computer friend telling me I need some shut eye.

1 Like

4 posts were merged into an existing topic: Norns: development

“secret” mode - make a file at /dust/code/yggdrasil/lib/config_.lua (note the underscore) and add this line config.settings.sample_path = _path.audio .. "common/" and you should be able to use ypc;bank;800 to load it.

yes, there should’ve been a bunch of wavs. were these not copied over for you?

@speakerdamage : good find on the bpm signature. i’ll get that fixed.

@coreyr & @speakerdamage : if you look in /dust/data/yggdrasil/runs you’ll see the history of commands for each run. might be helpful in reproducing it! i’ll explore lucky a bit.

yes, ascend should affect everything, while 1 ascend should only affect track 1. i see that there’s a bug there too. thanks!!

(we’re calling steps/cells/small-rectangle-thingies: “slots”)

7 Likes

Two quick questions so I’m sure I understand things correctly:

  • notes and other commands that are relative to the slot are to be typed in with their Y and X coordinates. I can’t just move to a slot and type in the command or note can I?
  • What is “Y mode” exactly?
  1. correct. X (col) first, Y (row) second. if you just use X it operates on the entire column. moving to a slot and typing the command or note in will be in a near-future release. i want that, too.

  2. think about y mode as a way to turn your keyboard into just a big ol’ playstation controller. it does all sorts of things now, but none of them involve typing letters and numbers into the command line. you turn it on with CAPS LOCK and then all these buttons do new things: https://northern-information.github.io/yggdrasil-docs/#y-mode-interactions

3 Likes

Can I ask for some more vim-like bindings in Y-Mode? ie: the ability to jump 4 slots down with 4+j etc seems like it would have some nice ergonomics for editing slots.

… visual mode type editing for transposing would also be pretty neat.

2 Likes

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