Step Sequencer for Resolume Avenue and Arena 6 - Max patch

Post your questions here and we'll all try to help.
User avatar
gpvillamil
Wants to marry Resolume, and Resolume said "yes!"
Posts: 550
Joined: Mon Apr 04, 2005 03:33
Location: San Francisco, California

Step Sequencer for Resolume Avenue and Arena 6 - Max patch

Post by gpvillamil »

Here is a step sequencer for Resolume Avenue, it communicates via OpenSoundControl, just like the chaos mode/copilot patch. Hope you enjoy it!

[note] If you run CoPilot and Sequencer at the same time, make sure to turn off the BPM clock on one of them, otherwise they will become confused. They share the same clock bus, so as long as BPM clock is turned on in one of the patches, both of them will run.

[update] just uploaded version 1.0, it now has preset save and recall with the runtime, and OSC values are persistent. You can change the IP address and port number (to control Resolume from another computer). Pressing the 'reset' button will reset the OSC settings to localhost and port 7000. Make sure to download latest Max runtime, v5.1 or later.

[update] version 1.1 adds tap tempo and bundle on/off switch - turn bundles OFF to work with TouchOSC at the same time. There are some under-the-hood changes so let me know how it goes.

[update] version 2.0 now supports Resolume 6. It does not support previous versions since the OSC mapping changed. A few simple tools are added for managing patterns, now you can randomize a pattern, shift it left or right, or reverse its order. I have not included the OpenSoundControl external, get it via the package manager.

[update] version 2.1 fixes a timing bug that came in with Max 8.

Here are instructions for installation and use:

1) Download the zip file attached to this post and unzip it.
2) If you don't already have Max/MSP, get and install the runtime from here: http://cycling74.com/downloads. I think if you install Max but don't have a paid subscription, it acts as the runtime.

(Note) If you have CoPilot already installed, you can put Sequencer in the same folder and they can share the OpenSoundControl external.
(Another note) If you already use Max/MSP and have the CNMAT OpenSoundControl external installed, you don't need the one in the .zip file.

Then to use the patch:

1) Open Resolume Avenue, and make sure that OSC is enabled in preferences, the 'bundle' checkbox is on, and the port is 7000
2) Open the file sequencer 0.85.maxpat
3) You should see the user interface:
Screen Shot 2018-10-25 at 2.19.06 PM.png
Here is what it all does, starting from the top left. A lot of the basic functions are identical to CoPilot, but I'll repeat the instructions anyway.

OSC basics

At the top, you find BPM control. Here you can turn the sequencer on and off, and set a BPM. If the "sync BPM" box is checked, then the patch will control the Resolume BPM as well. You can test OSC communications by enabling "sync BPM", putting the mouse cursor in the BPM box and dragging up and down. You should see the BPM change in Resolume. New Feature: The button next to "sync BPM" checkbox will issue a resync to both the Max and Resolume BPM clocks, so they will run exactly in lockstep. I'll add tap tempo and nudge in a future version...

Below that are the presets. You can save and recall up to 4 states of the program. By default, saved state 1 is loaded when the patch opens. If you save the patch from the file menu, then the saved states will be saved for the next time you use the sequencer. (Not sure how it will work with the runtime version.)

Further down, the OSC control section lets you specify the IP address and port to use for OpenSoundControl. By default, it is set to 'localhost' (127.0.0.1) for when the patch and Resolume are on the same computer, and the port is set to 7000, the Resolume default. You can change both of these - most useful if you run the sequencer on a separate computer to the one where you run Resolume.

How to use the sequencer


Now over to the right side of the screen, here is where the fun stuff happens!

At the very top are a series of override buttons. The first one turns all patterns on and off. The next one mutes all patterns. Note the difference - when the first button is on, and mute is enabled, the pattern clock still runs, but nothing is output. This lets you get a pattern all synced up before actually turning it on. Next along is a number box that lets you set the pattern length for all patterns at once. Finally, the "reset all counters" button will set all the patterns back to their start.

Update: with version 2.0 the pattern on/off has gone way, the beat clocks for each layer all run in sync. If you want to shift patterns relative to each other, use the shift left << and right >> buttons.

When patterns are playing, a red (now blue-green) highlight will move along, indicating the current active step.

Moving down, you find the individual on/off and mute buttons for each layer. Next is the layer number - this is the number of the layer that will be controlled in Avenue. Next is the pattern length (use it to override the master length if you want). When the pattern length changes, the steps that are active will be black, and the inactive ones will be grey. However, you can still edit values in the inactive steps.

Then come the 16 slots for clips. Each of these contains the number of a clip. Leaving a slot at 0 will not generate any output. Incidentally clips, once triggered, will continue to run until another clip is triggered in the same layer. If you want them to stop running after they've played, use Resolume's "play once" playback setting.

The little green light in the top right will blink whenever an OSC message is sent.

I've tried this with audio & video clips, and it works really well. I will post a video soon. Let me know how you get on with it!

