Jump to content

JulioHerrlein

Members
  • Posts

    809
  • Joined

  • Last visited

Reputation Activity

  1. Like
    JulioHerrlein reacted to Stephane Boussuge 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))  
  2. Like
    JulioHerrlein reacted to opmo in Session 22 - 07.11.20 - Vertical harmonic control - Density - Auto-explode4   
    I assume you need to evaluate the auto-explode4 function first.
  3. Like
    JulioHerrlein got a reaction from Stephane Boussuge in Session 22 - 07.11.20 - Vertical harmonic control - Density - Auto-explode4   
    Thanks, Stephane !! 
    Marvellous Session !
    Inspiring !
     
  4. Like
    JulioHerrlein reacted to Stephane Boussuge 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. Like
    JulioHerrlein reacted to Stephane Boussuge 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
     
     
  6. Like
    JulioHerrlein reacted to Stephane Boussuge 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
  7. Like
    JulioHerrlein got a reaction from opmo in Articulations (key switches) XML Export   
    musescore_KEYSW.mp4 Here is Musescore doing Keyswitches ! But maybe we can just add standard staves to a MusicXML file for doing this.
    Put some staves like in the above video and generate it like standard notes for the keyswitches. Simple.
    We need opusmodus to create articualtion staves alongside the normal tracks with the same rhythms of the staves (and with articulations instead).
    This can be MusicXML staves (we just need normal notes (in a very low register).
     
    I think it´s possible...
    All the best !
     
    One interesting thing is to make the articulation notes a little milliseconds before the actual notes (to change the articulation al little before the note).
     
    In my video, I use to copy all the notes of the score, then paste it a little before the notes (like a 32nd or 64th note before) and then edit the articulations.
     
    BEst !
  8. Thanks
    JulioHerrlein reacted to Stephane Boussuge 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
     
  9. Thanks
    JulioHerrlein reacted to Stephane Boussuge 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
     
  10. Like
    JulioHerrlein got a reaction from opmo in Articulations (key switches) XML Export   
    Yes, MUSICXML
    I´m also doing a video ! 😀😀😀😀
  11. Like
    JulioHerrlein reacted to Stephane Boussuge 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
     
  12. Like
    JulioHerrlein reacted to opmo in Articulations (key switches) XML Export   
    Correction: The musicxml has no information about keyswitches etc...
    You could save the Opusmodus midifile of yours score (click on the midi display panel and 'Save As...") and import the file into your notation software.
  13. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Waiting into the room For Solo Cello   
    A small solo cello piece composed this evening.
     
       
     
     
    Stéphane
     
    WaitingIntoTheRoom.opmo WaitingIntoTheRoomForSoloCello.mp3
  14. Thanks
    JulioHerrlein reacted to Stephane Boussuge 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)) ) )  
  15. Thanks
    JulioHerrlein reacted to Rangarajan in Function: interval-to-pitch   
    Hi,
    When I evaluate:
    (interval-to-pitch '(2 2 1 2 2 2 1) :start 'c7) => (c7 d7 e7 f7 g7 a7 b7 c8)  
    This is expected.
    But when I evaluate:
    (interval-to-pitch '(2 2 1 2 2 2 1) :start 'c8) => (c8 bb7 gs7 g7 f7 eb7 cs7 c7)  
    Is this expected?
     
    - Rangarajan
  16. Thanks
    JulioHerrlein reacted to opmo in Question about composition methods and related functions   
    I think chord-inversion would be good start, this will allow you to generate chordal as well as melodic material.
     
  17. Like
    JulioHerrlein reacted to Stephane Boussuge 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
     
     
  18. Thanks
    JulioHerrlein reacted to opmo in Function MORPH   
    MORPH function will be part of the next release.
     
    (progn (setf chopin-28-4 (pitch-transpose 12 '(h gb2e3 g2b2e3 fs2a2e3 fs2a2eb3 f2a2eb3 q f2a2d3 f2gs2d3 h e2gs2d3 q e2g2d3 e2g2cs3 h e2g2c3 e2fs2c3 e2fs2c3 eb2fs2c3 d2fs2c3 d2fs2c3 d2f2c3 d2f2b2 q c2e2b2 c2e2a2 h c2e2a2 q b1e2a2 b1eb2a2 h c2e2a2 b1eb2a2 b1eb2a2 h b1eb2a2 -h g2b2e3 g2b2e3 fs2a2e3 f2a2eb3 f2gs2eb3 e2gs2d3 q e2g2d3 e2g2cs3 cs2e2bb2 c2e2a2 h a2c3fs3a3 q g2c3fs3 g2b2e3 a2c3e3 e2fs2c3 b1e2b2 c2e2a2 h b1e2b2 q eb2b2 b1eb2a2 h. c2g2bb2 q c2e2a2 b1e2a2 e2gs2 h b1e2g2 bb1c2g2 e2fs2b2e3 b1eb2fs2b2 e2g2b2))) (setf chopin-28-4-pitch (omn :pitch chopin-28-4)) (setf inv-num (gen-trim (length chopin-28-4-pitch) '(1))) (setf chopin-28-4i (chord-inversion inv-num chopin-28-4-pitch :variant '?)) (setf rh (pitch-transpose 12 (make-omn :length '(s) :pitch (melodize chopin-28-4i) :span :pitch))) (setf lh-length (mclist (get-span rh))) (setf lh (dechord (make-omn :length lh-length :pitch chopin-28-4i :velocity '(mp)) )) (setf rh-len (length rh)) (setf rh-morph (morph (rnd-number rh-len 0.2 0.5) rh)) (ps 'gm :p (list rh-morph lh) :tempo '((102 52) (:rit 102 34 1/64 4))) )  
       
     
    Best wishes,
    Janusz
  19. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Session 21 - Simple piano choral with Harmonic remapping from white noise generated scales   
    Hi folks,
     
    here's the files from today's session.
     
    Enjoy !
     
    Stéphane
     
     
    ZoomIntoOM241020-Videos.zip auto-split.lisp
    Zoom241020a.opmo
    split-point.lisp
  20. Like
    JulioHerrlein reacted to Rangarajan in Saving generated music in MP3 form   
    Thanks Julio and Janusz. I will explore those tools.
     
    Regards,
    Rangarajan
  21. Like
    JulioHerrlein reacted to opmo in Saving generated music in MP3 form   
    Audio Hijack could be a solution.
     
    Rogue Amoeba | Audio Hijack: Record Any Audio on MacOS
    ROGUEAMOEBA.COM Record VoIP calls from Skype, web streams from Safari, and much more.  
    As well the Loopback - part of the suite.
     
    Rogue Amoeba | Loopback: Cable-Free Audio Routing
    ROGUEAMOEBA.COM Get all the power of a high-end studio mixing board, right inside your Mac!  
    Great tools.
  22. Like
    JulioHerrlein got a reaction from Stephane Boussuge in Session 19 - 10.10.20   
    Thank you, Stephane !
  23. Thanks
    JulioHerrlein reacted to AM in generating realtime score / sending data from OPMO to POLYTEMPO NETWORK by OSC   
    dear all
     
    here's an example (from my current work)...
     
    this little video shows how i generate/display SCORE (instrumental parts) on a screen + virtual conductor (piano part). the example is "nonsense", but shows how it looks/works... you see the bars (generating), the cue, beat... and the arrow (that shows you where to read/play) ...also you hear some bad (sry) sound-simulation of the setup.
     
    in this way i can generate a whole piece in realtime on STAGE (all musicians will read their part from their own screen). this one will be for 5 instruments, ePlayer and modular synthesizer. during the performance an algorithm (or some data-streams) will generate the piece in OPMO. with OSC i can send all datas (score, beat, tempo..)  from OPMO to POLYTEMPO-NETWORK  (https://polytempo.zhdk.ch) and work and coordinate different independent tempo layers, conducting etc...
     
    for more POLYTEMPO informations... have a look here: https://polytempo.zhdk.ch
     
    greetings
    andré
     
    IMG_0083.MOV
     
  24. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Session 17 - 26.09.20 Extrapolation for Pierrot Ensemble   
    Hi folks,
     
    Here's the files from this session showing my process for a work in progress " Extrapolation" for Pierrot Ensemble.
    You will find also exceptionally the video recording.
     
    All this material is shared here for study purpose naturally, please, don't use it "as this" but use this material as an example to inspire yourself and help you to construct your own workflow and algorithms.
     
    All the best and happy Opusmodus-ing
     
    Stéphane
     
    Part1-Basic-idea.opmo Part2-Main-Process.opmo Part3-Looping-Process.opmo Part4-ScoreOutput.opmo pitch-rotate-vary-segment.lisp Stephane-Video-ZoomOM2609-20.zip
  25. Like
    JulioHerrlein got a reaction from Stephane Boussuge in Session 16 - 19.09.20   
    Thanks a lot, Stephane ! Great, as usual !
    Best !
    Julio
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy