-
Posts
1,066 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Everything posted by Stephane Boussuge
-
Group orchestration / instrumentation example
Stephane Boussuge replied to Stephane Boussuge's topic in Score and Notation
I am a bit overbooked actually and didn't took the time to comment it correctly, but you've made it :-) Thank you Torsten ! In fact the variables grp1, grp2 etc.. are like orchestration presets and can be (for example) stored in a library file to be recalled algorithmically. S. -
Group orchestration / instrumentation example
Stephane Boussuge posted a topic in Score and Notation
Hi, An example of group orchestration. I first create some binary représentation of some group of instruments and apply this groups with do-timeline: ;;; Parameters (setf size 12) ;;; Length generation (setf len1 (euclidean-rhythm (gen-repeat size '(16)) 1 12 's :type 2)) (setf len2 (euclidean-rhythm (gen-repeat size '(16)) 1 12 's :type 2)) (setf len3 (euclidean-rhythm (gen-repeat size '(16)) 1 12 's :type 2)) (setf len4 (euclidean-rhythm (gen-repeat size '(16)) 1 12 's :type 2)) ;;; Pitch generation (setf pmat (gen-divide 8 (vector-to-pitch '(c3 c5)(gen-white-noise 32)))) (setf pch1 (pitch-transpose 12 (rnd-sample size pmat))) (setf pch2 (pitch-transpose 8 (rnd-sample size pmat))) (setf pch3 (pitch-transpose 0 (rnd-sample size pmat))) (setf pch4 (pitch-transpose -24 (rnd-sample size pmat))) ;;; Global dynamics (setf dyna (mclist (pink-noise-sample 64 '(pp p mp mf f ff)))) ;;; OMN assembly (setf line1 (make-omn :pitch pch1 :length len1 :velocity dyna)) (setf line2 (make-omn :pitch pch2 :length len2 :velocity dyna)) (setf line3 (make-omn :pitch pch3 :length len3 :velocity dyna)) (setf line4 (make-omn :pitch pch4 :length len4 :velocity dyna)) (setf flute line1) (setf oboe line2) (setf clarinet line3) (setf bassoon line4) ;;; Orchestration and post processing ;; Ambitus (setf flute (ambitus '(g4 c6) flute)) (setf oboe (ambitus '(d4 d5) oboe)) (setf clarinet (ambitus '(c4 g5) clarinet)) (setf bassoon (ambitus '(c2 g3) bassoon)) ;; Re-barring (setf master-meters '(4/4)) (setf flute (omn-to-measure flute master-meters)) (setf oboe (omn-to-measure oboe master-meters)) (setf clarinet (omn-to-measure clarinet master-meters)) (setf bassoon (omn-to-measure bassoon master-meters)) ;; Mute / play (setf olen (length flute)) ;(setf otime (rnd-sample 8 '(wwww www ww w h w ww www))) (setf otime 1) ;; Group orchestration (setf grp1 '(1 1 0 0)) (setf grp2 '(1 1 1 0)) (setf grp3 '(1 1 1 1)) (setf grp4 '(1 0 1 1)) (setf grp5 '(0 0 1 1)) (setf grp6 '(1 1 0 1)) (setf grp7 '(1 0 1 1)) (setf i-list '(grp1 grp2 grp3 grp4 grp5 grp6 grp7)) (setf orchestration (rnd-sample olen i-list)) (setf orch-proc1 (binary-invert (apply-eval orchestration))) (setf instrumentation (matrix-transpose orch-proc1)) (do-timeline2 '(flute oboe clarinet bassoon) instrumentation '(gen-pause x) :time otime) (setf ts (get-time-signature flute)) (def-score group-orch-example (:title "Group orch example " :composer "S.Boussuge" :copyright "2017 s.boussuge " :key-signature 'chromatic :time-signature ts :tempo 88 :layout (list (bracket-group (flute-layout 'flute) (oboe-layout 'oboe) (clarinet-layout 'clarinet) (bassoon-layout 'bassoon)))) (flute :omn flute :channel 1 :sound 'gm :program 'flute :volume 95 :pan 70 :controllers (91 '(52))) (oboe :omn oboe :channel 2 :sound 'gm :program 'oboe :volume 95 :pan 54 :controllers (91 '(55))) (clarinet :omn clarinet :channel 3 :sound 'gm :program 'clarinet :volume 95 :pan 60 :controllers (91 '(57))) (bassoon :omn bassoon :channel 4 :sound 'gm :program 'bassoon :volume 95 :pan 70 :controllers (91 '(57))) ) SB. Group & Orchestration.opmo -
Randomize Materials?
Stephane Boussuge replied to Ioannis Andriotis's topic in User Extensions Source Code
i will think about this idea. All the best ! S. -
Randomize Materials?
Stephane Boussuge replied to Ioannis Andriotis's topic in User Extensions Source Code
;; Number of bars (setf size 12) ;;; Random weighted choice of pitches with emphasis on d4 gs4 abd as4 (setf pitch (gen-weight size '((c4 1)(cs4 1)(d4 2)(ds4 1)(e4 1)(f4 1)(fs4 1)(g4 1) (gs4 2)(a4 1)(as4 2)))) ;;; Slightly varied rythm pattern based on a random choice ;;; of rythmic cells varied by rest positionning. ;; rythmic cells definition (setf rcells '((s s s s q e e q)(e e e e e e e e)(s s e s s e s s s s s s s s))) ;; random choice of rythmic cells (setf rchoice (rnd-sample size rcells)) ;; Length definition, adding some rests (setf len (length-weight rchoice :weight '(3 1))) ;;; Pitch and length assembly into an omn phrase: (setf phrase1 (make-omn :pitch pitch :length len )) Happy Opusmodus exploration ! SB. -
You may use the gen-repeat-seq function for the repetitions. You can have a look also to omn-to-measure , it could be useful also in what you doing. Cheers S.
-
Quartal example: (harmonic-progression '(1 2 3 4 5 6 7) '(d4 natural-minor) :size 4 :step 3 :base 1 ) Another example more complex: (setf row (rnd-row :type :pitch :transpose 2)) (setf chords1 (harmonic-progression (rnd-number 24 -6 6) row :size (rnd-sample 24 '(3 4 5 6)) :step (rnd-sample 24 '(1 2 3 (2 3)(1 3))) )) S.
- 5 replies
-
- chords
- progression
-
(and 1 more)
Tagged with:
-
saving the output (omn) in a seperat file
Stephane Boussuge replied to AM's topic in User Extensions Source Code
Somewhere on this forum, there is an example from Janusz on how to implement the seed in you own function... S. -
yes S.
-
Yes. S.
-
You may have a look to the function get-harmonic-path. You can decide the harmonic rhythm analysis you use fir this function with the parameter time. You can pass after the output of this function to pcs-analysis. S.
- 5 replies
-
- set theory
- mir
-
(and 3 more)
Tagged with:
-
audio The single orange was the only light
Stephane Boussuge replied to Stephane Boussuge's topic in Made In Opusmodus
Merci Didier. S. -
Help with Processing Live Weather Data in Opusmodus
Stephane Boussuge replied to hujairi's topic in Score and Notation
OSC is already in Opusmodus but not documented. Janusz ? S. -
video Opuspianotimbres for Pianoteq Video Contest 2017
Stephane Boussuge replied to Deb76's topic in Made In Opusmodus
Super top Didier !! Bravo ! S.- 4 replies
-
- ircam solo instruments
- opusmodus
-
(and 1 more)
Tagged with:
-
Improving length-rest-series
Stephane Boussuge replied to torstenanders's topic in Function Examples
Done. It works now. Thx. S. -
Improving length-rest-series
Stephane Boussuge replied to torstenanders's topic in Function Examples
Dear Torsten, i will have a look to git installation when i will have a bit of time. Thank you for the information. best, Stéphane -
Improving length-rest-series
Stephane Boussuge replied to torstenanders's topic in Function Examples
Hi Torsten, when evaluate your OMN-utils.lisp i get a: Error: There is no package named "TU" I would like to use your last version of edit-omn but it seem i need some other files (TU). Thanks S. -
Improving length-rest-series
Stephane Boussuge replied to torstenanders's topic in Function Examples
Thanks Torsten, your edit-omn function is definitively super-mega useful !! I love it :-) S. -
How to control the beaming of notation ?
Stephane Boussuge replied to JulioHerrlein's topic in Score and Notation
Just for info, it will be more in "Opusmodus style" to write that this way, using make-omn function: (setf some-pitches (gen-repeat 145 'g4)) (setf some-lengths (span some-pitches '(e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e -e - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - - = = = = = = = = = - - - - = = = = = = = = = -))) ;(setf some-division '(12)) ;(setf length-div (gen-divide some-division some-lengths)) (setf part (make-omn :pitch some-pitches :length some-lengths )) (setf time-sig '(12 8)) (def-score time ( :key-signature 'chromatic :time-signature time-sig :tempo 112 :layout (clarinet-layout 'clarinet) ) (clarinet :omn part :channel 1 :sound 'gm :program 'clarinet )) S. -
How to span different time signatures ?
Stephane Boussuge replied to JulioHerrlein's topic in Score and Notation
for example if you need 3 bars of 3/4 and 2 of 6/8 you can write: :time-signature '((3 4 3)(6 8 2)) you can also separate your length material with gen-divide and get the time signature. Example here: (setf some-pitches (integer-to-pitch (gen-integer-step 0 64 '(2 1 2 3 -2 -1 -2 -1 -2)))) (setf some-lengths (rnd-sample (length some-pitches) '(e e -e e))) (setf some-division '(8 12 8 6 9)) (setf length-div (gen-divide some-division some-lengths)) (setf time-sig (get-time-signature length-div)) (def-score time ( :key-signature 'chromatic :time-signature time-sig :tempo 112 :layout (clarinet-layout 'clarinet) ) (clarinet :length length-div :pitch some-pitches :channel 1 :sound 'gm :program 'clarinet )) SB. -
Pattern streams from Common Music in Opusmodus
Stephane Boussuge replied to torstenanders's topic in Function Examples
Wonderful !! Thx a lot Torsten ! S. -
Here's a small function from my toolbox i use very often for adding articulation on already generated OMN material. Also useful for adding legato slurs. Link to video example: ;;; ============================================= ;;; ARTICULATION-MAP-OMN ;;; AJOUTE DES ARTICULATIONS SUR DES LISTES OMN ;;; BASÉES SUR DU PATTERN MATCHING. ;;; ============================================= (defun articulation-map-omn (map omn &key (otherwise '-)) (do-verbose ("articulation-map-omn") (let ((plist (disassemble-omn omn))) (setf (getf plist :articulation) (pattern-map map (getf plist :length) :otherwise otherwise :swallow t)) (apply 'make-omn plist)))) #| USAGE (setf mat '((q c4 p d4 e e4 f4 s g4 f a4 g4 f4 q e4) (e d4 mp c4 s d4 e4 f4 e4 q d4 e c4 b3) (h a3 f -h))) (setf prules '(((s s s) (leg leg leg)) ((s s) (leg leg)) ((s e) (- -)) ((s q) (- stacc)) ((q) (stacc)) ((e) (-)))) (setf out (articulation-map-omn prules mat)) |# SB.
-
Composing various polyphonic textures concisely
Stephane Boussuge replied to torstenanders's topic in OMN Lingo
Hi Torsten, i get a: Error: There is no package named "TU" i like the metric-shift function (not only), i will add it to my toolbox. Thx S. -
merge-rests-with-preceeding-note
Stephane Boussuge replied to torstenanders's topic in User Extensions Source Code
Hi Torsten, very good and very interesting !! thank you for sharing this, i enjoy it greatly ! All the best S.