Flora (v0.4.9-beta: fixed pitch-shifting arpeggiator and minimal sequencer loader)

Thanks @Autogeneric, @SMesquida, @kali_yuga, @ohm, and @xmacex!

I used to design and run workshops as part of my job, so having the opportunity to do this for Flora gives me great pleasure.

10 Likes

Do keep us updated @jaseknighter, I’d love to sit in on the workshop. Loving the new updates BTW.

2 Likes

I’ve connected Norns running Flora with Crow! Output 1 is pitch CV? Is there an output for gate?

1 Like

Output 2 follows the envelope in Plow or sends gates/triggers depending on your settings.
This applies to 3/4 for the other flower.
Hope my memory is right, not in front of Norns right now.

3 Likes

Thanks!

So Flora + Crow are able to send envelopes instead of gates? Whoah! Where I can configure these settings?

1 Like

Encoder 1 to move to ‘plow’ page and here you can set the envelopes :slight_smile:

I also have a crow arriving today and looking forward to digging in to crow + flora

2 Likes

Good morning,

I’m getting an error:init when trying to run after installation (and restart):

Summary

script load: /home/we/dust/code/flora/flora.lua

cleanup

script clear

including /home/we/dust/code/flora/lib/includes.lua

including /home/we/dust/code/flora/lib/vector.lua

including /home/we/dust/code/flora/lib/globals.lua

including /home/we/dust/code/flora/lib/midi_helper.lua

including /home/we/dust/code/flora/lib/parameters.lua

including /home/we/dust/code/flora/lib/instructions.lua

including /home/we/dust/code/flora/lib/encoders_and_keys.lua

including /home/we/dust/code/flora/lib/flora_pages.lua

including /home/we/dust/code/flora/lib/plant.lua

including /home/we/dust/code/flora/lib/modify.lua

including /home/we/dust/code/flora/lib/envelope.lua

including /home/we/dust/code/flora/lib/water.lua

including /home/we/dust/code/flora/lib/plant_sounds.lua

including /home/we/dust/code/flora/lib/gardens/garden_default.lua

including /home/we/dust/code/flora/lib/gardens/garden_community.lua

including /home/we/dust/code/flora/lib/l_system.lua

including /home/we/dust/code/flora/lib/turtle.lua

including /home/we/dust/code/flora/lib/matrix_stack.lua

including /home/we/dust/code/flora/lib/matrix_stack.lua

including /home/we/dust/code/flora/lib/rule.lua

including /home/we/dust/code/flora/lib/plant_sounds_externals.lua

including /home/we/dust/code/flora/lib/ArbitraryGraph.lua

including /home/we/dust/code/flora/lib/fields.lua

including /home/we/dust/code/flora/lib/decimal_to_fraction.lua

including /home/we/dust/code/flora/lib/field_irrigation.lua

including /home/we/dust/code/flora/lib/field_layout.lua

including /home/we/dust/code/flora/lib/field_crop.lua

including /home/we/dust/code/flora/lib/pset_sequencer.lua

script run

loading engine: BandSaw

reading PMAP /home/we/dust/data/flora/flora.pmap

m.read: /home/we/dust/data/flora/flora.pmap not read.

Engine.register_commands; count: 21

___ engine commands ___

amp f

cfhzmax f

cfhzmin f

flutter_amp f

flutter_fixedfreq f

flutter_variationfreq f

gain f

ldb f

lsf f

note_on fff

pan f

rqmax f

rqmin f

set_env_curves ffffffffffffffffffff

set_env_levels ffffffffffffffffffff

set_env_times ffffffffffffffffffff

set_frequency f

set_numSegs f

wobble_amp f

wobble_exp f

wobble_rpm 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

SCRIPT ERROR: init

/home/we/dust/code/flora/lib/parameters.lua:821: attempt to call a nil value (field ‘rebuild_params’)

stack traceback:

/home/we/norns/lua/core/norns.lua:138: in field ‘rebuild_params’

/home/we/dust/code/flora/lib/parameters.lua:821: in field ‘action’

/home/we/norns/lua/core/params/number.lua:56: in function ‘core/params/number.bang’

/home/we/norns/lua/core/paramset.lua:437: in function ‘core/paramset.bang’

/home/we/dust/code/flora/lib/parameters.lua:1039: in field ‘add_params’

/home/we/dust/code/flora/flora.lua:92: in global ‘init’

/home/we/norns/lua/core/script.lua:107: in function ‘core/script.init’

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:139: in field ‘try’

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

Appreciate any help!

Flora was one of the main reasons (but not the only one) for acquiring Crow!

2 Likes

hi hi!

this command was recently added to norns — is your device up to date? SYSTEM > UPDATE should fix it up

1 Like

Do you sleep?!

What a nice way to ask a question you already know the answer to. :wink:

Thank you, working now.

1 Like

One thing I missed at first is the level of the Plow. I think the default setting represents 2volts(?) from crow which can result in an envelope that doesn’t open up enough (that’s what happened to me).

2 Likes

Back in February @Bman requested “clean” triggers for crow. This is scheduled to be released in the next few hours along with a number of other new features.

Also, the default max level of the envelopes can be changed by updating a global variable called AMPLITUDE_DEFAULT. This is set in the lib/globals.lua file. Changing this variable by itself at the moment doesn’t make a lot of difference, but it will once the new release is live.

3 Likes

Flora v0.4.0-beta has been released in preparation for the upcoming MusicHackspace workshops on June 6 and 20.

This release includes the following new features:

  • Community gardening: share the plant shapes you have discovered with other Flora explorers
  • Integration with Whimsical Raps’ W/2 via crow in all three of its modes:
    • W/Syn: sequence W/Syn with Flora over I2C and modify W/Syn parameters in the PARAMETERS>EDIT menu
    • W/Del: sequence W/Del set to produce Karplus-Strong style pitches with Flora over I2C and modify W/Del parameters in the PARAMETERS>EDIT menu
    • W/Tape: modify W/Tape parameters in the PARAMETERS>EDIT menu
  • crow outputs 2 and 4 may now be set individually to send envelopes, triggers, or gates
  • Each plant sequence now has its own default envelope shape, set by the tables DEFAULT_GRAPH_NODES_P1 and DEFAULT_GRAPH_NODES_P2, which are defined in flora/lib/globals.lua
  • Outputs (BandSaw engine, MIDI, Just Friends, and W/2) may now be individually turned on and off

Additional details about these new features have been added to the top of this thread and on GitHub.

Extra special thanks are due to @infinitedigits and @vicimity for their kindness and assistance with norns.online setup and testing.

The video below demonstrates the new W/2 integration, with Flora sequencing W/Del to produce Karplus-Strong style pitches.

20 Likes

so siiiiiiick, this is turning into one amazing behemoth of a script. especially with the integration of w/2. kudos on all the work and effort put into this :+1: :metal:

2 Likes

Thank you for the fantastic project.

2 Likes

Amazing update. Absolutely thrilled at the W/ integration, especially delay and tape modes. Can’t wait to jump in. Thank you :pray:

2 Likes

Looking forward to trying this! unrelated to your script, how did you get your crow to fit in the pod case? mine is too shallow.

1 Like

Thank you @gnome666, @Bman, @cosmicsoundexplorer, and @zbs. I hope you really have fun with the update! :pray:

@zbs, I’m using a Pod64X. The X series Pods are 55mm deep so crow fits into them, unlike the other Pods that are 33mm deep. I assume your pod is one of the shallower ones.

4 Likes

ahh… that’s an important 22 mm! Thanks for the response

1 Like

This script is magical! I just signed up for the workshop. excited to learn more and see y’all there.

2 Likes