< Back to IRCAM Forum

Multi-seq. format of LIst of chord seqs

Hello:

I have a loop process that generate a list of chord-seq objects. I want to realise that list in a multi-seq object.

Here’s the output of my loop process…it looks to me like a list of chord-seq:

OM => ((#<chord-seq 23C73463>) (#<chord-seq 23C73463>) (#<chord-seq 23C73463>) (#<chord-seq 23C729C3>) (#<chord-seq 23C7416B>) (#<chord-seq 23C73463>) (#<chord-seq 23C729C3>) (#<chord-seq 23C73463>) (#<chord-seq 23C73463>) (#<chord-seq 23C729C3>) (#<chord-seq 23C73463>) (#<chord-seq 23C73463>) (#<chord-seq 23C729C3>) (#<chord-seq 23C7416B>) (#<chord-seq 23C73463>))

But when I use it as input to multi-seq, I get the following error:

OM > multi-seq must be initialized with a chord-seq list!
OM => #<multi-seq 242647A3>

Thanks for any help.
andrew

Hi Andrew,

You just have to flatten your list [in order to remove the sub-parenthesis] using the flat function (in Functions/Basic Tools/List Processing).

Best
And merry xmas
K

Karim:

Thanks very much, that fixed my problem.

Now, though, I have another question. I misunderstood the function of multi-seq…where it provides a polyphonic alignment of the chord-seq objects, what I’m really looking for is a sequential series. I have multiple source chord-seq objects, and I want to create one long progression from them.

I’ve tried using the second output of the chord-seq, through x-append in my loop sequence. That generates the same issue, where I have a list of lists with an extra parenthesis. The problem I run in to with this approach is that when I flatten the list of chords, I end up with just a list of midi notes…the grouping of the chords is also flattened out.

Any thoughts?

Thanks very much,
andrew

Dear Andrew,

Hope this is what you want (c.f attachment).
In this case it’s simpler than you think…
Best
And merry Xmas.
K

Screen-Shot-2013-12-24-at-20.04.29.png

Karim,
Again, many thanks!

Your screen shot certainly seems to be what I’m looking for. I must be missing something in my OM library, though…I can’t find the LISP - Reduce object, even through Help/Find. Is there something I should download/install?

Cheers!,
andrew

Ok Andrew,
Sorry, wasn’t very clear. The reduce function is a “primitive” Lisp function. All Lisp functions are included in OM, (lispworks compiler). And because there are plenty of them , they are not all included in the Lisp menu. So what do you need to do is just cmd+click in your patch and type its name in the box. There, you will have the reduce function, which is really valuable.
Again, we can do this in another fashion using the great omloop. but reduce will do , 'coz it’s less complicated. :wink:

Tell me if this works for you.

Best
K

Hi Karim:

Sorry for the delay in getting back to you. I found the Reduce function to do exactly what I was looking for. But I am curious about how you would manage this in a loop…I ask because I actually have the patch I’m working with in an OMloop, and found that only if I used Reduce on the output of that loop , then the results were good. Otherwise, I keep getting that extra parenthesis.

I have only ever looked at the OM objects, never considered the vast possibilitites of the LISp commands themselves, so this has also been eye-opening.

thanks,
andrew

Dear Andrew,

You’re right. There’s no good tutorial for that . Should put this in the new augmented tutrorial someday!
Well i am attaching the screenshot.
I think it’s explicit. If you have some questions please do ask.

Best
K

Screen-Shot-2014-01-13-at-22.41.47.png