Kyma Forum
  Tips & Techniques
  Euclidean Sequencer

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Euclidean Sequencer
cristian_vogel
Member
posted 23 January 2012 16:22         Edit/Delete Message   Reply w/Quote
Any thoughts about a Kyma approach to implementing a realtime Euclidean algorithmic sequencer?

read about that here http://ruinwesen.com/blog?id=216

and also MaxMSP / Java solutions here
http://www.hisschemoller.com/2011/euclidean-rhythms/


IP: Logged

ChristianSchloesser
Member
posted 23 January 2012 19:16         Edit/Delete Message   Reply w/Quote
nice ... i ve been messing around with the MaxMSP version and was thinking about porting it to Kyma too. Did you already start with aŽ capytalk version?

all the best
chris

IP: Logged

SSC
Administrator
posted 23 January 2012 21:14         Edit/Delete Message   Reply w/Quote

euclideanrhythms.kym

 
Give the attached a try!

Here is how the pattern is generated:

| c bar pulses trigger |
bar := !BeatsPerBar.
pulses := !PulsesPerBar.
trigger := 1 bpm: !BPM.

c := (trigger countTriggersMod: bar) * pulses / bar.
trigger gateWhen: ((c - c truncated) lt: (pulses / bar))

IP: Logged

cristian_vogel
Member
posted 24 January 2012 05:46         Edit/Delete Message   Reply w/Quote
So elegant! Forget the visual/set ordering, build the decision matrix trigger by trigger.

Works a treat, thankyou SSC.

I vote for inclusion in next update!


[This message has been edited by cristian_vogel (edited 24 January 2012).]

IP: Logged

cristian_vogel
Member
posted 24 January 2012 09:57         Edit/Delete Message   Reply w/Quote
Having fun with this... But already run up against an old one... how to reset a countTriggersMod:

In this situation, its about restarting the rhythm sequences from a first pulse (or non pulse)

Kyma has countTriggersReset: but still nothing like

(!restart bpm: 120) countTriggersMod: 12 reset: !restart

Can we restart the counting some other way?

IP: Logged

SSC
Administrator
posted 24 January 2012 10:36         Edit/Delete Message   Reply w/Quote
How about this?


| c bar pulses trigger |
bar := !BeatsPerBar.
pulses := !PulsesPerBar.
trigger := (1 - !Reset) bpm: !BPM.

c := ((trigger countTriggersReset: !Reset) mod: bar) * pulses / bar.
trigger gateWhen: ((c - c truncated) lt: (pulses / bar))


You may not want to reset the bpm in which case you would leave trigger as (in both the reference and the Euclidean FunctionGenerators):

trigger := 1 bpm: !BPM

[This message has been edited by SSC (edited 24 January 2012).]

IP: Logged

cristian_vogel
Member
posted 14 December 2012 07:53         Edit/Delete Message   Reply w/Quote
I just found


euclideanForBeats: pulses: offset:

in the list of CapyTalk that appears via apple-H .. interesting!

IP: Logged

cristian_vogel
Member
posted 16 December 2012 13:39         Edit/Delete Message   Reply w/Quote
I posted a starting point for exploring Euclidean Rhythms at the Twiki. http://www.symbolicsound.com/cgi-bin/bin/view/Share/Sounds#Algorithmic_Composition

With a little development things can get very interesting

A little example; http://soundcloud.com/station55/euclidean-rhythms-experiments

IP: Logged

CharlieNorton
Member
posted 04 January 2013 18:51         Edit/Delete Message   Reply w/Quote
Fascinating stuff. Too hypnotic.

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c