Posted January 27, 20241 yr In this simple example from the documentation. The first chord is divided into 5, but why are the pitches for the 2nd through 5th chord division seemingly random? The dictum states a rule for dividing the chord rhythmically, but has no rules for altering pitches? (setf mat1 '((h a2b2e3f3gs3 mf) (h a2b2e3f3gs3 p) (q bb4c5gs5a5b5 mp q bb4c5gs5a5b5 p))) (chord-dictum '((:len h :chd 5 :div 5) (:len q :chd 5 :div 4)) mat1)
January 27, 20241 yr The chords are randomly inverted to add variety but keep the harmonic content. If you want to alter the pitch, you can use interval transposition in dictum.
January 27, 20241 yr Author (h a2b2e3f3gs3 mf) --> (5h bb2c3f3fs3a3 mf g2a2d3eb3fs3 gs2bb2eb3e3g3 b2cs3fs3g3bb3 bb2c3f3fs3a3) Isn't inversion just changing the bass note and note ordering of the existing notes? How does bb2 and fs3 get introduced?
January 28, 20241 yr Sorry, my mistake, I reply too quickly without thinking.... It is not chords inversion. It is the use of function length-divide internally who produce this result because length-divide apply some intervals. Look at the doc for length-divide function. If you provide intervals to the function you can modify this behavior, for example , if you want only the chords notes, you can do: (setf mat1 '((h a2b2e3f3gs3 mf) (h a2b2e3f3gs3 p) (q bb4c5gs5a5b5 mp q bb4c5gs5a5b5 p))) (chord-dictum '((:len h :chd 5 :div 5 :int '(0)) (:len q :chd 5 :div 4)) mat1 ) => ((5h a2b2e3f3gs3 mf a2b2e3f3gs3 a2b2e3f3gs3 a2b2e3f3gs3 a2b2e3f3gs3)
January 28, 20241 yr Author Thank you, I hadn't noticed that about length-divide before. So length-divide is actually divides pitches when applied to omn With the :int parameter set at '(0), is there a way to still allow it to do chord inversions as well, rather than play the exact same chord voicing? And vary the number of chord tones played?
January 28, 20241 yr The number of chord tones played is controlled with the :group parameter. About chord inversion or randomisation of position, it is probably possible to do a kind of post processing with rnd-order or something similar.
Create an account or sign in to comment