Jump to content

Stephane Boussuge

Moderators
  • Posts

    1,066
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Stephane Boussuge reacted to JulioHerrlein in Apple M1 Arm processor?   
    Amazing feature, Janusz !
     
    This is new Notation Viewer is a very useful feature, especially for dealing with long excerpts of music. It really helps a lot when hearing the pieces to make decisions about the form, the duration of the textures.
    Does it works also with the ps (preview score) function ?
     
    Looking forward to see it in Windows machines !
     
    All the best !
     
    Julio 
  2. Like
    Stephane Boussuge reacted to opmo in OM v.3.0 (Notation Viewer)   
    I hope you like the upcoming Notation viewer. Opusmodus v.3.0 screenshot.
    Coming soon.
     
    OM-v.3.0-Notation-Viewer.mp4
     
  3. Like
    Stephane Boussuge reacted to AM in conTimbre library + pitchbend   
    dear all
     
    conTimbre-library works (in the next update) perfect with TUNING  (midi-pitchbend) and PAN now. thanx to thomas hummel and janusz!
    here are some simple sound examples...
     
    ct-micro+pan2.aiff
    ct-micro+pan3.aiff
    ct-micro+pan.aiff
    ct-micro+pan4.aiff
  4. Like
    Stephane Boussuge reacted to JulioHerrlein in Instant No.1 pour Piano (2022)   
    Beautiful, Stephane !
    BEst,
    Julio
  5. Like
    Stephane Boussuge got a reaction from NagyMusic in Instant No.1 pour Piano (2022)   
    New short piece for Piano.
     
    Stéphane
     
     
    Instant1-V1Edit03Render1.mp3 instant1v1-01Edit3.pdf Instant1V1-01.opmo
  6. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Instant No.1 pour Piano (2022)   
    New short piece for Piano.
     
    Stéphane
     
     
    Instant1-V1Edit03Render1.mp3 instant1v1-01Edit3.pdf Instant1V1-01.opmo
  7. Like
    Stephane Boussuge got a reaction from AM in Instant No.1 pour Piano (2022)   
    New short piece for Piano.
     
    Stéphane
     
     
    Instant1-V1Edit03Render1.mp3 instant1v1-01Edit3.pdf Instant1V1-01.opmo
  8. Thanks
    Stephane Boussuge got a reaction from o_e in Instant No.1 pour Piano (2022)   
    New short piece for Piano.
     
    Stéphane
     
     
    Instant1-V1Edit03Render1.mp3 instant1v1-01Edit3.pdf Instant1V1-01.opmo
  9. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Distribute Stream option/keyword   
    Hi Julio,
     
    the distribution is not made according to beats but just in order based on delta-time.
     
    But I agree I would like to have more control on distribution like the possibility to distribute list of pitch structure on vertical events (events with the same delta time) to be able to get a better control on the resultant harmonies.
     
    Best
     
    Stéphane
     
  10. Like
    Stephane Boussuge got a reaction from o_e in Distribute Stream option/keyword   
    Hi Julio,
     
    the distribution is not made according to beats but just in order based on delta-time.
     
    But I agree I would like to have more control on distribution like the possibility to distribute list of pitch structure on vertical events (events with the same delta time) to be able to get a better control on the resultant harmonies.
     
    Best
     
    Stéphane
     
  11. Like
    Stephane Boussuge reacted to AM in gen-summationsakkord / claus kühnl   
    an example with 2 pitches = 2 intervals, with microtonal quantification
     
    (sort-asc (remove-duplicates (pitch-melodize (append (gen-summationsakkord '(3 5) :typ 'ks :gedachter-grundton 'db0 :quant nil) (gen-summationsakkord '(5 7) :typ 'ks :gedachter-grundton 'db0 :quant nil))))) (sort-asc (remove-duplicates (pitch-melodize (append (gen-summationsakkord '(3 5) :typ 'gs :gedachter-grundton 'db0 :quant nil) (gen-summationsakkord '(5 7) :typ 'gs :gedachter-grundton 'db0 :quant nil)))))  
     
  12. Like
    Stephane Boussuge reacted to AM in gen-summationsakkord / claus kühnl   
    here ist some code to generate "Summationsakkorde" (CLAUS KüHNL)... have a look to the PDF...
    (from the book "Claus Kühnl: Beiträge zu einer HArmonielehre 2000" Friedrich Hofmeister Musikverlag. p.42+)
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun gen-summationsakkord (primaerint &key (n 10)(typ 'ks) (gedachter-grundton 'c0) (quant 1/2) (chord t)) (let ((partial-reihe (hertz-to-pitch (harmonics gedachter-grundton 100 :type :hertz) :quantize quant)) (partial-liste (remove-duplicates (append primaerint (list (sum primaerint)) (loop repeat n with k-int = (sum primaerint) with g-int = (sum primaerint) with a = (first primaerint) with b = (second primaerint) collect (cond ((equal typ 'ks) (setf k-int (+ (car primaerint) k-int))) ((equal typ 'gs) (setf g-int (+ (second primaerint) g-int))) ((equal typ 'fibo) (shiftf a b (+ a b))))))))) (if (null chord) (position-filter (x-b partial-liste 1) partial-reihe) (chordize (position-filter (x-b partial-liste 1) partial-reihe))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (gen-summationsakkord '(2 3) :typ 'ks :gedachter-grundton 'c2) (gen-summationsakkord '(2 3) :typ 'gs :gedachter-grundton 'c2) (gen-summationsakkord '(2 3) :typ 'fibo :gedachter-grundton 'c2) (gen-summationsakkord '(2 3) :typ 'ks :gedachter-grundton 'c2 :quant nil) (gen-summationsakkord '(3 4) :typ 'ks :gedachter-grundton 'f1) (gen-summationsakkord '(3 4) :typ 'gs :gedachter-grundton 'f1) (gen-summationsakkord '(3 4) :typ 'fibo :gedachter-grundton 'f1)  
    Doc - 03.08.2022 - 20-41.pdf
     
  13. Like
    Stephane Boussuge reacted to AM in Make arpeggio   
    here is a possible solution...
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; THE FUNCTION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun gen-arpeggio (event &key (rhy'(1/28)) (legato nil)) (let* ((pitches (melodize (omn :pitch event))) (length (car (omn :length event))) (velo (car (omn :velocity event))) (art (car (omn :articulation event))) (rhy (gen-repeat 10 rhy)) (arpeggio-voices (loop repeat (length pitches) for i from 0 to (1- (length pitches)) for j in pitches for rhy in rhy collect (if (= i 0) (length-rational-quantize (list rhy j velo art) :round length) (length-rational-quantize (append (gen-length (list i) (* -1 rhy)) (list rhy) (list j) (list velo) (list art)) :round length))))) (assign-variable 'voice (if (null legato) arpeggio-voices (loop for x in arpeggio-voices collect (length-legato x)))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; IT WORKS LIKE THAT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; type in ONE single-event (l p v a) with CHORD... for example: (setf event '(q c4e4g4b4 mf ten)) ;;; evaluate the function (with a arpeggio-length, for example :ryh 1/28) (gen-arpeggio event :rhy 1/28) ; now the the result are "bounded" on 4 voices/variables = the number of the chord-pitches ; => (voice1 voice2 voice3 voice4) ;;; list every variable, so you will have the four "arpeggio-rhythm/times", so you can use that for 4 parts on your score (list voice1) (list voice2) (list voice3) (list voice4) ;;; VARIANTS AND OPTIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; if you choose ":legato t" => all the voices are like with PEDAL played (gen-arpeggio event :rhy 1/28 :legato t) ;;; if you want to put/merge all that into ONE VOICE just: (merge-voices voice1 voice2 voice3 voice4) => (7q c4 ten e4 ten g4 ten b4 ten -7h.) ;;; if you want to have different rhy's just do it like that (gen-arpeggio event :rhy '(1/28 1/20 1/12 1/8)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
     
  14. Like
    Stephane Boussuge reacted to opmo in Length-Displace Function   
    single-events then rotation
    (setf omn (single-events '(-e he. d4 mf e cs4 hs eb4))) (gen-rotate -1 omn) => ((he. d4 mf) (e cs4 mf) (hs eb4 mf) (-e)) (gen-rotate -2 omn) => ((e cs4 mf) (hs eb4 mf) (-e) (he. d4 mf))  
  15. Like
    Stephane Boussuge got a reaction from o_e in Generation of appoggiatura and accacciatura   
    In many scores, Pierre Boulez use a lot of accacciatura or appoggiatura , for exemple like in Dérive (1984), a score composed for and based on the name SACHER (famous hexachord used also in "Message esquisse").
     
    Here's a function to help to add such appoggiature in your score based on a list of rhythmic values.
    There is a draft doc in French joined to the function definition.
     
    Hope it could be useful for some of us and may be improved and better coded and refined.
     
    My best to all of Opmo users.
     
    SB.
     
    gen-ornament.lisp gen-ornament.rtfd.zip
  16. Like
    Stephane Boussuge got a reaction from AM in Generation of appoggiatura and accacciatura   
    In many scores, Pierre Boulez use a lot of accacciatura or appoggiatura , for exemple like in Dérive (1984), a score composed for and based on the name SACHER (famous hexachord used also in "Message esquisse").
     
    Here's a function to help to add such appoggiature in your score based on a list of rhythmic values.
    There is a draft doc in French joined to the function definition.
     
    Hope it could be useful for some of us and may be improved and better coded and refined.
     
    My best to all of Opmo users.
     
    SB.
     
    gen-ornament.lisp gen-ornament.rtfd.zip
  17. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Generation of appoggiatura and accacciatura   
    In many scores, Pierre Boulez use a lot of accacciatura or appoggiatura , for exemple like in Dérive (1984), a score composed for and based on the name SACHER (famous hexachord used also in "Message esquisse").
     
    Here's a function to help to add such appoggiature in your score based on a list of rhythmic values.
    There is a draft doc in French joined to the function definition.
     
    Hope it could be useful for some of us and may be improved and better coded and refined.
     
    My best to all of Opmo users.
     
    SB.
     
    gen-ornament.lisp gen-ornament.rtfd.zip
  18. Thanks
    Stephane Boussuge reacted to opmo in remove rest(s) with dictum   
    Done.
    (dictum '(:remove e4) '(e c4 d4 e4 fs4 -q)) => (e c4 mf d4 - fs4 -q) (dictum '(:remove -q) '(e c4 d4 e4 fs4 -q)) => (e c4 mf d4 e4 fs4) (dictum '(:apply (length-rest-remove x)) '(e c4 d4 e4 fs4 -q)) => (e c4 d4 e4 fs4)  
  19. Like
    Stephane Boussuge reacted to opmo in remove rest(s) with dictum   
    To get:
    (dictum '(:apply (length-rest-remove x)) '(w c5 ped -e)) => '(w c5 ped)  
    I would need to make some changes how the dictum deals with rests.
    I will see what I can do.
  20. Like
    Stephane Boussuge reacted to opmo in split-point   
    This will fix if length-rest list:
     
    (defun split-point (split-points omn-seq)   (do-verbose ("split-point")   (let* (          (spltconvert (if (numberp (car split-points))                         split-points                         (pitch-to-integer split-points)))          (spltp (gen-trim (length omn-seq) spltconvert))          (p1 (loop for sp in spltp                for l in omn-seq                collect (if (length-restsp l) l (ambitus-filter `(,sp 128) l))                ))          (p2 (loop for sp in spltp                for l in omn-seq                collect (if (length-restsp l) l (ambitus-filter `(-128 ,(- sp  1)) l))                ))          )     (list p1 p2))))
  21. Like
    Stephane Boussuge reacted to AM in permute by rule   
    (defun permute-by-rule (n rule row) (append (list row) (loop repeat n collect (setf row (position-filter rule row))))) ;; row => a row (or a list) ;; n => number of generations ;; rule => new position/order in every generation - keep attention it's 0-based!!! => for 12 pitches use 0 to 11 (permute-by-rule 20 '(2 0 1 5 11 3 8 6 4 9 10 7) (make-scale 'c4 12))  

  22. Like
    Stephane Boussuge got a reaction from JulioHerrlein in Dictum question   
    (setf omn4 '((e b4 fs5 e3 a5) (e e5 b5 c4) (e g5 a4 eb3 d4) (e c6 b5 a4) (e c5 eb5 gs4) (e b4 f5 f5 fs5 gs5 a5) (e cs4 g4 c6) (e gs5))) (dictum '((:butlast leg :bar (1 3 6)) (:apply stacc :bar (2 4 5)) (:any e :apply q :bar (1 3 6)) (:first p :bar 1) (:apply < :bar 1 :event 2..4) (:apply < :bar 2 :event 1..2) (:apply ff :bar 4) (:apply > :bar 5) (:first pp :bar 7) (:apply < :bar 7 :event 2..3) (:apply fff :bar 8) (:last fermata :bar 8)) omn4) S.
  23. Like
    Stephane Boussuge reacted to opmo in fill-space function   
    Here it is with seed:
    fill-space.opmo
  24. Like
    Stephane Boussuge reacted to JulioHerrlein in How to retrieve parts from the 12-tone matrix   
    FOUND IT !!!
     
    (get-form-set '(0 4 9 10 5 3 8 7 1 2 11 6) 'r7)
     
     
  25. Like
    Stephane Boussuge got a reaction from myecholalia in Hô Chi Minh City for chamber ensemble   
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy