Page 1 of 2

patternist: trigger patterns with notes

Posted: Sat Dec 13, 2014 4:44 pm
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.

Re: patternist: trigger patterns with notes

Posted: Sat Dec 13, 2014 7:23 pm
by snowglobe
Haha! Awesome! (you beat me to it!)
/me dls to try


EDIT: fantastic that you included the source as well!

Re: patternist: trigger patterns with notes

Posted: Sat Dec 13, 2014 9:07 pm
by mute
yes, very cool :)

Re: patternist: trigger patterns with notes

Posted: Sat Dec 13, 2014 11:03 pm
by tinga
:dance:
absolutely brilliant

Re: patternist: trigger patterns with notes

Posted: Sun Dec 14, 2014 6:46 pm
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...

Re: patternist: trigger patterns with notes

Posted: Tue Dec 16, 2014 3:03 am
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.

Re: patternist: trigger patterns with notes

Posted: Tue Dec 16, 2014 5:59 am
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.

Re: patternist: trigger patterns with notes

Posted: Wed Dec 17, 2014 11:11 pm
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.

Re: patternist: trigger patterns with notes

Posted: Thu Dec 18, 2014 5:36 pm
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...

Re: patternist: trigger patterns with notes

Posted: Sat Dec 20, 2014 5:54 am
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.

Re: patternist: trigger patterns with notes

Posted: Wed Dec 24, 2014 2:19 pm
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.

Re: patternist: trigger patterns with notes

Posted: Sat Dec 27, 2014 5:26 am
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.

Re: patternist: trigger patterns with notes

Posted: Tue Dec 30, 2014 1:06 pm
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)

Re: patternist: trigger patterns with notes

Posted: Thu Jan 01, 2015 9:05 pm
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.

Re: patternist: trigger patterns with notes

Posted: Fri May 01, 2015 9:44 pm
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

Re: patternist: trigger patterns with notes

Posted: Thu May 07, 2015 5:45 pm
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.

Re: patternist: trigger patterns with notes

Posted: Sun May 10, 2015 11:15 am
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.

Re: patternist: trigger patterns with notes

Posted: Fri May 29, 2015 9:16 pm
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!

Re: patternist: trigger patterns with notes

Posted: Fri Aug 21, 2015 10:52 pm
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

Re: patternist: trigger patterns with notes

Posted: Tue Oct 27, 2015 11:20 pm
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