Kria MIDI

If you are comfortable with the script addition above, you would need either a grid or a ‘midigrid’ ie grid-like devices that use midi (search that term for supported devices)

Love to see song preset and pattern data saved as a preset - it’s such a deep sequencer with pages and pages of options. It’s a shame all that is lost on powerdown. I am really reluctant to use it in some ways because I’ve lost so much decent stuff that I wanted to keep.

7 Likes

ok, I bundled all my changes above, plus added support to translate duration to jf velocity/level (lower duration = lower note level), and made a pull request to the kria_midi repo @junklight. playing kria with singular JF voices is so awesome!

1 Like

@shoggoth awesome! I’ll try and get it all merged this week.

I’ve been super lax with my updates - I’ve got a lot of catching up on Norns progress to catch up on let alone my own stuff but hoping to get some updates made fairly soon

4 Likes

I’ve haven’t yet been able to run this script on my stock Norns – I’ve removed it and reinstalled several times, and currently have the latest installed. This is the error I get, any tips?

### SCRIPT ERROR: load fail
/home/we/dust/code/kria_midi/lib/output.lua:80: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
	/home/we/norns/lua/core/norns.lua:144: in function </home/we/norns/lua/core/norns.lua:144>
	[C]: in function 'pairs'
	/home/we/dust/code/kria_midi/lib/output.lua:80: in main chunk
	[C]: in function 'require'
	/home/we/dust/code/kria_midi/kria_midi.lua:21: in main chunk
	[C]: in function 'dofile'
	/home/we/norns/lua/core/script.lua:186: in function </home/we/norns/lua/core/script.lua:186>
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:145: in field 'try'
	/home/we/norns/lua/core/script.lua:186: in function 'core/script.load'
	/home/we/norns/lua/core/menu/preview.lua:23: in function 'core/menu/preview.key'
	/home/we/norns/lua/core/menu.lua:140: in function </home/we/norns/lua/core/menu.lua:117>
# script clear
lua: /home/we/norns/lua/core/clock.lua:71: bad argument #1 to 'resume' (thread expected)
stack traceback:
	[C]: in function 'coroutine.resume'
	/home/we/norns/lua/core/clock.lua:71: in function 'core/clock.resume'
lua: /home/we/norns/lua/core/clock.lua:71: bad argument #1 to 'resume' (thread expected)
stack traceback:
	[C]: in function 'coroutine.resume'
	/home/we/norns/lua/core/clock.lua:71: in function 'core/clock.resume'
>>

it probably needs an update to the latest version - been stupidly busy this last couple of weeks (you either have time OR money turning out to be true in my life right now) but I’ve got a PR to merge too and I have at lesst gotten the Norns running the latest version - bear with me for a couple of days and I’ll get it all running again

4 Likes

@junklight actually I got it all sorted – issue on my end. Thanks for all your hard work, loving it!

1 Like

@junklight any news on the pull request front? i really would love to get all 4 channels working with jf/crow via i2c. unsuccesfully tried the code change as @shoggoth suggested myself, but unfortunately getting a load fail … : (

2 Likes

Can you post the Maiden error?

thx for getting back on me. this is what maiden spits out:

norns.script.load("code/kria_midi/kria_midi.lua")
# script load: /home/we/dust/code/kria_midi/kria_midi.lua
# cleanup
# script clear
### SCRIPT ERROR: load fail
/home/we/dust/code/kria_midi/lib/output.lua:78: attempt to call a nil value (local 'z')
stack traceback:
	/home/we/norns/lua/core/norns.lua:144: in local 'z'
	/home/we/dust/code/kria_midi/lib/output.lua:78: in main chunk
	[C]: in function 'require'
	/home/we/dust/code/kria_midi/kria_midi.lua:21: in main chunk
	[C]: in function 'dofile'
	/home/we/norns/lua/core/script.lua:186: in function </home/we/norns/lua/core/script.lua:186>
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:145: in field 'try'
	/home/we/norns/lua/core/script.lua:186: in function 'core/script.load'
	(...tail calls...)
# script clear
<ok>
lua: /home/we/norns/lua/core/clock.lua:71: bad argument #1 to 'resume' (thread expected)
stack traceback:
	[C]: in function 'coroutine.resume'
	/home/we/norns/lua/core/clock.lua:71: in function 'core/clock.resume'
1 Like

I got the same error code when I tried this as well, but forgot to mention in this thread.

After that I can’t get Kria to work at all, I have removed and reinstalled it a couple of times with Maiden but keep getting the core/.clock.resume related error. I haven’t really had time to look into it further though.

I’ll try and look later on (currently debugging work for two separate companies simultaneously - not going to try adding a third)

BUT

the way it works is it makes an output library in

/home/we/dust/code/kria_midi/lib/output.lua

IF that file already exists it won’t overwrite it but it is possibly I changed it some point.

A) the reason for this separate file is you can customise your own output functions that are unique to your setup and this library file won’t be over written. the idea was that people could share this file separately (and in fact it’s called from a library so this can be added to other Norns scripts as well) but as you’ve probably noticed I’ve done bugger all work on any of my Norns stuff for a while now

B) if you haven’t changed it just delete that file - it will get recreated with the latest and presumably working version

2 Likes

I noticed that changes to that file aren’t picked up until a reset/restart - so possibly delete the file in maiden, uninstall Kria, restart and then reinstall

@junklight @shoggoth thx for your replies. i have kria back in a working state again, but unfortunately still neither individual voices nor poly on my jf via crow what i was aiming for. due to my lack of programming skills, i will keep on patiently waiting and hope for that one fine day … ; )

1 Like

Another i2c implementation dreamer here✋🏻
As non-coder I’m waiting for a kind person who’s able to make this happen😅

2 Likes

Wow, I just tried this out on a multi-timbral MIDI module. And I am giddy with delight to have kria available in this world! Everything is working as expected, at least that I tried. Really nice adds on the pause button and the root note/scale display. Cheers!

Edit: By the way, is the slew working? I didn’t see any pitch bend messages in a MIDI monitor or hear any slewing but maybe it doesn’t work like I thought it would.

1 Like

Loving the MIDI version. I hope this isn’t too silly a question - how do I save presets? With Ansible, I know how to save a preset but with MIDI Kria, I’m not so sure.

I’ve built up a nice track but I’m not totally finished and don’t want to switch off my Norns. Help! I’ve recorded parts into Ableton but this doesn’t really allow me to switch things up later or reconfigure alt notes etc.

Many thanks!

1 Like

hey y’all, junklight is a very busy genius. I’ve used kria midi extensively in the past and love it.

since activity on this thread has been kinda low, but I know a lot of people are looking for something similar to kria to run on norns, I thought I’d pop in and recommend colorwheel.

It’s being developed actively and I’m looking for more testers. I use it for hours every day and there aren’t any bugs popping up. Also supports Crow, W/, and Just Friends (Crow/Ansible pair to be added soon).

I should note that the intention is not to emulate kria entirely, but to borrow some interface elements and musical ideas and rework them to better suit my own creative ends.

14 Likes

Wondering if anyone else has this issue- I looked through this thread and might have missed it, hopefully not. I am having problems using the saving fuctionality. I go to save page, make a glyph and hold down the corresponding key for a few seconds. I can recall the preset while the norns is stil powered on. When I restart, the preset is lost when I load kria back up. Additionally, for some reason, the bpm is always at 001bpm when I start it.

Sometimes I’ll leave the norns on overnight and come back and my grid is frozen. I’d really like a way to save what I’m working on.
Thanks!

1 Like

I try to use Kria MIDI with crow and use Just Friends as an envelope generator (shape/sustain mode). I have some problems with the gate lengths and the duration parameter. As far as I can see the duration does not affect the gate length on the crow output. I’m not sure it’s a gate output at all. I don’t have a scope at the moment but it appears that it’s a trig pulse (or an “inverted” trig).

What’s the expected behaviour when changing the duration of a step?