i absolutely love this script

it is so inspiring to use and it sounds lovely

here is a simple video i made using only flora and a pocket operator

<3

6 Likes

Slowly understanding how to interact with this script and it is beautiful! Snowing heavily here today, no traveling into the city for work; my houseplants and I are watching the snow swirl past windows and letting flora play us a tune…

2 Likes

@Ukasz, the new update should appear in maiden.

2 Likes

@jaseknighter So perfect and inspiring sequencer !
Thank you a lot for this beauty.
The output setting is very cool but please is it possible to add an option with all the outputs Audio ; Midi ; JF ; Crow ?
It will magic :pray:

@Mad86, thank you so much for your kind words!

Right now I’m finishing up one of the enhancements requested by @mlogger to save Plow (envelope) parameters. I expect I’ll be able to add your request to this batch of changes when it gets released (hopefully in the next few days). I’ll make an announcement when it is ready.

5 Likes

Oh wow perfect :ok_hand: so cool.
Thank you a lot for taking it into consideration. :raised_hands:

1 Like

yeah, great idea to have some sort of meta-sequencer this way - that would be a killer feature! i wonder, if this could be done somehow with @infinitedigits tmi script?

2 Likes

@mlogger and @moono, I’ll see if I can put some kind of basic pset sequencer together for the upcoming update. It’ll be just for Flora, but I have a vague feeling it may be portable to other apps. We’ll see how it goes…

3 Likes

The Flora v0.2.1-beta is now available and includes the following new features:

PSET sequencer (thanks to @mlogger for the idea)

  • The sequencer’s controls are themselves defined with PSETs, so PSET sequencing can be triggered via midi (as suggested by @vehka in the norns ideas topic).
  • The PSET sequencer also features user definable ā€˜exclusion sets.’ Parameters that are part of an enabled exclusion set will be excluded when a PSET is saved. Accordingly, parameters in an enabled exclusion set won’t be overwritten when the sequencer loads a PSET. Please note that for this feature to work, exclusion sets need to be enabled (in the PARAMETERS menu) before saving the PSETS. Enabling a PSET exclusion set while the PSET sequencer is playing will have no immediate effect.

Envelope modulation

  • New probability controls allow the time, level, and curve values for each envelope node to be modulated. The controls may be accessed by pressing k1+k3 on the plow screen as well as from the PARAMETERS menu.

Other new features

  • The active plant instructions and plant angles may now be saved in PSETS.
  • Midi is now included in the 4th OUTPUT option (requested by @Mad86).

Additional documentation of the new features may be found on GitHub (see link above)

The attached video demonstrates many of these new capabilities. It was recorded with an exclusion set enabled for the envelope modulation parameters.

19 Likes

Awesome :clap: thank you for all these new implementations.
That’s really really nice.
I know what I will explore today :wink:
I have to say very smart job ! :rose::cherry_blossom::hibiscus:

1 Like

[quote=ā€œjaseknighter, post:72, topic:40261ā€]
PSET sequencer[/quote]

Wooah - amazing - thankyou so much! I didn’t think this could be done :slight_smile:

2 Likes

My pleasure @mlogger! The basic code to setup a sequencer and load PSETS was actually pretty straightforward. Also, although I’ve just done very basic testing, it appears the PSET sequencer code is portable to other scripts. I put instructions for using the PSET sequencer with other scripts in the pset_sequencer.lua file.

6 Likes

Wow, really nice. :heart: Can’t wait to give this a spin over the weekend! Also, the PSET sequencer sounds awesome. Do you reckon it would be a lot of work to make it a lib for including in other scripts too?

1 Like

Thanks @vehka. I hope you have fun with it!

Since I haven’t done much testing with other scripts, I’m not sure how much work it would be to make the PSET sequencer code into a lib.

That said, as I mentioned previously, I did get the basic sequencer functionality to work in a few other scripts (with just three simple lines of code) and the steps are documented in the pset_sequencer.lua file for anyone who wants to try it in other scripts for themselves on their local norns devices.

i gave it a quick test drive and so far i can say: this is simply awesome - the preset sequencing feature and all the other improvements made this already amazing script even more amazing! thank you @jaseknighter for implementing this killer feature which will hopefully find its way into many other scripts around here …

1 Like

I don’t know what I’m doing but Flora is one of my gotos for generative background house music (literally house music) when I’m at home.

Since the idea of sharing PSETs was discussed at some point, and the new features of Flora engage with PSETs I’m including it.

PSET
-- flora
"rev_eng_input": 0.22922330238564
"rev_cut_input": -inf
"rev_monitor_input": -inf
"rev_tape_input": -inf
"rev_return_level": -9.6432746655329e-16
"rev_pre_delay": 60.0
"rev_lf_fc": 537.48938814499
"rev_low_time": 2.326
"rev_mid_time": 7.096
"rev_hf_damping": 4452.1063336486
"comp_mix": 0
"comp_ratio": 4.0
"comp_threshold": -18.0
"comp_attack": 5.0
"comp_release": 50.0
"comp_pre_gain": 0.0
"comp_post_gain": 9.0
"cut_input_adc": -9.6432746655329e-16
"cut_input_eng": -9.6432746655329e-16
"cut_input_tape": -9.6432746655329e-16
"page_turner": 1
"active_plant_switcher": 1
"scale_mode": 5
"root_note": 45
"crow_clock": 1
"output": 4
"midi_out_device": 2
"midi_out_channel1": 1
"midi_out_channel2": 3
"plant1_instructions": 5
"plant2_instructions": 4
"plant1_angle": 90
"plant2_angle": 90
"plow1_cc_channel": 1
"plow2_cc_channel": 3
"num_plow1_controls": 5
"num_plow2_controls": 5
"plow1_max_level": 6.0
"plow1_max_time": 1.0
"plow1_time1": 0
"plow1_level1": 0.0
"plow1_curve1": -10
"plow1_time2": 0.15
"plow1_level2": 2.7
"plow1_curve2": -10
"plow1_time3": 0.25
"plow1_level3": 0.6
"plow1_curve3": -10
"plow1_time4": 0.5
"plow1_level4": 4.5
"plow1_curve4": -10
"plow1_time5": 0.75
"plow1_level5": 0.0
"plow1_curve5": -10
"plow1_time6": 0
"plow1_level6": 0.0
"plow1_curve6": -10
"plow1_time7": 0
"plow1_level7": 0.0
"plow1_curve7": -10
"plow1_time8": 0
"plow1_level8": 0.0
"plow1_curve8": -10
"plow1_time9": 0
"plow1_level9": 0.0
"plow1_curve9": -10
"plow1_time10": 0
"plow1_level10": 0.0
"plow1_curve10": -10
"plow1_time11": 0
"plow1_level11": 0.0
"plow1_curve11": -10
"plow1_time12": 0
"plow1_level12": 0.0
"plow1_curve12": -10
"plow1_time13": 0
"plow1_level13": 0.0
"plow1_curve13": -10
"plow1_time14": 0
"plow1_level14": 0.0
"plow1_curve14": -10
"plow1_time15": 0
"plow1_level15": 0.0
"plow1_curve15": -10
"plow1_time16": 0
"plow1_level16": 0.0
"plow1_curve16": -10
"plow1_time17": 0
"plow1_level17": 0.0
"plow1_curve17": -10
"plow1_time18": 0
"plow1_level18": 0.0
"plow1_curve18": -10
"plow1_time19": 0
"plow1_level19": 0.0
"plow1_curve19": -10
"plow1_time20": 0
"plow1_level20": 0.0
"plow1_curve20": -10
"plow2_max_level": 9.0
"plow2_max_time": 1.01
"plow2_time1": 0
"plow2_level1": 0.0
"plow2_curve1": -10
"plow2_time2": 0.0
"plow2_level2": 4.5
"plow2_curve2": -10
"plow2_time3": 0.1515
"plow2_level3": 2.25
"plow2_curve3": -10
"plow2_time4": 0.505
"plow2_level4": 6.75
"plow2_curve4": -4.1
"plow2_time5": 0.505
"plow2_level5": 0.0
"plow2_curve5": -3.0
"plow2_time6": 0
"plow2_level6": 0.0
"plow2_curve6": -10
"plow2_time7": 0
"plow2_level7": 0.0
"plow2_curve7": -10
"plow2_time8": 0
"plow2_level8": 0.0
"plow2_curve8": -10
"plow2_time9": 0
"plow2_level9": 0.0
"plow2_curve9": -10
"plow2_time10": 0
"plow2_level10": 0.0
"plow2_curve10": -10
"plow2_time11": 0
"plow2_level11": 0.0
"plow2_curve11": -10
"plow2_time12": 0
"plow2_level12": 0.0
"plow2_curve12": -10
"plow2_time13": 0
"plow2_level13": 0.0
"plow2_curve13": -10
"plow2_time14": 0
"plow2_level14": 0.0
"plow2_curve14": -10
"plow2_time15": 0
"plow2_level15": 0.0
"plow2_curve15": -10
"plow2_time16": 0
"plow2_level16": 0.0
"plow2_curve16": -10
"plow2_time17": 0
"plow2_level17": 0.0
"plow2_curve17": -10
"plow2_time18": 0
"plow2_level18": 0.0
"plow2_curve18": -10
"plow2_time19": 0
"plow2_level19": 0.0
"plow2_curve19": -10
"plow2_time20": 0
"plow2_level20": 0.0
"plow2_curve20": -10
"show_env_mod_params": 1
"randomize_env_probability1": 100.0
"time_probability1": 0.0
"level_probability1": 0.0
"curve_probability1": 0.0
"time_modulation1": 0.0
"level_modulation1": 0.0
"curve_modulation1": 0.0
"env_nav_active_control1": 0
"randomize_env_probability2": 50.0
"time_probability2": 36.0
"level_probability2": 0.0
"curve_probability2": 0.0
"time_modulation2": 0.0
"level_modulation2": 0.0
"curve_modulation2": 0.0
"env_nav_active_control2": 0
"water_cc_channel": 1
"amp": 1.7
"rqmin": 0.1
"rqmax": 9.0
"note_scalar": 8.0
"num_active_cf_scalars": 2
"cfs1": 1
"cfs2": 3
"cfs3": 2
"cfs4": 2
"plant_1_note_duration": 6
"plant_2_note_duration": 8
"num_note_frequencies": 3
"nf_numerator1": 1
"nf_denominator1": 3
"nf_offset1": -0.5
6 Likes

I just came across this video on instagram

https://www.instagram.com/p/CLLHMC9h2J1/?igshid=dpha27ewpim

Also L-systems plants :v:

4 Likes

@jaseknighter
hey ya!
i may have found a bug. :bug:
was going for a spin with the v0.2.1 and the MIDI clock looks to be off.

i have my tempo set at 115bpm and Flora is jumping between 118 and 119 on the screen.
any tempo i set the MIDI clock too…Flora is displaying 3 to 4 beats faster.

it didn’t do that before.

1 Like

Hey, how can I update the script to 0.2.1 ?
I tried updating through maiden, but when loading the script I still see v.0.1.0.
I’m new to norns, so sorry if the question seems silly.

@Denbuter, there are no silly questions here, only silly mistakes I have made. I forgot to update the version number in the flora.lua file. I think I fixed this, so if you update again, you should see 0.2.1 when the script loads. Thanks for bringing this to my attention and please don’t hesitate to reach out if this still seems to be an issue or if you encounter other ones!

3 Likes