opmo Posted August 11, 2023 Share Posted August 11, 2023 (progn ;; DEFSYNTH (sc:defsynth sine4 ((freq 200) (dur 2.0) (vel 1.0) (pan 0) (times 0.3) (pm 12)) (let* ((env (* 0.3 (sc:env-gen.kr (sc:perc .0 (* 4.0 dur)) :act :free) vel)) (out (* times (sc:sin-osc.ar freq 0 (max 0 (sc:lf-noise1.kr pm))))) (out (sc:pan2.ar out pan))) (sc:out.ar 0 out))) ;; OMN-SCORE (setf size 200) (setf vector (list-plot (add-triangle-waves 4 size 1 0.6 :modulation (gen-triangle size 1 '(0.5 0.4 0.3 0.6) :modulation (gen-triangle size 1 0.3 :phase 180))) :point-radius 2)) (setf pitches (gen-divide 4 (vector-to-pitch '(g2 g6) vector :quantize 1/4))) (setf transpose (pitch-transpose -12 pitches)) (setf variants (pitch-variant transpose :variant '?)) (setf length1 (rnd-sample 120 '(s e s -s))) (setf length2 (rnd-sample 120 '(s e s -s))) (setf time1 (span pitches length1)) (setf time2 (span variants length2)) (setf dynamics '(p mf ff)) (setf omn1 (make-omn :length time1 :pitch (pitch-transpose 12 pitches) :velocity (rnd-sample size dynamics))) (setf omn2 (make-omn :length time2 :pitch variants :velocity (rnd-sample size dynamics))) ;; CONVERSION (setf len1 (omn-to-sc :length omn1)) (setf len2 (omn-to-sc :length omn2)) (setf freq1 (omn-to-sc :hertz omn1)) (setf freq2 (omn-to-sc :hertz omn2)) (setf vel1 (omn-to-sc :velocity omn1)) (setf vel2 (omn-to-sc :velocity omn2)) ;; SC-SCORE (def-sc-score add-triangle (:tempo 128 :layout ((in1 . len1) (in2 . len2)) ;:output "add-triangle" ) (in1 :synth sine4 :freq freq1 :dur len1 :times (rnd size :low 0.1 :high 0.3) :vel vel1 :pan (rnd size :low -1.0 :high 1.0) :pm (rnd-sample size (gen-integer 6 30)) ) (in2 :synth sine4 :freq freq2 :dur len2 :times (rnd size :low 0.1 :high 0.3) :vel vel2 :pan (rnd size :low -1.0 :high 1.0) :pm (rnd-sample size (gen-integer 6 30)) ) ) ) add-triangle (Snippet).mp3 Jorgalad and Stephane Boussuge 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.