patternist: trigger patterns with notes

pac
Posts: 30
Joined: Fri Nov 25, 2011 10:22 am

patternist: trigger patterns with notes

Post by pac »

patternist
Notes go in (buzz notes, midi notes, all the same.) Other machine's patterns get triggered as a result.

download (updated Dec. 30, 2014)
DLL:
http://007ee821dfb24ea1133d-f5304285da5 ... st_1.3.zip
source:
http://007ee821dfb24ea1133d-f5304285da5 ... ce_1.3.zip

features
  • List of assignments lets you choose which notes trigger which patterns of which machines
  • Optionally make note release stop the pattern
  • Optionally loop the triggered pattern
  • Quick access to associated patterns and machines by double-clicking in the list
  • And more... It can be thought of as a note-triggered version of Jeskola Live.
instructions
  • The song must be playing
  • The patterns don't start immediately. They start on the next "bar". (the bar length is just a parameter, like in Jeskola Live)
  • Any target machine must have a sequence (Now I will elaborate on this point because the naming might not be obvious. Each track in the Buzz sequence view is called a sequence (internally). Patterns are played on sequences, and if you want to trigger a machine's patterns, that machine *must* have at least one sequence created in the sequence view. Patterns triggered by patternist will interrupt any patterns currently playing on the target sequence.)
The idea came to me when I randomly came across Chaotic (it was a stochastic experience) and I saw this line:
Autopattern is instrument-bound pattern, triggered with every note of its instrument.
Chaotic suggests using this feature for ADSR patterns (so the notes of a synth would be accompanied by a pattern) but that's not doable with the current Buzz API, ie. you cannot trigger a pattern immediately when receiving a note on the same tick. I'm not sure if it would really fit into the way Buzz works: when a note is processed, it is assumed that patterns have already been decided for the current tick... maybe.

So instead of triggering patterns immediately it uses a "bar" system, which can be used in other interesting ways. It's ideal for controlling patterns with a keyboard or other controller. One could also use the pattern editor as sequence editor, but why would one do that? One is weird.
Last edited by pac on Tue Dec 30, 2014 1:11 pm, edited 2 times in total.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: patternist: trigger patterns with notes

Post by snowglobe »

Haha! Awesome! (you beat me to it!)
/me dls to try


EDIT: fantastic that you included the source as well!
mute
Posts: 417
Joined: Mon Nov 21, 2011 8:30 pm

Re: patternist: trigger patterns with notes

Post by mute »

yes, very cool :)
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: patternist: trigger patterns with notes

Post by tinga »

:dance:
absolutely brilliant
pac
Posts: 30
Joined: Fri Nov 25, 2011 10:22 am

Re: patternist: trigger patterns with notes

Post by pac »

Thanks all! Thanks snowglobe, I'm loving your new machines. Control machines like this are inspiring because you want to try out all the different modes in them, and you often end up with interesting and unexpected sounds, and new techniques for composing.

Yea, for the source, I tried to use cool C# features and make it more idiomatic (especially the GUI interaction part). There is still some spaghetti code parts but not much.

I also thought of another way this machine can be used: polyrhythm. It makes it easy easier to superimpose repeating patterns with any number of different lengths and signatures. Will test later...
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: patternist: trigger patterns with notes

Post by tinga »

Pac wrote:I also thought of another way this machine can be used: polyrhythm. It makes it easy easier to superimpose repeating patterns with any number of different lengths and signatures. Will test later...
Yes, it's just what I've try first.
I dream about a machine like that since a long time, pattern editor is now a database for peer machines, a simple chain like Accumulator->Patternist->ScaleSnapper is very powerful.
New patternXP, Snowglobe machines, Patternist, it's a major evolution.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: patternist: trigger patterns with notes

Post by snowglobe »

pac wrote:Yea, for the source, I tried to use cool C# features and make it more idiomatic (especially the GUI interaction part). There is still some spaghetti code parts but not much.
I haven't given it the study it deserves yet, but everything looks nice and clean at first glance.

OK, then, back to smashing my head against all the wtf-why-is-that-happening bugs in the one I'm trying to finish.
vinnie pine
Posts: 44
Joined: Mon Nov 28, 2011 9:55 pm

Re: patternist: trigger patterns with notes

Post by vinnie pine »

Been playing with this today. Simple but effective, works well for me as I'm writing a lot of loopy techno at the moment. Thanks for this.
Shro0m
Posts: 46
Joined: Tue Nov 22, 2011 7:34 am

Re: patternist: trigger patterns with notes

Post by Shro0m »

Great stuff pac :D
Looking forward to try patternist with "MPC Element" which i recently ordered. Now if only the postal service could get their finger out...
synthphase
Posts: 107
Joined: Sat Dec 17, 2011 7:57 pm

Re: patternist: trigger patterns with notes

Post by synthphase »

Neat machine. I got it to crash by pressing the bar param down arrow to see if it would go to zero. Obviously it doesn't. :oops:

Very useful machine and I could see using it all the time with different sized PxP patterns as was already mentioned. Any plans to make accessing the patterns quicker? If you have a ton of em' I could see selecting the machine then pattern for all your "sub" patterns taking quite a while. For now I'd be happy if there was an apply button so you stay in the GUI.
pac
Posts: 30
Joined: Fri Nov 25, 2011 10:22 am

Re: patternist: trigger patterns with notes

Post by pac »

@synthphase, I can't reproduce that crash... Maybe it only happens under certain conditions? On a certain OS, architecture, Buzz theme? (you never know...)

I like your idea of quick access to patterns and I added it! You can double-click on the pattern name in the list. You can also double click on the machine name to open its parameter window.
synthphase
Posts: 107
Joined: Sat Dec 17, 2011 7:57 pm

Re: patternist: trigger patterns with notes

Post by synthphase »

Woah! That's a nice gift for the whole family! I was talking about doing quick assignments from within the "assign note to pattern" dialog, but having the quick access to the patterns from within the main GUI is an even better feature. I did encounter a strange behavior though where I needed to add a new sequence track for a generator even if one is created automatically (as is the case for generators), before I could get the machine's list to pop in the GUI.

To get the crash I was talking about before I think a patternist pattern has to be playing a pattern (oh so meta). Here's a quick example:

https://drive.google.com/file/d/0ByKa_s ... sp=sharing

Open the GUI and click the down arrow to get the crash.
pac
Posts: 30
Joined: Fri Nov 25, 2011 10:22 am

Re: patternist: trigger patterns with notes

Post by pac »

Oops, I just realized the christmas version was completely broken! Here's a new version that:
- fixes the bug where nothing worked anymore (I think that was the "strange behavior" you mentioned, synthphase)
- fixes the crash synthphase talked about
- fixes another bug where a note-off would stop the wrong pattern

(New version in the first post)
synthphase
Posts: 107
Joined: Sat Dec 17, 2011 7:57 pm

Re: patternist: trigger patterns with notes

Post by synthphase »

Thanks for the update. It's working as before now and crash free.

Very handy way to do sub-patterns, which is how I'm using it. Though I can see the value as an updated version of BTD's Live, or the one Oskari made not that long ago.

After playing around with it as a sequencing/sub-pattern tool, I really want to set that counter to 0 now. Is there any way to have it respond in real-time to a note or at least on-tick, so it'd be in-sync with the rest of the song? (Without adding delay's). I could also see having some fun with drum-triggers hooked up to it, for live pattern playing by a drummer, etc.

Thanks again for this unique tool.
User avatar
AndersBrontosaurus
Posts: 516
Joined: Mon Feb 25, 2013 9:31 am
Location: Fellingsbro

Re: patternist: trigger patterns with notes

Post by AndersBrontosaurus »

Hello! This machine seems brilliant but I think I fail to use this in a proper way...

To use it in a live, realtime way...
-Do I have to be in pattern mode [F2] on the specific machine patternist to be able to use it or is there another way?
- Is there a way to assign some loops to break loop "on release and some on "note repeat"? I can offcourse create 2 patternist machines and assign all notebreak to machine #1 and note release on machine #2 but that's not very convenient.

Also,
- I can't use note release. Sound is just stuttering. Is this a bug or me making a mistake?
- It would be great if not only note but also key would be visible in GUI. (A)
- As mentioned above, if there is no way today to break loops differently, will it be in the future? (B)

Image


/Anders
pac
Posts: 30
Joined: Fri Nov 25, 2011 10:22 am

Re: patternist: trigger patterns with notes

Post by pac »

Hi Anders,
AndersBrontosaurus wrote:Do I have to be in pattern mode [F2]...
You don't have to, there are many ways of using it:
  • With a MIDI device, route the MIDI to patternist (eg. by selecting it in machine view), and leave the song looping in a blank spot with no patterns (or with patterns, preferably not clashing with the ones you're going to trigger live.)
  • You can also use it to make peer machines trigger other machine's patterns. Just think of it as a unit that turns notes into patterns. I'm not sure how far this idea can be pushed.
  • You can also make patternist patterns, triggering other machine's patterns in a pre-determined way in the song. Why would you do that? One reason would be to easily play patterns with different lengths and signatures, or at arbitrary times that don't really fit in the song's global time signature. PatternXP's subpattern feature allows something similar, but after trying it out, it seems that it can't really trigger other machine's patterns (?)
  • You can also use it in pattern mode [F2], as you said. It's a good way of trying things out, but it gets annoying after a while. If you're only using it like this, it's much better to use Jeskola Live!
AndersBrontosaurus wrote:Is there a way to assign some loops to break loop...
Good idea, I'll see about adding an optional per-assignment loop mode. I can see it being useful as a more advanced feature.
AndersBrontosaurus wrote:I can't use note release...
I can't reproduce that problem
AndersBrontosaurus wrote:It would be great if not only note but also key would be visible in GUI.
As I said, the pattern view [F2] isn't really a practical way to use patternist, and if I understand correctly, Jeskola Live is a better way of doing the same thing. This is why I'm not so keen on adding this "key display" feature that you suggest. Also, the meanings of keys would change if you use the pattern editor's transpose up/down input feature ([*] and [/] keys).

Anyways, here's my current "chopping board" for patternist:
  • per-assignment loop mode (default = "global")
  • loop checkbox should not exist! should just be another option in the drop-down.
  • auto background colors in list (one color per machine?)
  • click in "status" field to play/stop
  • a currently unassigned note should be pre-selected in "new assignment" dialog
  • select multiple patterns in "new assignment", use notes forth from chosen note
  • feature to automatically add all patterns of all machines in the song
  • warning when assigning a note that's already assigned (+ grey already-assigned notes in in combo box?)
  • some kind of piano keyboard view showing current assignments, like in NI Kontakt or IX split
  • browse machines and patterns in machine view (new tab in machine view "patterns"? drag patterns to patternist or to keyboard view or something)
If someone else knows C# and wants to participate I can always put it on Github.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: patternist: trigger patterns with notes

Post by rav »

Awesome machine, thank you ;)
pac wrote:
AndersBrontosaurus wrote:I can't use note release...
I can't reproduce that problem
My experience with this mode tells me, that... If you press key (without holding it), it is highly probable that it can work like standard loop mode, instead stop loop after releasing the key.
pac wrote: Anyways, here's my current "chopping board" for patternist:
  • per-assignment loop mode (default = "global")
  • loop checkbox should not exist! should just be another option in the drop-down.
  • auto background colors in list (one color per machine?)
  • click in "status" field to play/stop
  • a currently unassigned note should be pre-selected in "new assignment" dialog
  • select multiple patterns in "new assignment", use notes forth from chosen note
  • feature to automatically add all patterns of all machines in the song
  • warning when assigning a note that's already assigned (+ grey already-assigned notes in in combo box?)
  • some kind of piano keyboard view showing current assignments, like in NI Kontakt or IX split
  • browse machines and patterns in machine view (new tab in machine view "patterns"? drag patterns to patternist or to keyboard view or something)
Nice plans, i will be waiting.

Is it possible to add note offs after loop break per sequence? Would be great to have something like this to choose from the GUI.
User avatar
AndersBrontosaurus
Posts: 516
Joined: Mon Feb 25, 2013 9:31 am
Location: Fellingsbro

Re: patternist: trigger patterns with notes

Post by AndersBrontosaurus »

Hello Pac! Thanks for your informative reply!

About the F2-question I didn't ask the question properly or maybe I don't understand your reply. Or both.
My question isTo use Patternist in a live real-time way with only qwerty-keyboard, is there another way than F2?I don't have any midi-gear. My hope is that there is or will be a way to use it live with the GUI-window active, like Scalewalker. If the window is active then you can use the keyboard.
I envision a session with GUI-windows of Pac Patternist and Snowglobe Scalewalker side by side on the screen. Alternating between the machines and play with keys.

I realize I should get some midithings.


Since I only use Qwerty, this is also the reason for me to request the possibility to assign loops to letters (z,x,c...) rather than notes (c,d,e). Transposing does not matter to me.


Thank you for coding! <3



Choppinglist looks great by the way!
User avatar
AndersBrontosaurus
Posts: 516
Joined: Mon Feb 25, 2013 9:31 am
Location: Fellingsbro

Re: patternist: trigger patterns with notes

Post by AndersBrontosaurus »

Just flaming my last post, especially
My hope is that there is or will be a way to use it live with the GUI-window active, like Scalewalker. If the window is active then you can use the keyboard.
And, out of curiousity, carefully asking about the timeschedule for choppinglist.


/Anders
User avatar
AndersBrontosaurus
Posts: 516
Joined: Mon Feb 25, 2013 9:31 am
Location: Fellingsbro

Re: patternist: trigger patterns with notes

Post by AndersBrontosaurus »

pac wrote:Hi Anders,
AndersBrontosaurus wrote:Do I have to be in pattern mode [F2]...
You don't have to, there are many ways of using it:
...
[*]You can also use it in pattern mode [F2], as you said. It's a good way of trying things out, but it gets annoying after a while. If you're only using it like this, it's much better to use Jeskola Live! [/list]
You're quite right. If I could assign patterns to qwerty-keys in Jeskola Live I'd stop pestering you about this.

What I would like to achieve is an environment that looks like the photo below with autohotkey used to toggle between the two active windows in order to be free from some of the whizzing around with the mouse.

Irealize that there is a workaround including an extra keyboard connected through a virtual Midicable. This would demand learning HIDmacros and MIDI a little better than today's level. Learning more is always good but it would be sweet to get you to do the dirty work for me.


Image
Post Reply