Tviburar

Tviburar

What?

A dual lane four step polyrythmic sequencer where each step contains a free running LFO that will generate notes. The LFO modes are, square, random, ramp up, ramp down and sine. Each step can also be muted. The two sequencers can influence each others LFO values creating a complex environment where the rate of repetition is stretched out over a long, near infinite, timespace.

Written by Filip Forsström (@ljudvagg) and Linus Schrab (@vicimity).
The script is based on an original concept built by Filip for the Nord Modular G2.

How?

Tviburar boots up in a calm state with four square wave LFOs outputting notes to the internal synth engine Polysub (requires ‘we’). The LFOs are seeded random rates between 0.33 and 0.66hz. Only the top lane (twin 1) is active, twin 2 is muted. Choose your preferred destination in Parameters > Edit > midi & outputs. The options are:

tviburar1

Return to the scripts main screen and scroll through the sequencer steps with E1. E2 takes you through the available LFO settings and E3 changes the selected value. The currently selected LFO is shown with a line above or below the selected step.
To edit the second lane (twin 2) hold down the alt key, K2 and scroll with E1. The currently active lane is shown with a line to the left of the sequencer lane. As with the LFOs, the lanes have settings that are accessible in the same manner as the LFOs. E2 scrolls through the avalable settings and E3 changes its value.
The third setting for lanes “twinfluence” is secret sauce. It amplifies the influence between the two sequencers LFOs, creating complex waveforms for the ramp and sine LFOs and altering the note value, offset and amp for square and random.

tviburar2

Finally, K3 will halt the sequencer, this can be handy when tweaking a specific LFO. K2 (held) + K3 will reset the sequencer, returning both lanes to step 1. The combination of K2 and K3 can be used as a performative tool.

The dual nature of Tviburar can be used to sequence two destinations, internal modulation or both at the same time.

Install

Enter ;install https://github.com/linusschrab/tviburar in Matron or via Maidens script library.

Please let us know if you have feature requests or run into any bugs.
Post your questions and share your explorations.

47 Likes

Good gosh that demo speaks to me! :star_struck: The concept of this sequencer seems like something to put NTS-1 and OP-Z to work! :man_factory_worker:

2 Likes

This looks phenomenal. Excited to take it for a spin!

2 Likes

I still don’t have a norns yet but I’m intrigued by the companion m4l device. Could you talk about that a bit more?

Thanks!

1 Like

This looks so ace! Can’t wait to try it out! Love that it has midi Ready! Transport sync and grid implementation would certainly be welcomed.

Thanks for sharing and cheers!

2 Likes

@ljudvagg developed this part but it’s a fairly straightforward thing. Drop the device on a midi track in Live and set your computers IP in the script (info in the m4l device).

Transport sync is definitely on the horizon. Can’t see the use of grid support though. Not sure how it would add to the functionality. But if you prove me wrong I’m ready to make it happen :wink:

4 Likes

I’ve learnt alot about Norns during this project and @vicimity is a great mentor!

I made this playlist with some of the recordings I made while testing the script. All sounds from Monomachines FM-machine and some effects in Ableton.

7 Likes

I tried this today and got some really unusual sequences with just friends hooked up to a faderfox especially messing with the 2 lfo influence values. It’s a very interesting concept using slopes to make sequences. I am guessing this is something similar to the ASL idea on crow running slopes through quantizers? Hats off to you both for a very cool and unique sequencer.

7 Likes

REALLY digging this script!
it was the center for last night’s noiz session…
Tviburar is controlling two channels on the Virus B.
also in the mix is Bounds and Cheat Codes 2 with other noiz from Ciat Lonbarde, MBase11.

@vicimity
i think Tviburar is having the same issue Delinquencer had.
it doesn’t just see a MIDI device is connected…can you update it to just see a device and TX / RX MIDI on any port?
:slight_smile:

2 Likes

Hmmm… I’m not following what you mean here. Help me out some more and we’ll take care of it.