Troubleshooting

If you are having trouble getting stuff to play:

1) Make sure OSC is enabled in Resolume, and that matching port numbers are set.
2) Make sure the "on" checkbox is on for the pattern you want to play, and "mute" is off.
3) Make sure layer # is not 0.
4) Make sure there is data in the pattern.

In general, if something looks like it should be working, but isn't, try changing a value and changing it back. (eg. change from layer 1 to layer 2, and then back). The reason for this is that the patch caches quite a few values internally for presets and such, and sometimes you need to change a value for it to propagate throughout.
Attachments
Step Sequencer v2.1.zip
(17.14 KiB) Downloaded 1006 times
Step Sequencer v1.1.zip
update v1.1 adds tap tempo and OSC bundle on/off
(48.77 KiB) Downloaded 2618 times
Last edited by gpvillamil on Thu Oct 25, 2018 22:52, edited 8 times in total.

User avatar
bart
Team Resolume
Posts: 2223
Joined: Wed Sep 29, 2004 10:01
Location: Resolume HQ

Re: Step Sequencer for Resolume Avenue - Max patch

Post by bart »

Just tried and and it works really well, and is so much fun to play with some AV clips ;-)
Looking forward to a video to see what you can make with it!

User avatar
gradek
Hasn't felt like this about software in a long time
Posts: 238
Joined: Thu Oct 05, 2006 20:14

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gradek »

gpvillamil, Thanks so much for making this. What a great idea, and very useful I might add. I would like to see a step sequencer built into future versions of R3. But for now you Max patch works great.

Overall my experience was good. I quickly learned that turning on a pattern meant that it would not run in sync with the other active patterns without hitting the reset all counters button. It would be nice for future version to have a sync button so that all patterns are running in sync. This could be problematic however if the lengths are different, so I'm not sure this is possible. It would be useful in a live setup if your building a new pattern to have it start in sync. otherwise hitting reset makes all the clips jump back to Poisson 1. not a desired live effect. I guess I could start all clips, then mute the ones I'm working on till I'm ready. :-)


After just doing some quick test, my first inclination was to try to use it as a normal drum sequencer. So I setup some clips with drum hits and wanted to make a beat. Although this is not a simple as I though it would be since each step in the pattern is a quarter note. Easy for a 4/4 drum line, but not great for hi hat hits. To get around this issues I had to multiply the BPM by 4x so 120 became 480. This simulated the 120 BMP and gave me 16th note flexibility in triggering clips. The down side to this is that working in 480 BPM is not desirable. since any other audio would be playing way too fast. Not to mention R3 Tops out at 500 BPM so no possibility for any fast drum beats. Note if you want to try this, make sure all clips iare set to play once, and that the beat snapping is turned off, since the sequencer keeps the tempo.

Any way to change the notes in the sequencer to 1/8 or 16th?

Now I understand the need for R3 to be able to play video clips back that are not stretch to the length of the audio. so the clip starts on a drum hit, and clip keep playing until the video is done.
http://www.resolume.com/forum/viewtopic ... deo#p21357


One downside right now is that with the Max 5 Runtime you can't save patterns when the program load everything is reset. :-(

One more suggestion would be to allow the ability to sequence a clip as well as a layer. Making this patch more flexible. for example I want a pattern sequence to just be on or off and trigger the same clip. like a drum machine. layer sequence is cool too, gives more options of what clip is played, but it was a bit silly to keep entering a 1 all the time. I'd just like click the clip on and off, instead of entering numbers so I can quicky make a beat. or perhaps another way of doing it would be to enter numbers, then click the box to make it active or not, allowing quick modifying of the pattern without changing number data.

Ok, that was long a detailed feedback. Thanks again. I'm gong to be implementing this patch into my set!
Want to map LED rings with Resolume? Then look no further: https://goo.gl/f2dPGu

User avatar
gpvillamil
Wants to marry Resolume, and Resolume said "yes!"
Posts: 550
Joined: Mon Apr 04, 2005 03:33
Location: San Francisco, California

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gpvillamil »

Hey, thanks for feedback!

The pattern sync issue is true: I've considered having the pattern clocks all be (master clock modulo pattern length), so that all patterns of the same length, or multiples, would run in lock step. For now, I just use the mute function (that is what it is for!) and cue the patterns in manually.

I did notice the full note vs. quarter note issue. I'm working on setting it up so that each layer can run at a multiplier of the the BPM, so master BPM could be at 120, but a specific layer could be sequenced 4x time (or in other words, each step becomes a 1/16 note).

One thing to keep in mind is that at those speeds, a lot of data is being sent, and sometimes Resolume gets saturated. I've had somewhat better results by sequencing 4 beat clips, instead of every beat, and using Resolume's own BeatLooper to get the really fast percussive effects.

Clip sequencing is a good idea, and I can easily build that.

I'm in the midst of changing the preset storage mechanism, so that it will work in the runtime. I'm currently using a mechanism that saves presets in the patch, but will soon move to one that saves everything in an external xml file.

User avatar
gradek
Hasn't felt like this about software in a long time
Posts: 238
Joined: Thu Oct 05, 2006 20:14

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gradek »

Thanks for the quick reply. Good to hear your already working on an update. XML saving will be super. The icing on the cake would be midi mapping for the patch so that it can be control with hardware. for example muting sequences, or switching between stored sets. without using the mouse! or is that already possible?
Want to map LED rings with Resolume? Then look no further: https://goo.gl/f2dPGu

craftycurate
Is seriously in love with Resolume. Met the parents and everything
Posts: 322
Joined: Sat Jul 26, 2008 20:26

Re: Step Sequencer for Resolume Avenue - Max patch

Post by craftycurate »

Excellent = thanks for this!
Win7 x64 Pro | 8GB | Nvidia Go 650M/2GB

User avatar
VJair
Wants to marry Resolume, and Resolume said "yes!"
Posts: 609
Joined: Wed Jan 19, 2005 21:23
Location: Kent - UK

Re: Step Sequencer for Resolume Avenue - Max patch

Post by VJair »

i finaly had a good play with this at the weekend ( i was working at a festival and used it during a couple of sets there ) overall my impression was very good, its a great addition to avenue and allows a more musical approach to clip triggering. thanks so much for taking the time to make it and release it to us all.

being able to specify different note lengths / having different multipliers would be good ( i see it mentioned above ) if it is possible, it would be amazing to be able to specify lengths on a per step basis. maybe even if you could have it so it either holds the clip or only retriggered clips when a new clip number is specified. for instance, have one clip that keeps playing for 3 steps and 1 clip that only plays on the 4th step.

how about midi control of the tap tempo button? i found having to switch between the max patch and avenue to update / retap the tempo could interupt my flow.

and for my final idea ( this one may be more complicated ) how about having an lfo or two in the sequencer which could be freely assigned to parameters in avenue? i know we can sync parameters in avenue to the tempo, but they all have smooth curves.... how about a square wave function, thereby allowing an on / off for parameters.... it would allow the channel switching that was available in resolume 2.

User avatar
gradek
Hasn't felt like this about software in a long time
Posts: 238
Joined: Thu Oct 05, 2006 20:14

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gradek »

Yeah, midi mapping would be super cool. That would make using the max patch better suited for live performance.

I'll second the need for LFOs in R3!
Want to map LED rings with Resolume? Then look no further: https://goo.gl/f2dPGu

User avatar
gpvillamil
Wants to marry Resolume, and Resolume said "yes!"
Posts: 550
Joined: Mon Apr 04, 2005 03:33
Location: San Francisco, California

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gpvillamil »

VJair wrote:...being able to specify different note lengths / having different multipliers would be good ( i see it mentioned above ) if it is possible, it would be amazing to be able to specify lengths on a per step basis. maybe even if you could have it so it either holds the clip or only retriggered clips when a new clip number is specified. for instance, have one clip that keeps playing for 3 steps and 1 clip that only plays on the 4th step.
Good idea! I'm already working on a tempo multiplier. I think what you are saying by the lengths is to have the option to either hold or retrigger clips? You can already do this:

If you set up a pattern like this:

3 0 0 1 - clip 3 will trigger once and then play for as long as possible, then clip 1 will play
3 3 3 1 - clip 3 will retrigger 3 times, and the clip 1 will play
3 12 12 1 - clip3 will trigger once, the layer will go blank for 2 beats, and then clip 1 will play (assuming there is no clip 12 in that layer)

Basically you can use an empty clip in a layer to act as a "stop playing" signal. Otherwise, if you have a pattern with a clip # followed by 0, the clip will continue to play.
VJair wrote:how about midi control of the tap tempo button? i found having to switch between the max patch and avenue to update / retap the tempo could interupt my flow.
I'm looking at a general method of allowing MIDI mapping for multiple controls, but if there are any specific preferences for controls to map, I can easily do those as a one-off.
VJair wrote:and for my final idea ( this one may be more complicated ) how about having an lfo or two in the sequencer which could be freely assigned to parameters in avenue? i know we can sync parameters in avenue to the tempo, but they all have smooth curves.... how about a square wave function, thereby allowing an on / off for parameters.... it would allow the channel switching that was available in resolume 2.
This is quite straightforward, and I might implement it as an "effect sequencer" patch. What seems to work really well is to map the LFOs to Resolume's dashboard knobs, and then you can link anything else to those, including layer opacity.

User avatar
gpvillamil
Wants to marry Resolume, and Resolume said "yes!"
Posts: 550
Joined: Mon Apr 04, 2005 03:33
Location: San Francisco, California

Re: Step Sequencer for Resolume Avenue - Max patch

Post by gpvillamil »

VJair wrote:i finaly had a good play with this at the weekend ( i was working at a festival and used it during a couple of sets there ) ...
That's great to hear, btw! What festival was it, and what kind of stuff did you play? Any samples online?

Post Reply