Search the Community
Showing results for tags 'span'.
Dear All, I found a very interesting way to use the span function to my purposes of controlling the harmonic rhythm of my composition. But I need some help. Here is one example: I set pitch lists for each voice of my quartet. Here is an example of how the material is organized for each voice. Each voice for each chord is broken in 16 repeated notes and another 16 notes with some custom made melodic material. The example below corresponds to TWO chords of the harmony. PITCH MATERIAL LISTS The first 16 notes are repeating and the next 16 notes are melodic figures of the same harmony. This is done for all the chords of the composition (setf pitmat '( ;;;first chord material ;16 note repetitions (ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4) ;plus 16 notes of melodic figuration over this first chord (that can be customized to my taste) (b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4) ;;;second chord material ;16 note repeats (bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4 bb4) ;+ 16 notes of melodic figuration (eb5 g4 bb4 gs4 eb5 g4 bb4 gs4 eb5 g4 bb4 gs4 eb5 g4 bb4 gs4))) ;;; and so on, for each chord RHYTHM The rhythm is organized and divided in lists that are used in the span method of the make-omn to skip between: a) the lists with repeated notes and b) the lists with melodic figuration. LIKE THIS (setf rv1 (gen-divide '(5 4) (gen-repeat 1 '(-e q. s s e s s s s)))) In this way I can choose: a) To use chords as repeated notes with the first division of the rhythm, and/or b) to skip to the second reservoir of notes, for melodic ornamentation. This provides a very flexible and musical way to go ! Marvellous... This means that the gen-divide of the rhythm lists are a form of selecting betwen the lists: every division of the rhythm lists (parenthesis) is used to forward to the next pitch list (or next chord of the harmony control). This maintain the coherence of harmony. So, I use the divisions of the rhythm lists to alternate between the lists using the span functions, like this. (setf rv1 (gen-divide '(5 4) (gen-repeat 5 '(-e q. s s e s s s s)))) (make-omn :length rv1 :pitch (span rv1 pitmat) :span :length) It works like a wonder, like this: ((-1/8 3/8 1/16 1/16 1/8) (1/16 1/16 1/16 1/16)) ;;; This rhythm with the ;; And this with the ;;; note repeats of the list ;; melodic figurations The PROBLEM IS : As I said before, each chord of the harmony (pitmat) is comprised of TWO lists First list is a list of 16 note repeats '((ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4 ab4) the next list and 16 notes of melodic figuration (b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4 b4 e4 gs4 a4)) This is done for each chord. Each chord have a 32 pitch items (two lists of 16). OK, BUT... Sometimes, I want to use just ONE note of the chord repeating list and ZERO notes for the melodic figuration (i.e., no figuration). In this case I miss one skip of the list... Using ZERO notes will not skip for the next chord that begins with the next 16 items of repeating notes. In this way, my harmony will go out of sync, because the skips of the lists will be different causing a clashing harmony, a "train wreck"... The instruments with melodic figurations will skip differently from the instruments that plays only ONE note of the first repeating notes list. It will become clearer... WHAT I NEED I need an INVISIBLE Symbol, that makes no musical interference in the OMN expression, but counts as an item to make the list skipping in the span, like a GHOST character that count as a rhythm without duration, or a pitch without sound, to act ONLY as a list skipping for the span process. (setf rv1 (gen-divide '(3) (gen-repeat 5 '(-q h %)))) ;;; The symbol " % " (or anything) is a symbol to count in the span of the lists but won´t interfere ;;musically (no rhythm/pitch/attribute meaning in the expression) (make-omn :length rv1 :pitch (span rv1 pitmat) :span :length) A symbol, anything that count as an item for the SPAN of the list that I can put instead of the NIL. It does not need to be a function. A special character is prefereable, to not mess with the OMN expressions... I need some item to make the list skip (in order to get the span of the lists aligned), but this CANNOT be a NOTE or a RHYTHM, just something to SWALLOW one item (but not putting any note or duration) , to skip to the next list (but without playing any pitch or altering any rhythm). I tried to put an articulation there, but I think it wont work in the span process. Hope you can understand it Help greatly appreciated ! BEST ! JULIO