Also, thanks for checking it out and the feedback is much appreciated!

1 Like

Hey ya!

I couldn’t get MIDI working originally since the script wants to use a particular port on norns rather than just see the MIDI I/O device.

since the way it is set up now the user has to figure out what port the MIDI device is connected to and then set that in the script…rather than…the script just seeing a MIDI I/O device and just using that for transmitting and receiving.

then it’s a bit easier for the user to just go in and set the MIDI channels for controlling things.

i hope i am making a bit of sense.
:slight_smile:
if it would help…this is the issue and if you read a bit further down you can see the solution for Delinquencer:

Thats’s really cool! I’m using Bitwig Studio and it was really easy to modify your script so that i can receive the notes in Bitwig using the DrivenByMoss Script. I never tried that before but now it seems quite easy to add osc out to other sequencer scripts :thinking:

modification

I changed line 498 of tviburar.lua to:

    osc.send(osc_dest, "/vkb_midi/1/note/", {note,100})  
2 Likes

So you want the script to automatically find a midi device and route to that? Not sure how that would be done or if it’s a good idea, I’d rather have control of this routing. But I might misunderstand your point. Can you point to a script that does this?

As it is now you can choose either of the 16 midi devices and for that device choose channel for the two outputs. Is this not working for you?

Edit: ran this by @ljudvagg and we came to an understanding (I think). We could add midi device for the separate output options. That way the two lanes can be sent to different locations. I think this would be good.

1 Like

Nice!

We have updated the script and M4L-device and it’s now easier to connect to Norns. Enter the Norns IP and port (10111 is default) and press ‘Connect to Norns’. It will update the script and start sending OSC to Ableton when you change Twin output to OSC.

3 Likes

Apologies if i’m confusing the matter…
but maybe if the script displayed what was connected to the ports in the parameters page so the user could scroll through and choose what they want to connect to.
again i would refer to the Delinquencer script by @Klindley. :slight_smile:

1 Like

Hi,

Code for this (in-case anyone reading this is curious and to save you hunting) is:

params:add{type = “option”, id = “midi_out_device_id”, name = “Device”, options = devices, action=new_midi_device}

function buildlistofdevices()
devices = {}
– Get a list of midi devices
count = 1
for id,device in pairs(midi.vports) do
strippedname = string.gsub(device.name, ‘^%s*(.-)%s*$’, ‘%1’)
devices[id] = strippedname … " :" … count
count = count +1
end
end

In my delinquencer script, I call the buildlistofdevices function as part of init and before the params are defined.

Make sure the buildlistofdevices gets called when a new midi-device is detected otherwise it won’t appear for the user select, also need to refresh the param.

Kind Regards
Kevin.

2 Likes

Getting a chance to test this out now and very excited about it! I need to set myself to the task of extending it to output MIDI CC too :control_knobs: This is a useful addition to norns world, thank you.

EDIT a little bit of shameless cornercutting Lua programming later: u jes CC modulated bleeps galore!! NTS-1 get to work!

EDIT 2 a pull request is in preparation, once i’ve brought back both of the corners i cut. Am i right that the note argument of play_flo() is expected to range from -24 to 24 (48 values)? One of the corners i cut was actually to read from the LFO directly, to get higher resolution (128 values – I’m not so interested in tonality for this feature).

EDIT 3 PR submitted for MIDI cc output.

3 Likes

@xmacex Wow this is awesome! Thank you! I’ve been sequencing Abletons wavetable synth and changing wave position with the cc value. Got stuck in JAM MODE while testing everything :slight_smile:

I changed some values from 1-128 to 0-127 and default CC to 14 and 15

2 Likes

Many thanks. I have a gradually changing dub techno groove going on for… 4 hours now?

2 Likes

Update 2021-08-04

  • Multiple outputs per lane
  • Separate midi devices per lane

Have fun! /Linus and Filip

PS. this breaks previous psets (due to new params for more output options), sorry about that.

10 Likes