Jump to content

Stephane Boussuge

  • Posts

  • Joined

  • Last visited

Contact Methods

Profile Information

  • Gender
  • Location
    Wien Austria

Recent Profile Visitors

9,492 profile views
  1. Another possible way: (setf chords '(c4e4g4 e4g4c5)) (setf durations '(q e q e s)) (setf repetitions '(7 1 6 2 5 3 4 4)) (setf out (gen-repeat repetitions (make-omn :pitch (mclist chords) :length (gen-trim (length repetitions) (mclist durations)) ))) S.
  2. 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
  3. 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
  4. Create a new workspace and add the document to it. Best. SB.
  5. (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.
  6. Another possibility is to generate ONLY chords and "dechord" all events between some length values like this: (setf omn (make-omn :pitch (chord-pitch-unique (chordize-list (gen-divide 4 (rnd-sample 256 (make-scale 'd4 8 :alt '(2 1 3)) )))) :length (rnd-sample 24 '((h q q)(s s s s q e e)(3q = = q h)(h h)(q e e q))) )) (setf omn2 (dictum '((:range (t e) :apply (dechord x))) omn)) S.
  7. Hi, here's a function I've made for myself. Best ! Stéphane add-interval-if-length.lisp add-interval-if-length.rtfd.zip
  8. (setf test '((q a4 mf e a4 p e gs4 f e4 mp g4 p) (q a4 e e gs4 e4 d4))) (setf one '(1 3)) (dictum `(:remove :event :bar 1 :event ,one) test) S.
  9. To output the content of a scale from Tonalities, you can also do like this: (expand-tonality '(c messiaen-mode6)) S.
  10. It is written in the doc - the intervals used by default are (-1 1 -2 2). S.
  11. Hi, I've made this long time ago, if it could help... (in-package :Opusmodus) ;;; Kontakt sonuscore - The Orchestra - generic ;;; keyswitches events (def-sound-set to-generic :programs (:group articulations staccato (:key c1) sustain (:key cs1) marcato (:key d1) legato (:key ds1) :group omn stacc (:key c1) spicc (:key c1) ord (:key cs1) norm (:key cs1) def (:key cs1) marc (:key d1) leg (:key ds1) trem (:key e1) pizz (:key f1) ) :controllers (:group Default-Settings Volume 7 Expression 11 )) SB.
  12. (filter-tie '(e c4 c4 e. c4 q c4 s c4 e eb4 e. eb4 h eb4 e. eb4 q eb4)) => (h. c4 mf wq eb4) also this could be useful as well but Janusz probably can program it much better: (defun filter-change (omn-lst) (make-omn :pitch (omn :pitch omn-lst) :length (binary-map (gen-binary-change (omn :pitch omn-lst)) (omn :length omn-lst)) :velocity (omn :velocity omn-lst) :articulation (omn :articulation omn-lst) :swallow t )) (filter-change '(e c4 c4 e. c4 q c4 s c4 e eb4 e. eb4 h eb4 e. eb4 q eb4)) => (e c4 - -e. -q -s e eb4 -e. -h -e. -q)
  13. Hi, may be some few private lessons with me could help. Kind regards Stéphane
  • Create New...

Important Information

Terms of Use Privacy Policy