Jump to content

ecole

Members
  • Posts

    6
  • Joined

  • Last visited

Posts posted by ecole

  1. Hello!  I am trying to solve what is probably a simple problem.

     

    I would like to take a single line of music (or two) and explode it to a set of instruments that each only play 1 or 2 pitches.  The rhythmic position of each note needs to be preserved, so for example:

    q c4 d4 e4 f4

    exploded to four instruments that play [c4, d4, e4, f4]

    gives me four staves:

    q c4 -q -q -q

    -q q d4 -q -q

    -q -q e4 -q

    -q -q -q f4

     

    This is like a handbell choir.  I need to be able to specify how many instruments and what pitches each of them are responsible for.  I would love to be able to go the other way too, and implode to a single staff.

     

    Any ideas about how to approach this?

     

    Thanks!

    Elliot

  2. Hello!

     

    I am hoping to get some help applying text to a list of durations longer than a bar.  The :text key in def-score applies each syllable of text onto each new bar, even when the duration is tied through.

     

    Instead, I want each new syllable to be applied to each new note.  I know that I can use dashes in the lyrics to connect through ties, but as I am generating very large numbers of tied notes it is impractical to count out exactly the right number of dashes each time.

     

    Is there a way to do what I want?  Thank you!

     

    Elliot

     

     

     

    (setf times-omn '(e c4 d4 d_d_d_d_w e4 d_d_d_d_d_d_d_d_d_d_d_d f4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_w c4 d4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_w e4 f4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d c4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_w d4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d e4 d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d f4))

    (setf lyrics (make-text '("Intertidal_zone epipelagic_zone_begins scuba_limit 90%_of_light_absorbed end_of_epipelagic_zone mesopelagic_zone_begins photosynthesis_impossible deepest_free_dive only_blue_and_green_light deepest_scuba_dive uss_thresher_imploded seawolf_max_dive_depth")))


    (def-score myscore (
                        :title "Deep Sea Dive"
                        :composer "E"
                        :key-signature 'atonal
                        :time-signature '(4 4)
                        :tempo 60
    )

    (instrument 
    :omn times-omn
    :text lyrics
    )
    )

  3. Hello!

     

    Just letting you know -- I ran into this error while trying out the (gen-mandelbrot) function:

     

    (setf man-int (gen-mandelbrot 6 6 6))

     

        (setf man-lis (integer-to-pitch (array-to-list man-int)))

     

        (gen-divide 6 

         (substitute-map

           '(1/4 1/8 -1/8 1/8 1/16 1/16) (1 2 3 4 5 6)

          (flatten (array-to-list man-int))))

     
    >Error: Car of (1 2 3 4 5 6) is not a function name or lambda-expression.
     
     
    I figured out that (1 2 3 4 5 6) needs to be '(1 2 3 4 5 6)
     
    Really enjoying learning opusmodus!
     
    Elliot
  4. Neither of these do quite the simple conversion I'm asking.  (integer-to-pitch) only speaks chromatic pitch-class, not diatonic scale degree.  I may not understand the second fully yet, but a more transparent test shows its limitation:

    ;; An example of diatonic transposition
    ;; ie. using tonality degree for tonality mapping.
    ;; degree selection 
    (setf degr '(1 2 3 4 5))
    
    ;; remove 1 from each degree for use as transposition
    ;; inside tonality for diatonic transposition
    (setf trsp (mapcar (lambda(x) (- x 1)) degr))
    
    ;;; some material
    (setf arps1 (gen-repeat 
                 (length degr) 
                 '((s c4 d4 e4 f4 g4))))
    
    ;; apply diatonic transposition (inside tonality) 
    (setf arps.map (tonality-map 
                    '(major :root c4)
                    (pitch-transpose
                     trsp
                     arps1)))

     

    The result is

    C D E F G

    D F G G A  (when a true diatonic transposition would be D E F G A)

    D D F G A (should be E F G A B)

    etc.

     

    I'm getting a handle on LISP and think I'll be able to write my own function, but I do suggest that this is basic musical task that many people would use if it were in the library.

     

    Thanks for your help,

    Elliot

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy