ecole
-
Posts
6 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Posts posted by ecole
-
-
Yes, exactly.
-
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
)
) -
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 -
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
-
Hello!
Is there a way to do a simple conversion from integer (representing scale degree) to pitch (via a Tonality)?
map-to-tonality assumes that the integer input is a chromatic pitch class.
Thank you!
Elliot
Explode music "handbell choir" style?
in Support & Troubleshooting
Posted
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