Pattern Synthesis

I wonder how much of this is a sort of byproduct of instrument building, too. In the 90s and early 00s, folks built their instruments (or had friends build them) because there wasn’t the sort of industry of small (and large) tools available that there is now.

Certainly there’s no need to be an instrument builder to make good music, but I know personally the process of creating the software I use to make music is deeply entangled with the compositional process, and if nothing else leads me often to think in different ways than I do when I’m approaching a premade instrument from the outside.

Again, absolutely not trying to shame the use of pre-existing tools! I just wonder how much of that vital exploratory energy that was present then was from having to start with a simpler set of basic tools and build more complex behaviors through experimentation and imagination.


TIGERBEAT :heart: I’ll never forget seeing kid606 in the ottobar in baltimore, ca 2003. Also reminds me of when I saw Taylor Deupree, Richard Chartier, William Basinski, and Errorsmith at a small festival on the jhu campus shortly thereafter. My head was reeling from all that stuff, especially since I was in a music school, trying to decide where my loves lie etc…

Anyway, I definitely agree with the idea of reckless experimentation (or ideation) being the vibe at the time. I’m sure someone else has defined the phenomenon in a general way, but once there are widely accepted successes in a new domain, people give weight to them - eventually leading to style or subgenre and the constraints that come along with then. Prior to that, we’re not anchoring ourselves… seems like a better place to be when writing in any case…


edited because I don’t think my post was really adding anything

1 Like

Hi everyone, I’m posting this in this thread since it started it all. After a failed first attempt three years ago of diving into Mark Fell’s pattern synthesis, I decided to give it another go by rereading his PhD thesis as well as the arpeggiation chapters of the incredible book of Alessandro Cipriani and Maurizio Giri on Max 8 and this time I have managed to build two patches. Both rely on step duration and linked velocity and note duration modularity but one focuses on step repetition, while the other does it on step division. Now I will try to make them interact with the grid. I hope you enjoy them!


killer! (and 20 char)

1 Like

I read Mark Fells thesis this summer, and was intrigued, never quite got the pattern synthesis idea totally, though, might have to revisit it…

1 Like

One more technique by profiting of the high resolution of step duration and division you can get some textural stuff on physical modeling instruments


Really nice organic feel. Beautiful.


This looks and sounds beautiful. Do yo mind sharing the patches?


Yes - very nice

So does it run through each step at variable triggers per step? (ie the length of the sequence is not fixed)

Interesting because I started a similar interpretation but was working with fixed cycles and variable rates using ease~

And is the sound Ableton instruments or Elements out of curiosity?

1 Like

Yes I was actually planing on making an app for the grid but I keep going back and forth with Fell’s thesis, since I’m encountering many of the situations that he describes. Like each time that I changed the step number the sequences of the note duration/velocity and the step duration/repetition would go unsynced, so I went to great lengths into making everything synced but now I actually prefer the happy accidents of the rawer version. As Mark Fell writes, there’s this effacing of the instrument/piece division, because for each piece the instrument or patching has to reconfigure itself. As soon as I have something more functional I can share it, I’m interested in exchanging notes.


Yes, exactly, each step has a different duration and each step can be subdivided to have that ratcheting effect.

With fixed cycles you mean with a master clock? Because when thinking of implementing a max for live version I realized that it would have to be a version where there’s live’s master tempo and then step duration would vary according to a division of it like 1/4, 1/8, 1/16 and so forth but that sounds like a domesticated version of mark fell’s pattern synthesis, I don’t know, I will try it. I had no idea about ease~, looks really interesting.

Yes, max is sending midi to just one note (c2) into ableton’s collision airy tube bass preset. It was sounding good but I wanted to try max modulating live’s clock through ableton link with the addition of a second note (c3) in a 4 bar loop and it works pretty good, although live’s clock “only” goes up to 999bpm.

I wondered if the length of the sequence was set (eg: 3000ms) and the number of steps then divided into that, or if the sequence played through in a live way - one step at a time. Sounds like the latter.

Nothing to stop you making a M4L device that does not use the Live clock… but then also perhaps it’s worth keeping everything compositional inside Max?

Yes, it is the latter. In the second video each step can have a different duration between 1 to 1000ms so each time you vary the duration of the steps the length of the whole sequence varies. However, each step can be subdivided in equal parts because the first two multisliders are always on sync, so if for instance the first step of the top multislider is 150ms and the value of the first step of the second multislider is 3 you would get three substeps of 50ms (the difference of making that operation instead of having 3 consecutive steps of say 50ms each on the first multislider without repetition is that each step has a note duration and velocity value, so in the first case you would necessarily get 3 substeps of 50ms with the same note duration and velocity values, while in the second case you could have 3 steps of 50 ms with different note duration and velocity values). Sorry for the maybe unnecessarily long explanation, I hope it’s more clear now. Your approach sounds really interesting with variable rates within a sequence of fixed length. I will read more on that ease~ object.


thanks you for the info. looking forward to seeing it in full effect.

1 Like

I am trying to replicate something similar in purr-data (haven’t tested in standard pure-data yet, i intend to have it working on both).
I don’t think it is correctly implemented, as i am not a native speaker, and i haven’t read Mark Fell’s PHD document with attention and recently.

Would this be of interest? i have send it to a repo and made it public :man_shrugging:

edit: add link to public repo


Yes totally, maybe you can tell what are you having trouble with or I can send you a part of the patch.

Before deciding on how to adapt the two previous studies, I have managed to build a first patch for the 128 grid based on a pattern synthesis study by Mark Fell entitled snd_mp108_track6_2001. It is pretty straight forward -just 8 sequences that can loop in different multiples (1-16) of the base ms interval, with an added swing percentage- but great fun. You don’t need a grid, you can just directly draw a pattern on the multislider. Let me know what you think!!!

Fell Pattern Synthesis Studies 1.maxpat (125.8 KB)


Thanks for sharing! I’m excited to explore it.


cool. will give a spin later.

1 Like