(the product formerly known as) Epoch

Official support for: loomer.co.uk
Locked New Topic
RELATED
PRODUCTS

Post

Colin, care to share some generative music in the meantime? That would feel like a small step closer to the beta. :)

Post

Hi Colin

Mmm... I always thought Markov chains look to what has just happened in order to influence what is to come....so a first order Markov chain will look one step back, a second order two steps back etc. So the higher the order the more determined or limited will be the next step. Can this wonderful new tool do this idea?
..

Post

Absolutely: the example I used before, where CV values correlate to possible next steps, was just a basic first-order chain, using a single memory of the current step.

If you wanted to build more complex Markov chain, one with a higher order, I'd probably recommend you use one of Epoch's Lua modules, rather than trying to build it from individual mathematical modules (although you could do it either way. Lua just makes it much easier.) The approach I'd use I'd would be to define a transition table in a Lua module similar to this :

Code: Select all

transitions = {
    { {1, 3},  {1, 2, 3} },       -- if was previously on step 1, but now on step 3, go to step 1, 2 or 3. 
    { {2},     {4, 5, 6, 7, 8} }, -- if on step 4, go to step 4, 5, 6, 7, or 8
    { {4, 1},  {4} },             -- if was previously on step 4, but are now on step 1, go to step 4
    ...
}
[/size]
The first numbers in a row correspond to the current and previous steps; the second to the possible outputs if the step history is satisfied.

A sequencer's step output can be plumbed into this Lua module. I'd add a tick function to the script (which, as the name suggests, is called every tick: this is where you put your Lua logic) which will keep a memory of the current and previous n steps, and use it to generate a step transition from the possibilites. Connect an output from the Lua module back to the sequencer's index input, and Andrey Markov's your uncle.

So that was a long winded way of saying: yes, Epoch can do this!
Colin, care to share some generative music in the meantime? That would feel like a small step closer to the beta.
Even better: I'm not far from getting the sequencer UI nailed down, at which point I can post screenshots - and perhaps more importantly - videos! It'll certainly make the possibilities of Epoch clearer when you can see how the router and sequencers integrate.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

Great news and thanks for the explanation.
..

Post

No problem at all. I'm glad to get these kind of questions: it's absolutely what I expect people will use Epoch for, and being forced to think about how I'd implement such a set-up ensures that Epoch covers all bases.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

Colin any (global) randomization features and how extensive if so?
"The educated person is one who knows how to find out what he does not know" - George Simmel
“It's what you learn after you know it all that counts.” - John Wooden

Post

jensa wrote:Colin, care to share some generative music in the meantime?
Coudl this be a replacement for Noatikl?

Post

Colin any (global) randomization features and how extensive if so?
Do you mean in terms of populating the sequencers? If so, yes, there are various randomisation functions you can use to generate patterns, as well as evolve (which takes the current pattern and mutates it slightly) and re-arrange (which takes the individual steps and re-arranges them).

In terms of randomisation during playback, the options are limitless really. It's easy to break out of the rigidly fixed sequenced structures and add some creative random possibilites. An obvious one would be to use a CV row as the 'probability' of a note playing, easily done with just a few modules, a technique that yields great results with drum patterns, but that really is scratching the surface. You can modulate just about anything in Epoch, and have lot of low levels modules to build contraptions that produce interesting random, algorithmic, or chaotic modulation sources.
Coudl this be a replacement for Noatikl?
In the sense of, both can produce generative music, yes. I've not used Noatikl (although, many years ago, I did spend some time with its ancestor, Koan), but I'd say that Noatikl appears more 'high-level', where-as Epoch more 'low-level'. I hope I'm not misrepresenting Noatikl - I've not used it enough to comment - but I expect that you'd get vastly different results from it than from Epoch. There's probably room in your arsenal for the pair of them.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

colin@loomer wrote:
Colin any (global) randomization features and how extensive if so?
Do you mean in terms of populating the sequencers? If so, yes, there are various randomisation functions you can use to generate patterns, as well as evolve (which takes the current pattern and mutates it slightly) and re-arrange (which takes the individual steps and re-arranges them).
Great stuff. I've always held that the randomization features should have their own little variability. If one wants things to be ever so subtle to more noticeable to completely different, 1-100.
In terms of randomisation during playback, the options are limitless really. It's easy to break out of the rigidly fixed sequenced structures and add some creative random possibilites. An obvious one would be to use a CV row as the 'probability' of a note playing, easily done with just a few modules, a technique that yields great results with drum patterns, but that really is scratching the surface. You can modulate just about anything in Epoch, and have lot of low levels modules to build contraptions that produce interesting random, algorithmic, or chaotic modulation sources.
I can't wait to try this with percussion, everyone should be in for a wild ride.
Sequencer in random mode.... Image

Controlling never ending real time variability, that is something that greatly interests me.
"The educated person is one who knows how to find out what he does not know" - George Simmel
“It's what you learn after you know it all that counts.” - John Wooden

Post

I can't wait to try this with percussion, everyone should be in for a wild ride.
Sequencer in random mode....

if so, have a look to nummerology from five12, at their forum there are a lot of files that do all this,
there is one person called jue who made a lot of examples covering randomisation , brownianmotions or accumulations,
a lot of different kinds of discrete CV sequencers and so on.
Some music to listen is also there.

the problem is that its mac only

If you have a mac you can demo with some limitations, but the files from the forum could be loaded

Also waiting for the next informations about epoch, because it seems it lets us go mutch deeper in stepsequencing as it is possible today

Post

mmitch wrote:that is great to hear. very few sequencing environments seem to offer this sort of capability. Numerology does of course, and Synth Squad and Geist do also in their engines with their ratios, but its great to have options and of course I'm going to jump on this as soon as it is possible - it will be great to have another way of dealing with quintuplets, septuplets, etc...
I've finished implementing these improvements to Epoch's timing engine, and: wow, what fun I'm having with mercurial time! A sequencer's time division is now controlled by two main parameters: a division, between 1/64t and 8 bars, which specifies the base length of a step; and a multiplier, with values ranging from /32 to x32. The first value is multiplied by the second to give the overall division time for the sequencer. So, if you want to have a sequencer's basic step length to be 7/32t, you'd set the division to 1/32t, and the multiplier to x 7.

And that's not allowing for the per sequencer step options, in which we have count, the number of times the step is played, which rather importantly can also be set to 0 to skip a step, and step-length, which again is a multiplier ranging from /8 to x32. Finally, we have a groove which will alter a step's overall length by +/- 33%: a few % applied randomly here does wonders to humanize rigidly metronomic pieces.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

colin@loomer wrote:
mmitch wrote:that is great to hear. very few sequencing environments seem to offer this sort of capability. Numerology does of course, and Synth Squad and Geist do also in their engines with their ratios, but its great to have options and of course I'm going to jump on this as soon as it is possible - it will be great to have another way of dealing with quintuplets, septuplets, etc...
I've finished implementing these improvements to Epoch's timing engine, and: wow, what fun I'm having with mercurial time! A sequencer's time division is now controlled by two main parameters: a division, between 1/64t and 8 bars, which specifies the base length of a step; and a multiplier, with values ranging from /32 to x32. The first value is multiplied by the second to give the overall division time for the sequencer. So, if you want to have a sequencer's basic step length to be 7/32t, you'd set the division to 1/32t, and the multiplier to x 7.

And that's not allowing for the per sequencer step options, in which we have count, the number of times the step is played, which rather importantly can also be set to 0 to skip a step, and step-length, which again is a multiplier ranging from /8 to x32. Finally, we have a groove which will alter a step's overall length by +/- 33%: a few % applied randomly here does wonders to humanize rigidly metronomic pieces.
:o :-o :shock:
I really want this NOW :hihi:

Cheers
Dennis

Post

Sequencer UI screenshot, please...:wink:

Post

I'm nearly done on the final* sequencer type, which will be the 8-row Drum Sequencer. After which there needs to be a final pass on all whole Sequencer UI window. And then, my patient followers, only then!

* Final for v1 that is. Amongst other code I've got simmering on the Loomer development stove, I've been working on some really nice MSEG sequencers a la Absynth, Zebra. These were originally ear-marked for Sequent, but I think they'd also be useful in Epoch.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

colin@loomer wrote:humanize rigidly metronomic pieces.
Image

colin@loomer wrote:* Final for v1 that is. Amongst other code I've got simmering on the Loomer development stove, I've been working on some really nice MSEG sequencers a la Absynth, Zebra. These were originally ear-marked for Sequent, but I think they'd also be useful in Epoch.
Esp if you can imp/exp presets across the various products! :tu:
"The educated person is one who knows how to find out what he does not know" - George Simmel
“It's what you learn after you know it all that counts.” - John Wooden

Locked

Return to “Loomer”