Jump to content

Stephane Boussuge

Moderators
  • Posts

    1,066
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Stephane Boussuge reacted to Rangarajan in Function: vector-to-pitch   
    Thanks to suggestion by Janusz, I have been able to solve my requirement thus:
    ;; Returns a list of pitches from the given list, satisfying the supplied noise ;; pitch-list => arbitrary list of pitches ;; noise => Any noise (defun noise-to-pitch-map (pitch-list noise)   (mapcar #'(lambda (n)                (nth n pitch-list))           (vector-round 0 (1- (length pitch-list)) noise))) Examples: (noise-to-pitch-map '(c4 d4 e4 f4) (gen-white-noise 10 :seed 89)) => (c4 f4 e4 c4 d4 e4 f4 c4 f4 e4) (noise-to-pitch-map '(c4 d4 e4 c5 d5) (gen-gaussian-noise 10 :seed 89)) => (d5 d4 c4 e4 d4 e4 c4 d4 e4 d5) (noise-to-pitch-map (expand-tonality '(c4 major)) (gen-pink-noise 10 :seed 89)) => (c4 d4 d4 e4 e4 f4 g4 a4 b4 b4)  
    - Rangarajan
  2. Thanks
    Stephane Boussuge got a reaction from NagyMusic in Session 2 - 23.05.20   
    Unfortunately not.
     
    Sorry.
     
    S.
     
     
  3. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Simple part extraction example from piano reduction to string quartet with pitch-demix   
    Hi,
     
    just a small example here about parts extraction with pitch-demix, from piano part to string quartet.
    Not a perfect solution but do the job in many cases and it is always possible to refine a bit the output manually.
     
    S.
     
    (setf base '(#|1|# (z^h. c4e4a4 h.^w fs3 q b4) #|2|# (z^h c4e4a4 h^h. fs3 q c5 b4) #|3|# (z^h. c4e4a4 h.^w fs3 e g4 a4) #|4|# (z^h. c4e4a4 h.^w fs3 q g4) #|5|# (z^h. d4f4 h.^w c3gs3 q e4) #|6|# (z^q f4 q^h. c3gs3 g4 f4 e4) #|7|# (z^h d4e4 h^w c3gs3 tie f4) #|8|# (h. c3gs3d4 q e4) #|9|# (z^h. cs4fs4 h.^w as2fs3 q gs4) #|10|# (z^h. cs4as4 h.^w as2fs3 q c5) #|11|# (z^e a2 e^h. e4d5 he^h.. f3 tie q e5) #|12|# (z^w f3 h c4e4d5 q c5 b4) #|13|# (w f3c4e4a4))) (setf base-merged (dissolve-voices base)) (setf v1 (pitch-demix 1 base-merged)) (setf v2 (pitch-demix 2 base-merged)) (setf v3 (pitch-demix 3 base-merged)) (setf v4 (pitch-demix 4 base-merged)) (ps 'gm :sq (list v1 v2 v3 v4))  
  4. Like
    Stephane Boussuge got a reaction from lviklund in Session 22 - 07.11.20 - Vertical harmonic control - Density - Auto-explode4   
    Hi folks,
     
    here's the material from this session.
     
    Best !
     
    Stéphane
     
     
    auto-explode.lisp auto-split.lisp split-point.lisp Zoom07112020a.opmo ZoomIntoOMVideos071120.zip
  5. Thanks
    Stephane Boussuge got a reaction from opmo in Two variations on Chopin 28-4   
    Fab !!
     
     
  6. Like
  7. Like
    Stephane Boussuge reacted to opmo in Two variations on Chopin 28-4   
    Two variations on Chopin 28-4
     
       
     
       
     
    Janusz
  8. Like
    Stephane Boussuge reacted to JulioHerrlein in Session 22 - 07.11.20 - Vertical harmonic control - Density - Auto-explode4   
    Thanks, Stephane !! 
    Marvellous Session !
    Inspiring !
     
  9. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Session 22 - 07.11.20 - Vertical harmonic control - Density - Auto-explode4   
    Hi folks,
     
    here's the material from this session.
     
    Best !
     
    Stéphane
     
     
    auto-explode.lisp auto-split.lisp split-point.lisp Zoom07112020a.opmo ZoomIntoOMVideos071120.zip
  10. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Session 21 - Simple piano choral with Harmonic remapping from white noise generated scales   
    Hi,
     
    Just added the split-point function who was necessary to run the auto-split function and was missing.
     
    Best
     
    Stéphane
     
     
  11. Like
    Stephane Boussuge reacted to torstenanders in Opusmodus commands don't work in Aquamacs   
    I cannot answer for the builtin Opusmodus Slime functionality, but I developed something similar some time ago on my own, which works in Aquamacs for me. Try copying the Emacs Lisp code below into your Emacs initialisation file (e.g., ~/.emacs), start Aquamacs again and open a Lisp file.
     
    The code below adds to Emacs buffers in Lisp mode an Opusmodus menu with some standard commands like for previewing a snippet, stopping the playback etc. together with shortcuts shown in the menu. 
     
    It is all a bit hacky, but works for me and perhaps also for others 😉  It should also be easy to add menu items and keyboard shortcuts for any other commands (like plotting) that work from Lisp. 
     
    ;; Custom function for previewing Openmusic snippets etc (defun slime-eval-and-preview-opmo-snippet-before-point () "Evaluate the Openmusic snippet (an expression) preceding point and preview that snippet." (interactive) (let* ((score (slime-last-expression)) ;; wrap call to preview-score around the score before point (full-expr (concat "(preview-score (list :snippet " score "))"))) (slime-interactive-eval full-expr))) (defun slime-eval-and-preview-opmo-score-before-point () "Evaluate the score (an expression in the tot score format) preceding point and preview that score (notation and playback)." (interactive) (let* ((score (slime-last-expression)) ;; wrap call to preview-score around the score before point (full-expr (concat "(preview-score " score ")"))) (slime-interactive-eval full-expr))) (defun slime-stop-opmo-playback () "Stop the currently playing Openmusic sound playback." (interactive) (slime-interactive-eval "(sequencer:sequencer-stop *audition-sequencer*)")) (defun slime-opmo-midi-playback () "(Re-)play the last Opusmodus score with a separate MIDI playback window." (interactive) (slime-interactive-eval "(display-midi *last-score* :display :window)")) (add-hook 'lisp-mode-hook (lambda () (local-set-key (kbd "<A-f2>") #'slime-eval-and-preview-opmo-snippet-before-point) (local-set-key (kbd "<A-f3>") #'slime-eval-and-preview-opmo-score-before-point) (local-set-key (kbd "<A-f4>") #'slime-opmo-midi-playback) (local-set-key (kbd "<A-f1>") #'slime-stop-opmo-playback) )) ;; Creating a new "Opusmodus" menu in the menu bar to the right of "Lisp" menu. ;; This new menu is only shown when in lisp-mode (define-key-after lisp-mode-map [menu-bar opusmodus] (cons "Opusmodus" (make-sparse-keymap "hoot hoot")) 'lisp) ;; Creating a menu item, under the menu by the id “[menu-bar opusmodus]” (define-key lisp-mode-map [menu-bar opusmodus preview-score] '("Preview score cmd-f3" . slime-eval-and-preview-opmo-score-before-point)) (define-key lisp-mode-map [menu-bar opusmodus preview-snippet] '("Preview snippet cmd-f2" . slime-eval-and-preview-opmo-snippet-before-point)) (define-key lisp-mode-map [menu-bar opusmodus stop-playback] '("Stop playback cmd-f1" . slime-stop-opmo-playback)) (define-key lisp-mode-map [menu-bar opusmodus replay-score] '("(Re)play last score cmd-f4" . slime-opmo-midi-playback))  
  12. Like
    Stephane Boussuge got a reaction from JulioHerrlein in move-set   
    Move-set is a function inspired by Mikael Kuhn's move-set function in PGen for Csound.
     
    https://mikelkuehn.com/index.php/ng

    It allows you to make random choices by moving progressively in a morphing from one set to another
    linearly or by following a convex or concave curve controlled by the
    parameter: curve. <1 = concave, 1 = linear,> 1 = convex.
    The norep option allows you to remove direct repeats in random choices.
     
    ;;;====================================== ;;; MOVE-SET ;;; SB. 01.11.2020 ;;;====================================== ;;; Move-set est une fonction inspirée de la fonction move-set de Mikael Kuhn dans PGen pour Csound. ;;; Elle permet de faire des choix aléatoire en passant progressivement d'un ensemble à un autre ;;; de manière linéaire ou alors en suivant une courbe convexe ou concave controlée par le ;;; parametre :curve. <1 = concave, 1 = lineaire, >1 = convexe. ;;; l'option norep permet d'éviter les répétitions directes dans les choix aléatoires. ;;; Parametres: ;;; set1 liste ;;; set2 liste ;;; nbsteps entier ;;; nbval entier ou liste d'entiers ;;; curve <1 = concave, 1 = lineaire, >1 = convexe. Par défaut 1 ;;; norep nil ou t. par défaut nil. ;;; seed un entier. Par défaut nil. ;;; Definition de la fonction MOVE-SET (defun move-set (set1 set2 nbsteps nbval &key (curve 1) (norep nil) seed) "Move-set est une fonction inspirée de la fonction move-set de Mikael Kuhn dans PGen pour Csound. Elle permet de faire des choix aléatoires en passant progressivement dans un morphing d'un ensemble à un autre de manière linéaire ou alors en suivant une courbe convexe ou concave controlée par le parametre :curve. <1 = concave, 1 = lineaire, >1 = convexe. L'option norep permet d'éviter les répétitions directes dans les choix aléatoires. Parametres: set1 liste set2 liste nbsteps entier nbval entier ou liste d'entiers curve <1 = concave, 1 = lineaire, >1 = convexe. Par défaut 1 norep nil ou t. par défaut nil. seed un entier." (setf seed (rnd-seed seed)) (do-verbose ("move-set :seed ~s" seed) (init-seed seed) (let ((idx (gen-transition 0 (- nbsteps 1) nbsteps curve :rounded t)) (bmat (gen-morph nbsteps set1 set2 :seed (seed))) ) (loop for i in idx for v in (gen-trim nbsteps (list! nbval)) collect (rnd-sample v (nth i bmat) :norep norep)) ))) ;;; Exemples d'utilisation: #| (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 8) (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 8 :norep t) (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 8 :curve 0.2 :seed 4) (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 8 :curve 0.2 :seed 4 :norep t) (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 8 :curve 1.5 :seed 4 :norep t) (move-set '(c4 d4 e4) '(fs4 as4 cs5) 12 '(8 4 12 5) :curve 1.5 :seed 4 :norep t) (move-set '(e e e e) '(s s s s) 12 8 :seed 7) (setf melo (filter-tie (make-omn :pitch (setf pch (move-set '(c4 d4 fs4 gs4 b4) '(e4 g4 a4 bb4 cs5) 12 (rnd-number 6 2 16))) :length (gen-tuplet 1 1 'm '? 'w (mapcar 'length pch)) ))) |#  
     
     
    SB.
     
    move-set.lisp
  13. Like
    Stephane Boussuge reacted to Rangarajan in Deployment, etc.   
    Is it now possible to build a stand-alone executable from within Opusmodus environment? Let us assume the app will only be command line driven, no GUI. The app must be able to make use of most of the OM library, excepting those functions that might involve UI (e.g. drawing plots, rendering MIDI or MusicXML). Has anyone tried this?
     
    - Rangarajan
  14. Like
    Stephane Boussuge got a reaction from opmo in Articulations (key switches) XML Export   
    SoloCelloExempl.mp4 As you can see , I don't need any extra staves to have key switch .
     
    All the best
     
    Stéphane
     
  15. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in Articulations (key switches) XML Export   
    Yes Musescore is very interesting indeed.
     
    It sounds a bit different in Sibelius but it is exactly the same VSL instrument hosted in Vienna Ensemble Pro but my OM soundset is a bit different than my Sibelius one , indeed.
     
    Best
     
    Stéphane
     
  16. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in Articulations (key switches) XML Export   
    SoloCelloExempl.mp4 As you can see , I don't need any extra staves to have key switch .
     
    All the best
     
    Stéphane
     
  17. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Articulations (key switches) XML Export   
    The problem comes from Musescore because it have no soundest and by the way don't send any key switch to instruments.
     
    I'm working with Sibelius, and I just need to open the xml file in Sibelius and it plays immediately all articulations.
     
    Stéphane
     
  18. Thanks
    Stephane Boussuge got a reaction from Nikos in Waiting into the room For Solo Cello   
    A small solo cello piece composed this evening.
     
       
     
     
    Stéphane
     
    WaitingIntoTheRoom.opmo WaitingIntoTheRoomForSoloCello.mp3
  19. Like
    Stephane Boussuge got a reaction from lviklund in Waiting into the room For Solo Cello   
    A small solo cello piece composed this evening.
     
       
     
     
    Stéphane
     
    WaitingIntoTheRoom.opmo WaitingIntoTheRoomForSoloCello.mp3
  20. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in Waiting into the room For Solo Cello   
    A small solo cello piece composed this evening.
     
       
     
     
    Stéphane
     
    WaitingIntoTheRoom.opmo WaitingIntoTheRoomForSoloCello.mp3
  21. Thanks
    Stephane Boussuge got a reaction from lviklund in Question about composition methods and related functions   
    Here's one of my way to compose with harmony and voice leading.
     
    Best regards
     
    Stéphane
     
    ;;; FANTAISIE POUR CORDES ;;; SB. 28.10.2020 ;;; ========================= ;;; Section size (setf size 32) ;;; Chords Structures (setf boz '((-4 -9 -12 -16)(-6 -10 -15 -22)(-5 -8 -12 -24))) ;;; Melodic construction material generation (setf melomat (omn-to-measure (make-omn :pitch (filter-repeat 1 (vector-to-pitch '(g4 c6) (vector-smooth 0.14 (gen-white-noise 96)))) :length (flatten (rnd-sample 12 '(h q (e e) (3q = =) h (h. q) h))) ) '4/4)) ;;; Melody generation (setf melo (ambitus '(g4 g6) (bind-to-interval '(2 -2) (rnd-sample size melomat)))) ;;; Melody vertical harmonisation (setf melharmo (gen-chord3 melo boz)) ;;; Separation between melody and harmony ;;; Remove the top note (defun rmv-top-nt (chord) (butlast (melodize (sort-asc chord))) ) #| ;exemple d'application sur plusieurs accords. (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist '(d5g4c4b4e4 d5g4c4b4e4 d5g4c4b4e4)))) |# ;;; Apply closest path to all voices under the melody (setf harmo (closest-path (make-omn :pitch (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist (flatten (omn :pitch melharmo)) ))) :length (omn :length melharmo) ))) ;;; Pitch demix (setf line1 melo) (setf line2 (pitch-demix 1 harmo)) (setf line3 (pitch-demix 2 harmo)) (setf line4 (pitch-demix 3 harmo)) (setf line5 (pitch-demix 4 harmo)) ;;; Adding rest and tie (setf line1.o line1) (setf line2.o (length-legato (length-weight line2))) (setf line3.o (length-legato (length-weight line3))) (setf line4.o (length-legato (length-weight line4))) (setf line5.o (length-legato (length-weight line5))) ;;; Distribute to instruments (setf vn1 (ambitus '(g3 g6) line1.o)) (setf vn2 (ambitus '(g3 g5) line2.o)) (setf vla (ambitus '(c3 c5) line3.o)) (setf vlc (ambitus '(c2 e4) line4.o)) (setf ctb (ambitus '(c1 g2) (pitch-transpose 0 line5.o))) (setf violin1 vn1) (setf violin2 vn2) (setf viola vla) (setf violoncello vlc) (setf contrabass ctb) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score ftsy (:title "Fantaisie pour cordes" :composer "S.Boussuge" :copyright "Copyright © 2020 s.boussuge" :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 72 :layout (bracket-group (violin1-layout 'violin1) (violin2-layout 'violin2) (viola-layout 'viola) (violoncello-layout 'violoncello) (contrabass-layout 'contrabass))) (violin1 :omn violin1 :channel 1 :sound 'gm :program 'string-ensemble-1 :volume 100 :pan 16 :controllers (91 '(48)) ) (violin2 :omn violin2 :channel 2 :sound 'gm :program 'string-ensemble-1 :volume 95 :pan 111 :controllers (91 '(48)) ) (viola :omn viola :channel 3 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 32 :controllers (91 '(60)) ) (violoncello :omn violoncello :channel 4 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(60)) ) (contrabass :omn contrabass :channel 5 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(72)) ) )  
  22. Thanks
    Stephane Boussuge got a reaction from JulioHerrlein in Question about composition methods and related functions   
    Here's one of my way to compose with harmony and voice leading.
     
    Best regards
     
    Stéphane
     
    ;;; FANTAISIE POUR CORDES ;;; SB. 28.10.2020 ;;; ========================= ;;; Section size (setf size 32) ;;; Chords Structures (setf boz '((-4 -9 -12 -16)(-6 -10 -15 -22)(-5 -8 -12 -24))) ;;; Melodic construction material generation (setf melomat (omn-to-measure (make-omn :pitch (filter-repeat 1 (vector-to-pitch '(g4 c6) (vector-smooth 0.14 (gen-white-noise 96)))) :length (flatten (rnd-sample 12 '(h q (e e) (3q = =) h (h. q) h))) ) '4/4)) ;;; Melody generation (setf melo (ambitus '(g4 g6) (bind-to-interval '(2 -2) (rnd-sample size melomat)))) ;;; Melody vertical harmonisation (setf melharmo (gen-chord3 melo boz)) ;;; Separation between melody and harmony ;;; Remove the top note (defun rmv-top-nt (chord) (butlast (melodize (sort-asc chord))) ) #| ;exemple d'application sur plusieurs accords. (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist '(d5g4c4b4e4 d5g4c4b4e4 d5g4c4b4e4)))) |# ;;; Apply closest path to all voices under the melody (setf harmo (closest-path (make-omn :pitch (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist (flatten (omn :pitch melharmo)) ))) :length (omn :length melharmo) ))) ;;; Pitch demix (setf line1 melo) (setf line2 (pitch-demix 1 harmo)) (setf line3 (pitch-demix 2 harmo)) (setf line4 (pitch-demix 3 harmo)) (setf line5 (pitch-demix 4 harmo)) ;;; Adding rest and tie (setf line1.o line1) (setf line2.o (length-legato (length-weight line2))) (setf line3.o (length-legato (length-weight line3))) (setf line4.o (length-legato (length-weight line4))) (setf line5.o (length-legato (length-weight line5))) ;;; Distribute to instruments (setf vn1 (ambitus '(g3 g6) line1.o)) (setf vn2 (ambitus '(g3 g5) line2.o)) (setf vla (ambitus '(c3 c5) line3.o)) (setf vlc (ambitus '(c2 e4) line4.o)) (setf ctb (ambitus '(c1 g2) (pitch-transpose 0 line5.o))) (setf violin1 vn1) (setf violin2 vn2) (setf viola vla) (setf violoncello vlc) (setf contrabass ctb) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score ftsy (:title "Fantaisie pour cordes" :composer "S.Boussuge" :copyright "Copyright © 2020 s.boussuge" :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 72 :layout (bracket-group (violin1-layout 'violin1) (violin2-layout 'violin2) (viola-layout 'viola) (violoncello-layout 'violoncello) (contrabass-layout 'contrabass))) (violin1 :omn violin1 :channel 1 :sound 'gm :program 'string-ensemble-1 :volume 100 :pan 16 :controllers (91 '(48)) ) (violin2 :omn violin2 :channel 2 :sound 'gm :program 'string-ensemble-1 :volume 95 :pan 111 :controllers (91 '(48)) ) (viola :omn viola :channel 3 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 32 :controllers (91 '(60)) ) (violoncello :omn violoncello :channel 4 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(60)) ) (contrabass :omn contrabass :channel 5 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(72)) ) )  
  23. Thanks
    Stephane Boussuge got a reaction from opmo in Question about composition methods and related functions   
    Here's one of my way to compose with harmony and voice leading.
     
    Best regards
     
    Stéphane
     
    ;;; FANTAISIE POUR CORDES ;;; SB. 28.10.2020 ;;; ========================= ;;; Section size (setf size 32) ;;; Chords Structures (setf boz '((-4 -9 -12 -16)(-6 -10 -15 -22)(-5 -8 -12 -24))) ;;; Melodic construction material generation (setf melomat (omn-to-measure (make-omn :pitch (filter-repeat 1 (vector-to-pitch '(g4 c6) (vector-smooth 0.14 (gen-white-noise 96)))) :length (flatten (rnd-sample 12 '(h q (e e) (3q = =) h (h. q) h))) ) '4/4)) ;;; Melody generation (setf melo (ambitus '(g4 g6) (bind-to-interval '(2 -2) (rnd-sample size melomat)))) ;;; Melody vertical harmonisation (setf melharmo (gen-chord3 melo boz)) ;;; Separation between melody and harmony ;;; Remove the top note (defun rmv-top-nt (chord) (butlast (melodize (sort-asc chord))) ) #| ;exemple d'application sur plusieurs accords. (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist '(d5g4c4b4e4 d5g4c4b4e4 d5g4c4b4e4)))) |# ;;; Apply closest path to all voices under the melody (setf harmo (closest-path (make-omn :pitch (chordize-list (mapcar (lambda(x) (rmv-top-nt x)) (mclist (flatten (omn :pitch melharmo)) ))) :length (omn :length melharmo) ))) ;;; Pitch demix (setf line1 melo) (setf line2 (pitch-demix 1 harmo)) (setf line3 (pitch-demix 2 harmo)) (setf line4 (pitch-demix 3 harmo)) (setf line5 (pitch-demix 4 harmo)) ;;; Adding rest and tie (setf line1.o line1) (setf line2.o (length-legato (length-weight line2))) (setf line3.o (length-legato (length-weight line3))) (setf line4.o (length-legato (length-weight line4))) (setf line5.o (length-legato (length-weight line5))) ;;; Distribute to instruments (setf vn1 (ambitus '(g3 g6) line1.o)) (setf vn2 (ambitus '(g3 g5) line2.o)) (setf vla (ambitus '(c3 c5) line3.o)) (setf vlc (ambitus '(c2 e4) line4.o)) (setf ctb (ambitus '(c1 g2) (pitch-transpose 0 line5.o))) (setf violin1 vn1) (setf violin2 vn2) (setf viola vla) (setf violoncello vlc) (setf contrabass ctb) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score ftsy (:title "Fantaisie pour cordes" :composer "S.Boussuge" :copyright "Copyright © 2020 s.boussuge" :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 72 :layout (bracket-group (violin1-layout 'violin1) (violin2-layout 'violin2) (viola-layout 'viola) (violoncello-layout 'violoncello) (contrabass-layout 'contrabass))) (violin1 :omn violin1 :channel 1 :sound 'gm :program 'string-ensemble-1 :volume 100 :pan 16 :controllers (91 '(48)) ) (violin2 :omn violin2 :channel 2 :sound 'gm :program 'string-ensemble-1 :volume 95 :pan 111 :controllers (91 '(48)) ) (viola :omn viola :channel 3 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 32 :controllers (91 '(60)) ) (violoncello :omn violoncello :channel 4 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(60)) ) (contrabass :omn contrabass :channel 5 :sound 'gm :program 'string-ensemble-1 :volume 90 :pan 95 :controllers (91 '(72)) ) )  
  24. Like
    Stephane Boussuge reacted to Rangarajan in Created in Opusmodus   
    Hi,
    The attached score was created in Opusmodus!
     
       
     
    - Rangarajan
     
    Music1.mp3
  25. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Question about composition methods and related functions   
    Hi,
     
    as a starting point you can look at passing-intervals function and also length-divide function.
     
    Best !
     
    Stéphane
     
     
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy