Jump to content

Stephane Boussuge

Moderators
  • Posts

    1,064
  • Joined

  • Last visited

Everything posted by Stephane Boussuge

  1. For me, I think that's perfect ! I know many of the OM functions but totally forgot about that one. Thank you for the trick ! Best S.
  2. For further information about the concept of tendency masking, here's 2 links to Cmask implementation. Something similar in OM would be nice. CMask Manual ABARTETZKI.USERS.AK.TU-BERLIN.DE CMask Article ABARTETZKI.USERS.AK.TU-BERLIN.DE
  3. Hi, the orchestration come from other files indeed. I'm working on the scripting of the videos actually. Best Stéphane
  4. You can use get-harmonic-path function. S.
  5. I'm in travel actually and very busy but i wrote two short example for you to explore, not exactly what you ask for but I hope interesting to study for you and hopefully inspiring for further exploration. Happy study ;;; EXAMPLE 1 ;;; =================== (progn ; basic version (setf melo.pch (vector-to-pitch '(c4 e5) (gen-noise 64))) (setf melo.len (flatten (rnd-sample 64 '(h. h q (e e)(s s s s) -q)))) (setf melo (make-omn :pitch melo.pch :length melo.len )) (setf chords-types '((-4 -6 -9 -16)(-7 -9 -12 -15)(-2 -8 -12 -17))) (setf base-acc (gen-chord3 melo.pch chords-types :cycle nil :relative t)) (setf acc (chord-interval-replace '(1 2 3 4) '(-11 -10 -9 -8) (ambitus '(c3 g5) (length-legato (length-weight (make-omn :pitch base-acc :length melo.len )))))) (ps 'gm :vn* (list melo) :pg (list acc) :time-signature '(4 4) ) ) ;;; EXAMPLE 2 ;;; ========================= (progn ; modal version (setf melo.pch (vector-to-pitch '(c4 e5) (gen-noise 64))) (setf melo.len (flatten (rnd-sample 64 '(h. h q (e e)(s s s s) -q)))) (setf melo (make-omn :pitch melo.pch :length melo.len )) (setf chords-types '((-4 -6 -9 -16)(-7 -9 -12 -15)(-2 -8 -12 -17))) (setf base-acc (gen-chord3 melo.pch chords-types :cycle nil :relative t)) (setf acc (chord-interval-replace '(1 2 3 4) '(-11 -10 -9 -8) (ambitus '(c3 g5) (length-legato (length-weight (make-omn :pitch base-acc :length melo.len )))))) (setf path (tonality-series '(lydian) :root '(d4 bb4 fs3 c4 a3) :map '(octave))) (setf melo.map (tonality-map path (omn-to-time-signature melo '(4 4)))) (setf acc.map (tonality-map path (omn-to-time-signature acc '(4 4)))) (ps 'gm :vn* (list melo.map) :pg (list acc.map) ) ) SB. Modal-Example-For-Cliff.mp3
  6. Hello Cliff, yes naturally, you can export as midi file: (compile-score *last-score* :output :midi :file "TempScores/section.mid" ) SB.
  7. Use ambitus function with the desired ambitus like: (setf chords.cls (ambitus '(bb2 eb5) (closest-path chords :start '(bb3fs4g4d5)))) S.
  8. merge-voices function is made for OMN expressions, not length lists. S.
  9. This piece was totally composed with Opusmodus but the rendering of audio was made with Sibelius. S.
  10. Ps function is not a problem if you stay in GM but could become a bit complicated for a new comer if you want to use it with plugins, external ports etc... Basically the def-score is indeed the most "normal" and powerful way for OM to manage final score. PS is for drafting/sketching or teaching. But with def-score you can assemble them into complex pieces etc... I can't give a full course here, the subject is too big... For instrumentation, orchestration I may use several strategies but some of my favorites are to use do-timeline or do-timeline2 functions or a different approach like counterpoint function as you made in your exercise file who is working well now with the small possible corrections I've showed to you. S.
  11. The sound is the New Noteperformer4 with Sibelius and BBCSO Orchestra. S.
  12. Because (list my-sequence my-chord-sequence) is a list of lists. When you call for example 1 in you dictum, you don't call the first patterns but the full first list of patterns. Your code could work normally is you replace this list of list expression by: (flatten-sublist (list my-sequence my-chord-sequence)) S.
  13. I'm using sequences in Dictum and my example was an example of possible proper way to use dictum and counterpoint function. Best Stéphane
  14. In that case, you can use substitute-map. Here's a short example for woodwind trio: ;;;--------------------------------------------------------- ;;; Parameters (setf material '(#|1|# (q. f4 f e fs4 q d4 s c4 f4 a4 fs4) #|2|# (e d4 f c4 f4 a4 fs4 b4 eb4 f4) #|3|# (h f4 a4) #|4|# (h fs4 f b4) #|5|# (h eb4 f4) #|6|# (q. gs4 mp e c4 q f4 s a4 a4 gs4 b4) #|7|# (h f4 mp a4) #|8|# (q. a4 mp e gs4 q b4 s gs4 c4 b4 fs4) )) (setf fl.index '(1 2 1 3 1 4 5 6 7 8)) (setf ob.index '(3 2 4 3 5 4 6 5 7 6)) (setf bn.index '(1 2 2 1 1 3 3 1 1 4)) (setf ref-list (gen-integer 1 (length material))) (setf flute (substitute-map material ref-list fl.index)) (setf oboe (substitute-map material ref-list ob.index)) (setf bassoon (pitch-transpose -24 (substitute-map material ref-list bn.index))) ;;;--------------------------------------------------------- ;;; Score and Layout (def-score woodwind-trio (:title "Title" :composer "Composer" :copyright "Copyright © " :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 100 :layout (wind-trio-layout 'flute 'oboe '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)) ) (bassoon :omn bassoon :channel 3 :sound 'gm :program 'bassoon :volume 95 :pan 70 :controllers (91 '(57)) ) ) SB.
  15. Hi, here's your code slightly modified to give you and example of the usage of counterpoint function with multiple lists. As you can see, the :sequence keyword in dictum allow you to choose for each instrument in which list you pick the patterns. I've added 2 more lines to your dictum to show how to use :span to constrain the time signature on some bars. The :extend keyword allow you to add rest at the end (default) or at the start (:extend '(s))) of the bar when a bar is extended by :span keyword. Hope this example will help. Best regards. Stéphane Boussuge (progn (setf my-dictum '(((- 1 2 -) :sequence '(1 1 2 1)) ((1 - - 2) :sequence '(1 1 2 1)) ((2 - - 2) :sequence '(1 1 2 1)) ((1 2 2 1) :sequence '(1 1 2 1)) ((3 1 3 2) :span 4/4 :sequence '(1 1 2 1) :extend '(- s s -)) ((4 1 4 1) :span 2/4 :sequence '(1 1 2 1)) )) (setf times (* 1 (length my-dictum))) (setf my-root -0) (setf my-intervals '(0 1 4 7)) (setf my-pitches (pitch-transpose my-root (integer-to-pitch my-intervals))) (setf my-lengths (rnd-sample times '((q e) (q q)) :seed 356)) (setf my-articulations (span my-lengths '(-))) (setf my-velocities '(pp p mp mf f ff)) (setf my-sequence (make-omn :length my-lengths :pitch my-pitches :velocity my-velocities)) (setf my-chord-sequence (make-omn :length my-lengths :pitch (gen-chord2 '(2 4) '(2 2 3 4) '((c4 cs4 e4 g4) (c4 cs4 e4 g4))) :velocity my-velocities :articulation my-articulations)) (setf my-time-signature (get-time-signature my-sequence)) (counterpoint (list my-sequence my-chord-sequence) my-dictum :global-methods '((fl) (cl) (hn) (vc)) :index 'voice1-) (ps 'gm :fl (list voice1-1) :cl (list voice1-2) :hn (list voice1-3) :vc (list voice1-4) :tempo 161 ) )
  16. I’m always amazed by the incredible power of Opusmodus and the inspiration it give to me to compose and explore new possibilities . Actually, I'm playing and experimenting a bit with OM and orchestra, preparing my next package of video lessons for ComposerWorkshop.com. Today, I've made this output from my experiences, nothing extraordinary but I wanted to share it as an example of what we can make with Opusmodus in about 1h. It's basically only Slonimsky patterns distributed to the orchestra on an heterophonic way with transpositions from Opusmodus bind-to-interval function (set to "0") Stéphane Etude pour Orchestre 040523.wav
  17. Also I can see you try to open the file in the assistant. You have to create a new workspace for your studies and work inside this workspace, not in assistant. For a good understanding of this, I recommend my "Introduction to Opusmodus" on ComposerWorkshop.com Best ! S.
  18. I truly love Opusmodus. In this new series of videos, I'm trying to show why. This (basic) example show how Opusmodus could be used to generate and experiment with orchestral sections.
  19. You wrote some wrong things inside your def-score, compare the def-score of my corrected file to the old one and you will see your errors. Happy study. SB.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy