Search the Community
Showing results for tags 'pitch'.
-
I'd like to know why I can't seem to process this list of chords using the pitch-variation function. Thank you! (setf chords '((h a2a3c4 c4a3a3) (h d4f3g2 f4g3d4) (h e4c4a3 c3a3e4) (h d3a3f4 w f4d4a3) (h e2e3g3 g3e4e4) (h a3f4e4 f2e3a3) (h e4g3b3 b3e3g2) (h a2d3fs2 w fs2a2e2) (h a2e3c4 c4a3e4) (h e4g3b3 b3e3g2) (h f2e3a3 a3f4e4) (h e4e4g3 w g3e3e2) (h d3a3f4 f4d4a3) (h e4c4a3 c3a3e4) (h b2a3d4 d4b3a3) (h a3a3c4 w c4a3a2))) (pitch-variation 0 1 7 chords :type '? :seed 23)
-
Hi, sorry I am missing something very basic. I would like to convert a particular pitch to a chord based on its duration. For example, if I have a omn-sequence, I would like to search for all half-notes and add to their current pitch some other pitches in order to form a chord. I have looked at map functions, but I have not found a way of adding something to the already existing pitch instead of replacing it with something completely new. Thanks! Rodrigo
-
Hi, here's some example of pitch generation. Naturally, Opusmodus have infinite possibilities and it is just few example of possible way of pitch generation. ;;; SOME (FEW) IDEAS FOR PITCH GENERATION ;;; SB. 09/2016 ;; FROM VECTORS (setf vect1 (gen-white-noise 32 :seed 33)) (setf p1 (vector-to-pitch '(a3 a5) vect1)) ;; SMOOTHED VECTOR (setf vect2 (vector-smooth 0.02 vect1)) (setf p2 (vector-to-pitch '(a3 a5) vect2)) ;; without direct repetition (setf p2b (filter-repeat 1 p2)) ; see also gen-accumulate and other vectors (pink-noise, brownian etc..). ;;; ====================================== ;; RANDOM-CHOICES (setf p3 (rnd-sample '(4 3 7 8 4 5) (list (make-scale 'c3 24)) :seed 12)) ;; without repetition (setf p4 (rnd-unique '(4 3 7 8 4 5) (gen-repeat 6 (list (make-scale 'c3 24))) :seed 12)) ;;; ====================================== ;; PITCH FROM INTEGERS (setf int1 (rnd-sample '(8 4 7 3) (list (gen-integer 16)))) (setf p5 (integer-to-pitch int1)) ;; COOL FOR ARPEGIOS (setf int2b (gen-integer-step 0 32 '(1 1 2))) (setf int2 (gen-integer-step 0 32 (rnd-sample 6 '(1 2 3 4 -1 -2 -3 -4)))) (setf p6 (integer-to-pitch int2)) ;;; ====================================== ;; PITCH FROM INTERVALS (setf intv1 (interval-direction-series '(1 2 3) '(1 2 1 (2 1)) :first 'd)) (setf p7 (interval-to-pitch intv1)) (setf intv2 (interval-series '(3 2 1 2 3) '(1 2 3) :seed 34)) (setf p8 (interval-to-pitch intv2)) (setf intv3 (interval-expansion-series 10 '(1 -1 2 -2) '(1 2 3) '(-6 -5 3 4) :max-interval 6)) (setf p9 (interval-to-pitch intv3)) ;; extend the first element of intv3 with a matrix (setf intv4 (interval-row-matrix (1~ intv3))) (setf p10 (interval-to-pitch intv4)) ;; PITCH DIRECTION SERIES EXAMPLE (setf p11 (pitch-direction-series '(2 2 2 2 2) '(c4g4 c4g4 c4g4 c4g4 c4g4 c4g4 c4g4 c4g4 c4g4) :first 'd :ambitus '(-12 24))) (setf p11-each-in-list (mclist p11)) (setf p11-melodized (melodize p11-each-in-list)) (setf p11-chordized (chordize p11-melodized)) ;;; ====================================== ;; EXTRACT CHORDS (SETS) FROM ROW (setf row (rnd-row :type :pitch :transpose 4 :seed 783)) ;; GEN-CHORD (setf p12 (gen-chord 24 3 6 -6 6 row :seed 42)) ;; longer output (setf p13 (gen-chord 24 3 6 -6 6 (gen-trim 64 row) :seed 42)) ;; create sets (setf p14 (melodize (mclist p13))) ;; GEN-CHORD2 (setf p15 (gen-chord2 32 '(3 6 5) row)) (setf p16 (gen-chord2 32 '(3 6 5) row :offset '(2 1 3 2 4))) (setf p17 (gen-chord2 32 '(3 6 5) row :offset '(2 1 3 2 4) :transpose (rnd-number 8 -6 6 :seed 4))) (setf p18 (gen-chord2 32 '(3 6 5) row :offset '(2 1 3 2 4) :transpose (rnd-number 8 -6 6 :seed 4) :rnd-octaves t)) ;; control the output (setf p19 (chord-interval-remove '(1 2) p17)) (setf p20 (chord-interval-replace '(1 2) '(13 14) p17)) ;; voice leading (setf p21 (chord-relative-path '(c2c3g3e4a4d5) p20 :seed 31 :ambitus '(c2 c6))) (setf p22 (chord-closest-path '(c2c3g3e4a4d5) p20 :seed 31 :ambitus '(c2 c6))) ;; GEN-CHORD3 (setf p23 (gen-chord3 (rnd-sample 12 (make-scale 'c3 11) :seed 2) '((4 2 5)(3 5 11)(4 6 10)) :cycle t)) (setf p24 (gen-chord3 (rnd-sample 12 (make-scale 'c3 11) :seed 2) '((4 2 5)(3 5 11)(4 6 10)) :cycle t)) (setf p25 (gen-chord3 (rnd-sample 12 (make-scale 'c3 11) :seed 2) '((4 2 5)(3 5 11)(4 6 10)) :cycle nil)) (setf p26 (gen-chord3 (rnd-sample 12 (make-scale 'c3 11) :seed 2) '((4 2 5)(3 5 11)(4 6 10)) :cycle t :relative t :seed 4)) ;;; ====================================== ;; HARMONIC-PROGRESSION (setf p27 (harmonic-progression (integer-transpose -1 '(1 1 1 3 1 2 4 3 1 1 3 4 5 6 5 3 1 -2 -2 1 1)) row )) ;; HARMONIC-PROGRESSION FROM SCALES (setf p28 (harmonic-progression (integer-transpose -1 '(1 1 1 3 1 2 4 3 1 1 3 4 5 6 5 3 1 -2 -2 1 1)) '(d4 messiaen-mode5) :size '(4 3 5) :step '(2 1 3 2) )) ;; HARMONIC-PROGRESSION FROM SCALES with relative path (setf p28 (harmonic-progression (integer-transpose -1 '(1 1 1 3 1 2 4 3 1 1 3 4 5 6 5 3 1 -2 -2 1 1)) '(d4 messiaen-mode5) :size '(4 3 5) :step '(2 1 3 2) :relative t :seed 33 )) ;; create sets of pitches from p28 (setf p28b (melodize (mclist p28))) ;; Melodic material from random order of each set (setf p28c (rnd-order p28b :seed 4)) Happy Opusmodusing !! SB.
-
;;; ------------------------------------------------------------------------------ ;;; GEN-PITCH-LINE ;;; Pitch generation function based on noise vectors conversion with a large choice of ;;; types of noises, compress ratio for the vector, filtering repetitions and ambitus. (defun gen-pitch-line (nb-pitch &key (compress 1) (ambitus '(c4 c6)) seed filter-repeat (type :white)) (do-verbose ("gen-pitch-line") (rnd-seed seed) (labels ((white (nb-pitch &key (compress 1) (ambitus '(c4 c6)) seed filter-repeat type) (if filter-repeat (gen-trim nb-pitch (filter-repeat filter-repeat (vector-to-pitch ambitus (vector-smooth compress (gen-white-noise nb-pitch :seed seed :type type))))) (vector-to-pitch ambitus (vector-smooth compress (gen-white-noise nb-pitch :seed seed :type type))))) (pink (nb-pitch &key (compress 1) (ambitus '(c4 c6)) seed filter-repeat) (if filter-repeat (gen-trim nb-pitch (filter-repeat filter-repeat (vector-to-pitch ambitus (vector-smooth compress (gen-pink-noise nb-pitch :seed seed))))) (vector-to-pitch ambitus (vector-smooth compress (gen-pink-noise nb-pitch :seed seed))))) ) (cond ((equal type ':white) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :normal)) ((equal type ':binary) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :binary)) ((equal type ':cauchy) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :cauchy)) ((equal type ':chi-square-2) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :chi-square-2)) ((equal type ':double-exponential) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :double-exponential)) ((equal type ':exponential) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :exponential)) ((equal type ':extreme) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :extreme)) ((equal type ':gaussian) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :gaussian)) ((equal type ':logistic) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :logistic)) ((equal type ':lognormal) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :lognormal)) ((equal type ':triangular) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :triangular)) ((equal type ':low-pass) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :low-pass)) ((equal type ':high-pass) (white nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type :high-pass)) ((equal type ':pink) (pink nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed))))))) #| USAGE (gen-pitch-line 24 :compress 0.42 :type :white :filter-repeat 1) (gen-pitch-line 24 :compress 0.42 :type :pink :filter-repeat 1) (gen-pitch-line 24 :compress 0.42 :type :extreme :filter-repeat 1) (gen-eval 8 '(make-omn :pitch (gen-pitch-line 24 :compress 0.42 :type :white :filter-repeat 1) :length (euclidean-rhythm 16 1 16 's :type 2) ) :seed 33) |# ;;; ------------------------------------------------------------------------------ SB.
-
Good morning. I'm interested in score analysis and I've encountered an issue. Is it possibile in Opusmodus, after I've create a score in OMN form (for example : (h c6 mp) (w. f5 pp) (d a4 mp) ) sort these sublist in PITCH ascending order linking the corresponding value of LENGTH? example: convert this: (h c6 mp) (w. f5 pp) (d a4 mp) in this: (d a4 mp) (w. f5 pp) (h c6 mp) where every sublist remains the same but the order is changed on a pitch base (in this case ascending). I've tried SORT-ASC and similar, but probably there's something to try and I'm new to the program. Thank you a lot! Pietro
-
Hi, In Symbolic Composer (SCOM), there is a mechanism to keep the tonality (scale) and symbols separately and combine them to form actual pitches. Is something like that possible in Opusmodus? Regards, Rangarajan