Jump to content

Stephane Boussuge

  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Stephane Boussuge

  1. Quantization

    Wonderful and great video !! S.
  2. Playback of articulations

    i agree totally :-) Actually, i always finish my scores in a DAW for such reason but with this new possibilities into Opusmodus, it would be no more necessary and i love the idea to stay in Opusmodus from start to end of the music process. SB.
  3. Changing MIDI channels with articulations

    i would love a possibility to change midi channel from articulation :-) S
  4. Nuit d'hiver For Woodwinds

    Thank you :-)
  5. Nuit d'hiver For Woodwinds

    Small piece for Woodwinds. S.
  6. Modelling Tonality (1) Diatonic Transposition (some intuitions)

    also if you want to control the voice leading, i use harmonic-path function who allow me to keep exactly the voice leading defined in my chord progression. S.
  7. Modelling Tonality (1) Diatonic Transposition (some intuitions)

    Here's my way for diatonic transposition. It is very simple but do exactly what i want when composing I use this system extensively in all my compositions now, not always in diatonic context but also with synthetic modes, row, algorithmic pitch material etc... I love the concept of degree and transpositions inside a scale and use that technique very often. (setf motiv '((q c4 e4 g4)(q c4 e4 g4)(q c4 e4 g4)(q c4 e4 g4)(q c4 e4 g4))) (setf degree '(1 4 2 5 1)) (setf harmonic-path (harmonic-progression degree '(c4 major) :step 1 :size 7 :base 1 )) (setf p1 (tonality-map (mclist harmonic-path) motiv)) S.
  8. November 13th Strings Trio

    Score files updated with missing functions 1/F-values and euclidean-rhythms. SB.
  9. November 13th Strings Trio

    Hi, Here's a Strings Trio composed in memory of the victims of Paris attack. Attached Part-a and part-d opmo scores for study purpose. S.B st-a.opmo st-d.opmo
  10. Requiem for Nigel

    In memoriam to Nigel St. Clair Morgan. RequiemCommented.opmo
  11. Requiem for Nigel

    Nigel was passed away on 14th September 2017. The funeral was only with his family. S.
  12. Requiem for Nigel

    I consider Nigel was my most important music comp. teacher even if we had mainly only mails exchange and few meetings and i will be always thankful to him for his always very constructives advices. S.
  13. Name: EastWest Hollywood Choir and Opusmodus Category: Howto Date Added: 2017-12-30 Submitter: Stephane Boussuge A short video example for using the Hollywood Choir Wordbuilder system with Opusmodus. S. EastWest Hollywood Choir and Opusmodus Files: hwchoirsatb.logicx.zip DemoHWC.opmo
  14. EastWest Hollywood Choir and Opusmodus

    A short video example for using the Hollywood Choir Wordbuilder system with Opusmodus. S.
  15. La fonction GEN-CHORD2 d'Opusmodus peut se révéler très utile pour la génération de structures harmoniques. En voici un petit exemple. Nous commençons par générer une série qui nous servira de base pour la génération de nos accords. (setf row (rnd-row :type :pitch)) Voici pour commencer l'utilisation la plus simple de gen-chord2. Quand le paramètre :offset n'est pas précisé la fonction déplace la fenêtre dans la série du nombre de pas correspondant au parametre taille (size) de l'accord. (setf chords1 (gen-chord2 8 4 row)) Voici maintenant un exemple avec l'utilisation de :offset pour garder des notes communes entre les accords. Un offset de '(2 3) aura pour effet de conserver sur des accords de 4 sons, 1 et 2 notes commune alternativement, permettant ainsi une transition plus douce d'accord en accord. La fonction commence par effectuer un offset (déplacement de la fenetre) de 2 dans la série et génère un accord de 4 sons puis se déplace de 1 dans la série, ressort l'accord de 4 sons correspondant à sa position et ainsi de suite. (setf chords2 (gen-chord2 8 4 row :offset '(2 3))) Utilisation des transpositions. Même chose que précédement mais avec des transposition aléatoire des accords entre -6 et +6 demi-tons. Tout d'abord, création d'une liste de valeurs de transpositions: (setf transpo-val (rnd-sample 8 (gen-integer -6 6))) Puis utilisation de la liste dans la fonction: (setf chords3 (gen-chord2 8 4 row :offset '(2 3) :transpose transpo-val)) Ajout d'une contrainte de tessiture avec :ambitus (setf chords4 (gen-chord2 8 4 row :offset '(2 3) :transpose transpo-val :ambitus '(c4 c5))) Voici maintenant une partition utilisant la structure que nous venons de créer. Utilisation des accords comme base de mapping pour une application sur un contour mélodique: Contour basé sur un vecteur. (setf vecteur (gen-white-noise 200)) (setf smooth-vect (vector-smooth 0.63 vecteur)) Contour mélodique (on transforme le vecteur en notes) (setf contour (vector-to-pitch '(g3 c6) smooth-vect)) Longueurs Choix aléatoire de 24 mesures dans une liste de mesures pré-définies: (setf len (rnd-sample 24 '((s s s s q -q) (e e q s s s s s s s s) (h) (s s q s s s s) (q q e e q -q) ))) Assemblage OMN (setf melo (make-omn :pitch contour :length len )) Application de la progression d'accords (setf melo.map (tonality-map (mclist chords4) melo)) Contrainte de tessiture: (setf melo.amb (ambitus '(g3 c6) melo.map)) Accompagnement piano Création d'une liste de figures possibles: (setf fig '((h c2 e3c4g4)(q c2 e3c4 g3e4 e3c4)(e c4 e3 g3 c3 h c2))) Choix aléatoire de 24 figures parmi cette liste (setf rchoice (rnd-sample 24 fig)) Récupération de la structure des mesures de la mélodie: (setf mspan (get-span melo.amb)) Application de la structure de mesures sur l'accompagnement (setf acc (length-span mspan rchoice)) Application de la structure harmonique sur l'accompagnement (setf accmp.map (tonality-map (mclist chords4) acc)) Définition du score: (def-score etude (:key-signature 'atonal :time-signature (get-time-signature melo.map) :tempo 123 :layout (violin-layout 'violin)) (violin :omn melo.amb :channel 1 ;:port 0 :sound 'gm :program 'violin) (piano :omn accmp.map :channel 2 ;:port 0 :sound 'gm :program 'acoustic-grand-piano)) Voila, en espérant que ce petit exemple vous a donné des idées. Vous trouverez en pièce jointe à ce post ce fichier au format .opmo SB.
  16. edited, thank you. S.
  17. Logic now from at leat one year use multiple core when bussing via live instruments but may be not with armed tracks but sure with the configuration i've shared long time ago on this Forum: All the best. S.
  18. Pcs: how to retrieve inverted forms from this function ?

    I agree totally !!! S.
  19. Group orchestration / instrumentation example

    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.
  20. 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
  21. Randomize Materials?

    i will think about this idea. All the best ! S.
  22. Randomize Materials?

    ;; 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.
  23. gen-repeat w. omn lists

    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.