Jump to content

GHOST INVISIBLE CHARACTER FOR SPAN and LIST Skipping Needed


Recommended Posts

The length list should only contain length values. What you propose can be done with a map function.
 

(setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4)))
(setf rhy '((q e e)(-s s)(%)(s)(s e e)(e e)(e e_h)))

for me the result is:

((q c4 e d4 e4) (-s cs4) (s c4) (s cs4 e ds4 as4) (e bb4 eb4) (e c4 e_h d4))

 

Link to comment
Share on other sites

The "manual workaround" works great, I just need to organize my list of pitches before the span process, according to the purpose of use and rhythm list.

 

1) Lists of pitches to be used as repeated rhythm attacks (1-element lists)

2) Lists to be used as melodic movement (n-elements lists, usually 16 elements)

 

These decisions are more musical and individual to each part of the musical texture, so there is no way to make it as an automated process.

 

The idea of "special character" was just a way to make it easier and flexible, allowing to just skip over a bunch of lists.

But in either way, the pre-compositional organization is necessary.

 

Best,

Julio

 

Link to comment
Share on other sites

Span MAP:
 

(setf pitchlist '((c4 d4 e4 f4) (cs4 ds4 as4 fs4) (bb4 eb4 ab4)))
(setf rhy '((q e e) (-s s) (s) (s e e) (e e) (e e_h)))

(setf map '((x x x) (x) nil (x) (x x x) (x x) (x x)))

(span rhy pitchlist :swallow t)
=> ((c4 d4 e4) (ds4) (bb4) (c4 d4 e4) (cs4 ds4) (bb4 eb4))

(span map pitchlist :swallow t)
=> ((c4 d4 e4) (cs4) nil (c4) (cs4 ds4 as4) (bb4 eb4) (c4 d4))

(make-omn
 :length rhy
 :pitch (span map pitchlist :swallow t)
 :span :length)
=> ((q c4 e d4 e4) (-s cs4) (s c4) (s cs4 e ds4 as4) (e bb4 eb4) (e c4 e_h d4))

 

Link to comment
Share on other sites

Dear Janusz, 

 

This is great ! Thank you !

This is better !

 

(setf pitchlist '((c4 d4 e4 f4) (cs4 ds4 as4 fs4) (bb4 eb4 ab4)))

(setf rhy (gen-repeat 5 '((q e e) (-s s) (s) (s e e) (e e) (e e_h))))

(setf map '((x x x) (x) nil (x) (x x x) (x x) (x x)))

(span rhy pitchlist :swallow t)
=> ((c4 d4 e4) (ds4) (bb4) (c4 d4 e4) (cs4 ds4) (bb4 eb4))

(span map pitchlist :swallow t)
=> ((c4 d4 e4) (cs4) nil (c4) (cs4 ds4 as4) (bb4 eb4) (c4 d4))

(make-omn
 :length rhy
 :pitch (span rhy (span map pitchlist :swallow t))
 :span :length)

 

You can keep the span process, using a nested span, like the above.

The perfect solution would be a way of extracting the map forms for each individual pitch list and

also (the most wanted) a way of skipping a list.

 

We have 3 lists (just for the sake of debugging) :

 

1) natural note list (c4 d4 e4 f4)

2) sharp note list (cs4 ds4 as4 fs4)

3) flat note list (bb4 eb4 ab4)

 

In this NIL map model, how to skip completely the sharp list, for example ?

 

Best !

Thank you

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy