[PD] [OT] Sequencing design

Hans-Christoph Steiner hans at eds.org
Sat Dec 3 22:47:30 CET 2005


Hmm, now that you mention data structures, I build a sequencer of sorts  
starting from the data structures example included in Pd.  You can  
download it here:

http://at.or.at/solitude/

Basically, it sequences playing lots of overlapping samples.  But its  
not your typical sequencer.

.hc

On Dec 3, 2005, at 5:33 AM, Frank Barknecht wrote:

> Hallo,
> bstine at telus.net hat gesagt: // bstine at telus.net wrote:
>
>> I know this is a little off topic, but this seems like the best place  
>> to ask.  I
>> was wondering what the best way to implement a sequencer is.  I know  
>> that's a
>> big question, but I mean in the most abstract way.
>
> It is indeed a big question. There are several approaches to
> sequencing in general, some are also used in Miller's Pd docs and of
> course in his book (http://crca.ucsd.edu/~msp/techniques.htm) in the
> chapter on control computations. In the RRADical sequencers mentioned
> here I took a very simple approach, which is limited to pop music in
> 4/4 and with constant beat dvisions: I just divide a beat into 16 or
> 32 event slots, which are visited by a counter. If there is an event
> stored, when the counter hits a specific slot, it is output. Events
> can be one or two numbers in the current sequencers. This looks like:
>
> slot ev1 ev2
> 0    60 127
> 1
> 2    60 0
> 3    40 75
> ...
> 16   60 127
>
> Then I just use many of these to build real patterns.
>
> Note that this is indeed very limited. A better approach IMO is to
> introduce a more general notion of an "Event" and then store the time
> of occurence or the so called Inter-onset Interval. The IOI is more
> popular in computer music I think, as you can do a lot of fine
> calculations on it, like scaling the IOI will make a sequence run in a
> differnet tempo etc.
>
> [qlist] uses IOI times and can be used to record and playback events.
> However it's hard to get at the data stored inside a qlist to do
> funkier things. To find out the IOI between two events a
>
>   [t b b]
>   |    |
>   [timer]
>
> has proven to be very reliable.
>
> Miller's data structure sequencer in the data structure examples is
> also somehow using IOI internally. The data structure events use
> x-position as onset times, but then Miller calculates the actual IOIs
> to drive a [delay] to the next event.
>
> Data structures are really nice to do sequencing. You can put a lot of
> data, not just note and velocity, into the structure, position it and
> play it, do transformations by traversing all notes etc.
>
> An example on how to record into a data structure windows is here:
> http://royalrabbit.goto10.org/svn/goto10/pd-patches/fbar/pipeseq/
>
> Instead of using a data structure window to store a sequence, in other
> patches I also used the h_list and h_map externals from PDConainter
> for sequencing. They lack the graphical appearance, but have some
> other nice features. The basic idea there is to either [timer]-tag
> rows in a [h_list], then sent the complete list to [pipe], or use a
> [del]-construction similar to the data structure sequencer which uses
> IOI times. This is more flexible if you want to to stuff like tempo
> changes while a sequence is playing - which never happens in techno
> music so there all this unnecessary anyways.
>
> For reading about this stuff, I can for example recommend Robert
> Rowe's "Machine Musicianship" at MIT Press, IIRC.
>
> Ciao
> --  
>  Frank Barknecht                 _ ______footils.org_ __goto10.org__
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->  
> http://lists.puredata.info/listinfo/pd-list
>

________________________________________________________________________ 
____

"I have the audacity to believe that peoples everywhere can have three  
meals a day for their bodies, education and culture for their minds,  
and dignity, equality and freedom for their spirits."
                                             - Martin Luther King, Jr.





More information about the Pd-list mailing list