Also on the O_C Hemisphere front: a recent update added Enigma, which sounds really neat. Essentially you can save Turing machines and then sequence them. I haven’t played with it, and it seems to have some memory limitations, but it sounds fun to play with. Recall on random sequencers seems very useful to me.

1 Like

I would lie if I would say that this is the most exciting sequencer but I had an idea for BrainF*** language based sequencer for O_C so I made prototype in browser to test idea:
http://firmanty.com/brain/
If somebody doesn’t know what BrainF*** language is there is a good explanation here: https://esolangs.org/wiki/Brainfuck
My main “generative” extensions were to add three pair of opcodes:

  • r/R which set memory cell under the pointer to random value
  • j/J which jump to the random point in program
  • c/C which replace random opcode in program with random opcode

the lower case versions have an additional property of only triggering once and then removing themselves from program code.

On O_C I thought that opcodes might be entered by quantising pitch CV input and assigning various opcodes to various pitches.

EDIT: if someone would like to modify it there is a code at github: https://github.com/kfirmanty/brain-seq but I must warn that the code quality was not something that I had in mind when writing this prototype :smiley:

2 Likes

Do you mean you can lock the Turing machines so they’ll produce the same result every time you’ll recall the saved preset? That’s exactly what I’m missing with most generative sequencers too. Most of them don’t offer Freeze at all. Some offer Freeze, but no Reset (looking at you, Marbles). So Freeze, Reset and Save/Recall would be great!

Does that mean masking steps of a scale and then rotating this mask? Like C major, Mask: c, e, g, Rotate: d, f, a?

1 Like

20 chars of yyyyyup!

Hi,
Inspired by this great topic: Programming languages built around the Grid I got an idea to try what would happen if we would use CA to generate drum patterns but also use L-System to modify this CA rule on every bar start. Here is my quick exploration of this idea made today:
http://firmanty.com/lsystem-ca/ (but click at least once somewhere on site for drum sound to play) and source code is here (but it is very messy) https://github.com/kfirmanty/lsystem-cellular-automata .
The first row displays the init pattern which will be used in addition to init CA rule to generate first bar of drum pattern. The second row displays current CA rule. The rest are drum patterns. For any sound to play please click once somewhere on site because browsers block any sound from playing if user did not interact with the site (and rightly so). I also added kick every four beats so you there is a steady point of comparision to the generated patterns.
CA Rule is restarted to init rule every 8 bars and to get different init CA rule just refresh the site or click randomizeInitRule text in control panel on the right.
The l-system rules can also be changed from panel.

4 Likes

Been asking myself a strange question lately: can a generative beat be danceable? Or more to the point? What form of dance works with each type of generative beat?

But also thoughts around giving gravity to the one (and possibly other beats) so that they appear more often and less randomly.

5 Likes

I really like the inverse question “What form of dance works with each type of generative beat” but I am not equipped to answer that so back to “can a generative beat be danceable” I think that it can be but there needs to be some form of repetition included in beat or at least changes between patterns must be not overall dramatic. I mean someone with musical training can probably feel the pulse even in random stream of events as long as they are quantised to some grid, but I think most people get accustomed to beat by repetition. From the practical standpoint what helps:

  • if you generate beats make it cyclic for example reset it to init state every 8 bars (like I did in linked sequencer)
  • use algorithms that change beats every bar only by small amount or “move” around the target pattern set by user -> I found the genetic algorithm to be really good for this. Despite the fact that beat constantly evolves it does that by exploring the possibilities space around the target pattern and I feel like this helps in making the overall beat feel much more coherent.

EDIT:
Another thing that people (myself included) often forget that a part of the beat can be generative while other can be composed manually. From my own experience if you have some form of a strong groove on kick and snare/clap then you can basically throw anything random on other elements like hihats etc.then add some nice chord progression using pad type sound and you basically have an IDM song ;d

4 Likes

So glad to see this thread coming back! Has anyone mentioned Mark Fell’s dissertation work on the sequencers he was building?

Also, co-sign M - honestly best/most musical sequencer I’ve ever seen, though I’m waiting to be proven wrong/would love to see what else is out there.

Has anyone ever seen or played with Jam Factory? Was mentioned an article by David Z in CMJ ages ago, but haven’t been able to find much documentation otherwise -
https://www.jstor.org/stable/3680237?seq=1#metadata_info_tab_contents

2 Likes

My personal conclusion, thus far, is that generative isn’t great at being dancable but procedural can be. In modular form, I’d compare Marbles to Tuesday or Grids.

It strikes me whether thinking about each of those problems actually speaks to the questions you want to answer, because they involve really different kinds of process and thinking about musical systems.

You can add more and more constraints to try and find solutions, but my “modular journey” has been mostly focused on that question, and I’ve moved more and more away from generative elements with regards to my dance-y stuff. Not because it’s impossible, but because I found moving from Generative > Procedural > Improvizational to be the rewarding path for exploration.

To expand on that a little more: A core conceit of how I would interpret dancable music is repetition. So for example, Marbles will happily repeat a section you like, but there is often a moment where you lower Deja Vu and the new thing Marbles introduces feels… wrong? And say you want to return to a previous element - again repetition - sorry, that’s not what it is suppose to do! Marbles certainly isn’t the end all be all, but it’s good for illustration.

One can build a system in Max or a combination of modules that exerts a different opinion of how to generaate and repeat procedural or generative elements, but I find the way I want to shape those things to become more an more about the combinatorics of reliable inputs with the chaos of what I personally choose to introduce into the system. Whereby, I implement more knowable controls to create something that is both expected and unexpected in satisfying measures.

6 Likes

I guess a really simple thing to do is keep a looper nearby. Generate something you’d like to hear more of? Loop it…

3 Likes

A thought provoking question. Generative music has a very broad definition in general, but it’s interesting to think about this question in the vein of generative systems that are more or less sonifications of mathematical sequences like L-Systems or Cellular Automata. There’s nothing inherently musical about them to begin with (in the sense that they were created with a mathematical logic, not a musical one).

There are many traditional rhythmic patterns that we associate with particular types of dance and movement. One has to wonder how they evolved. Did one inform the other? Did they evolve together?

In this context, we know the generative music comes first, and it’s up to the dancers (movement specialists?) to bring an interpretation to that. And what’s that process like? Musical entrainment comes to mind for instinctive moment (cue my unhelpful “just add a backbeat!” comment). Hungarian dance and sorting algorithms come to mind for more formal systems. What does the movement interpretation say about the amount of musicality (or lack thereof) that any kind of sequence has?

It’s an interesting headspace for sure. Thanks for sharing.

2 Likes

This is a fantastic question, and one which interests me greatly. It would seem that most of the discourse about the intelligence of an algorithmic instrument is tied to what ears and numbers perceive, not moving bodies.

2 Likes

Merce Cunningham and John Cage would often choreograph and compose separately, not revealing what each would come with until the performance. The music would sometimes be generative, and the dancers danced, but not necessarily “to” it.

That doesn’t help!

3 Likes

Hemisphere Suite for Ornament and Crime has a thing called Enigma which sequences saved Turing Machines, which is thing worth mentioning, in case anyone wants to explore it.

6 Likes

(note; I’m fairly sure I picked this up because @TomWhitwell & @disquiet were talking to each other on twitter - so apologies for randomly picking up someone else’s work & carrying on the conversation elsewhere…)

Reading this

& thinking about the modular I’m building for my “live”* setup

It occurs to me that if you wired all the outs from teletype/ansible to various Parameters AND generated sequences you could largely automate Tom’s script. I have messed about with generative synthesis before

(in this case every single note had its own randomly generated patch)

but this seems an interesting path - anyone know of other work in this vein - generative synthesis as well as sequencing…

*live from my office currently…one day to be seen in the currently fictional outside world…

9 Likes

Interesting thread, but something about the premise bothers me. In a modular system, any sequencer at all can be used effectively in a generative patch. You don’t even require a sequencer at all to make a generative patch. For me, it’s much more fun to patch my own generators out of utility modules.

3 Likes

I enjoyed the discipline of the project - ‘make this kind of noise now!’- with the fun/stress of interpreting strange & contradictory instructions. Beyond that it’s not really anything more than a bunch of random number generators

3 Likes

The thread is not about modular systems specifically, it wasn’t even what I had in mind when I’d asked the question…

Sure, but modular techniques are now available in the DAWs. Bitwig especially is fruitful for patch programming.