Is it a custom version of Meadowphysics? Just asking because the graphic on my DIY Norns is different - it’s a grid of dots rather than a grid of squares.

Custom? No. Out of date? Probably. :smile:

1 Like

Ah, OK! I prefer your grid, so I will have a poke around in the repository for old versions. That’ll be a good excuse to start getting familiar with norns coding.

Let me check my version number…

Edit: Maiden says I’m up to date!

Thanks, that’s OK, I managed to change the graphics in the most recent version back to the grid style.

Meadowphysics is displeased. Updated norns to latest version today.

The Deets
1

matron

sc

# script load: /home/we/dust/code/meadowphysics/mp_midi.lua

# cleanup

# script clear

including /home/we/dust/code/awake/lib/halfsecond.lua

pset >> write: /home/we/dust/data/system.pset

# script run

loading engine: PolyPerc

>> reading PMAP /home/we/dust/data/meadowphysics/mp_midi/mp_midi.pmap

Engine.register_commands; count: 7

___ engine commands ___

amp f

cutoff f

gain f

hz f

pan f

pw f

release f

___ polls ___

amp_in_l

amp_in_r

amp_out_l

amp_out_r

cpu_avg

cpu_peak

pitch_in_l

pitch_in_r

# script init

pset >> read: /home/we/dust/data/meadowphysics/mp_midi/mp_midi-01.pset

### SCRIPT ERROR: init

/home/we/dust/code/meadowphysics/mp_midi.lua:52: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:

/home/we/norns/lua/core/norns.lua:126: in function </home/we/norns/lua/core/norns.lua:126>

[C]: in function 'pairs'

/home/we/dust/code/meadowphysics/mp_midi.lua:52: in field 'action'

/home/we/norns/lua/core/params/option.lua:51: in function 'core/params/option.bang'

/home/we/norns/lua/core/params/option.lua:36: in function 'core/params/option.set'

/home/we/norns/lua/core/paramset.lua:374: in function 'core/paramset.read'

/home/we/norns/lua/core/paramset.lua:393: in function 'core/paramset.default'

/home/we/dust/code/meadowphysics/mp_midi.lua:211: in global 'init'

/home/we/norns/lua/core/script.lua:96: in function 'core/script.init'

[C]: in function 'xpcall'

/home/we/norns/lua/core/norns.lua:127: in field 'try'

/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>

Did you try deleting psets and pmaps in dust/data?

That did the trick! Thank you, and I appreciate the fast response!

Meadowphysics (norns) 2.0

  • I’ve scaled up the graphics a little, as it seemed people preferred the less minimal screen rendering
  • Implemented new Norns clock, so it will sync over midi and link easily now
  • Added half-second delay to the polyperc script which is super lush
  • Inverted the pitch of the rows so it matches the ansible implementation (I just got myself an ansible so expect better parity in subsequent updates)
  • Added ranges to the tempo/clock division of a voice (@ground_state)
  • everything is a param now so you can save the whole state as a preset or map pretty much anything to midi.
30 Likes

Howdy howdy. I’m working on adding crow support to Meadowphysics and am wondering if someone can hold my hand a little bit. I’ve got note voltage coming out, but am having trouble getting the gate to release with note off

Anyone want to peep some code?

1 Like

I can take a look. No promises though haha

Awesome, thanks! Be kind, I’m learning. :grinning:

Changes to line 50 and following

local function all_notes_off()
if (params:get(“output”) == 2 or params:get(“output”) == 3) then
for _,a in pairs(active_notes) do
midi_out_device:note_off(a, nil, midi_out_channel)
end
if (params:get(“output”)) == 4 then
crow.output[2].volts = 0
end
end
active_notes = {}
end

Changes to line 73 and following

if (params:get(“output”) == 2 or params:get(“output”) == 3) then
midi_out_device:note_on(n, 96, midi_out_channel)
table.insert(active_notes, n)
end
if (params:get(“output”) == 4) then
crow.output[1].volts = (n - 60) / 12
crow.output[2].volts = 5
end
end
notes = {}

Them I’ve also added “crow 1+2” as an option in the output param. I didn’t include that code, but can.

1 Like

YESS. Any chance you can post a link to your fork? I’ll pull it down and tinker with you.

I knew I’d have to learn GitHub at some point :grinning:

Absolutely. Let me get an account set up and stuff.

Edit: Here we are, @dansimco: https://github.com/thegreenguitar/meadowphysics-crow/blob/master/hello

4 Likes

Ah okay! So, it’s going to be a lot easier if you fork off from my repository, which is the latest running in norns community.

You can hit the “fork” button on this page and it will make a clone of the project in your github account. This way you’ll have all the library and helpers at your disposal as well as the new clock system.

In either the polyperc or ack scripts you’ll find “trigger” and “gate” methods which is an easy place to try new note/sound making ideas. I would experiment with crow-triggering code there. Once it feels good we could move it up to the main meadowphysics code so it’s universal across both ack and polyperc (and any other future outputs).

Perfect, will do, thanks!

I haven’t gotten around to this yet, sorry! But it is on my list!

All good. What kind of crow behaviour were you looking to add? I’m keen to do some Lua this week. PS Just alt tabbed from this notification to instagram and your video was playing!

Whoa! The universe is wild!

As far as crow goes, I’d just love to be able to send v/oct from output one and a gate or envelope from output two. If I remember correctly, I was able to get v/oct going, but was having trouble closing the gate after the note event (in other words, it just stayed on).

how are you deciding the pitch output? just the last track to trigger wins? (which seems fine to me)

actually now i have an ansible I can match how that works

1 Like