Jump to content

Stephane Boussuge

Moderators
  • Posts

    821
  • Joined

  • Last visited

Everything posted by Stephane Boussuge

  1. You can do it like that: (setf len '((1/8 7/8) (1/8 7/8) (1/4 1/12 1/12 1/12 3/16 5/16) (-3/8 1/8 1/4 -1/8 1/8))) (setf count (mapcar (lambda(x) (count-item 1 x)) (length-to-binary len))) But you are right, we could simply do it with GET-COUNT: (get-count len :length :note ) Best ! Stéphane
  2. One possible way among the infinity of possibility : ;;; Creating random notes that are played ;;; in clusters over random time periods ;; Create random notes (setf notes (rnd-sample 512 (make-scale 'c2 48))) ;; Create chords (setf chords (gen-chord 24 4 8 -6 6 notes)) ;; Create binary time periods (setf bin (gen-binary-rnd 24 16 1 8)) ;; Create rhythm from binary (setf ry (binary-map bin 's)) ;; Create random dynamics (setf dyn (rnd-sample (length chords) '(pp p mp mf f ff))) ;; Full OMN Assembly (setf rnd-chords (make-omn :pitch chords :length ry :velocity dyn ;:span :pitch )) (ps 'gm :pg (list rnd-chords) :tempo 64) SB.
  3. All fine Julio, thanks, no worries ! It's finish now. Best Stéphane
  4. Nothing to do during my Covid period and a bit of fever, so... stephaneboussuge · Covid - For - String - Quartet Covid-forStringQuartet.opmo
  5. The narrator is IBM AI " Watson". Best Stéphane
  6. Opusmodus file used for this video attached here. Enjoy. SB. LiveCodingDemo0521.opmo
  7. Hi Julio, i will be very interesting to see your way to control harmony. Best S.
  8. New piece made with OM: stephaneboussuge · Traces For Ensemble SB.
  9. Perfect, so if we write (q c4 ped -), the pedal will stop at the end of the quarter c4 as it has to be but if we want it goes on the rest we will write (q c4 ped - ped) ? That’s will be very cool and elegant solution. Or ( ped (q c4 -)) ? Also nice ... s.
  10. Yes, that's useful indeed but also we need to be able to stop it precisely if needed... SB.
  11. Hi Julio, Staffpad was used ONLY for the sound rendering. The piece was composed in OM and edited in Sibelius then exported to Musicxml to Staffpad. About Staffpad, I am very impressed by the quality of sound of the sound libs you can buy separately to it (Berlin first chairs Strings, woods etc..). I'm using it like the most efficient and simple midi rendering tool I ever seen with great output sound quality without any editing. And yes, it's on iPad but staffed exist also for Windows tablet. Best, S.
  12. Hi folks, Here's a work in progress made with the fantastic COUNTERPOINT function. S.
  13. i've experimented a bit with pitch alignment for controlling harmony, here's what I tried. Hope it could help. ;;; Pich alignment with binaries ;;; Proof of concept (progn (setf lvl (rnd-sample 8 '(8 12 16))) (setf len1 (euclidean-rhythm lvl 1 12 's)) (setf len2 (euclidean-rhythm lvl 1 12 's)) (setf len3 (euclidean-rhythm lvl 1 12 's)) (setf bin1 (length-to-binary len1)) (setf bin2 (length-to-binary len2)) (setf bin3 (length-to-binary len3)) (setf pch '(c4 d4 e4 f4 g4 a4 b4 c5 b4 a4 g4 f4 e4 d4 c4)) (setf pch1 (binary-map bin1 pch)) (setf pch2 (binary-map bin2 pch)) (setf pch3 (binary-map bin3 pch)) (setf omn1 (make-omn :pitch pch1 :length len1)) (setf omn2 (make-omn :pitch pch2 :length len2)) (setf omn3 (make-omn :pitch pch3 :length len3)) (ps 'gm :fl (list omn1) :fl (list omn2) :fl (list omn3)) ) ;;; Now with intervals (progn (setf lvl (rnd-sample 8 '(8 12 16))) (setf len1 (euclidean-rhythm lvl 1 12 's)) (setf len2 (euclidean-rhythm lvl 1 12 's)) (setf len3 (euclidean-rhythm lvl 1 12 's)) (setf bin1 (length-to-binary len1)) (setf bin2 (length-to-binary len2)) (setf bin3 (length-to-binary len3)) (setf pch '(c4 d4 e4 f4 g4 a4 b4 c5 b4 a4 g4 f4 e4 d4 c4)) (setf pch1 (binary-map bin1 pch)) (setf pch2 (binary-map bin2 (pitch-transpose-n '(-4 -3 -7) pch1))) (setf pch3 (binary-map bin3 (pitch-transpose-n '(-17 -20 -19) pch1))) (setf omn1 (make-omn :pitch pch1 :length len1)) (setf omn2 (make-omn :pitch pch2 :length len2)) (setf omn3 (make-omn :pitch pch3 :length len3)) (ps 'gm :fl (list omn1) :cl (list omn2) :bn (list omn3)) ) ;;; Pitch generation from choral with 7th chords (progn (setf lvl (rnd-sample 8 '(8 12 16))) (setf len1 (euclidean-rhythm lvl 1 12 's)) (setf len2 (euclidean-rhythm lvl 1 12 's)) (setf len3 (euclidean-rhythm lvl 1 12 's)) (setf bin1 (length-to-binary len1)) (setf bin2 (length-to-binary len2)) (setf bin3 (length-to-binary len3)) (setf chords (gen-chord3 '(d3 f3 e3 a3) '((10 16)))) (setf cpch1 (pitch-demix 1 chords)) (setf cpch2 (pitch-demix 2 chords)) (setf cpch3 (pitch-demix 3 chords)) (setf pch1 (binary-map bin1 cpch1)) (setf pch2 (binary-map bin2 cpch2)) (setf pch3 (binary-map bin3 cpch3)) (setf omn1 (make-omn :pitch pch1 :length len1)) (setf omn2 (make-omn :pitch pch2 :length len2)) (setf omn3 (make-omn :pitch pch3 :length len3)) (ps 'gm :fl (list omn1) :cl (list omn2) :bn (list omn3)) ) ;;; Same as above but with chord change only on every bar (progn (setf lvl (rnd-sample 8 '(8 12 16))) (setf len1 (euclidean-rhythm lvl 1 12 's)) (setf len2 (euclidean-rhythm lvl 1 12 's)) (setf len3 (euclidean-rhythm lvl 1 12 's)) (setf bin1 (length-to-binary len1)) (setf bin2 (length-to-binary len2)) (setf bin3 (length-to-binary len3)) (setf chords (gen-chord3 '(d3 f3 e3 a3) '((10 16)))) (setf cpch1 (mclist (pitch-demix 1 chords))) (setf cpch2 (mclist (pitch-demix 2 chords))) (setf cpch3 (mclist (pitch-demix 3 chords))) (setf pch1 (binary-map bin1 cpch1)) (setf pch2 (binary-map bin2 cpch2)) (setf pch3 (binary-map bin3 cpch3)) (setf omn1 (make-omn :pitch pch1 :length len1)) (setf omn2 (make-omn :pitch pch2 :length len2)) (setf omn3 (make-omn :pitch pch3 :length len3)) (ps 'gm :fl (list omn1) :cl (list omn2) :bn (list omn3)) ) SB.
  14. Only Janusz can do such a function but indeed I think something like that could be useful for controlling vertical intervalic harmony between multiple voices coming from and already generated chord canevas and extracted with pitch-demix or similar function. S.
  15. What about this: (setf pitchlist '((c4 d4 e4 f4)(cs4 ds4 as4 fs4)(bb4 eb4 ab4))) (setf rhy '((s s s)(s s) nil (s s s)(s s)(s s))) (remove-nils (gen-swallow rhy pitchlist)) => ((c4 d4 e4) (cs4 ds4) (c4 d4 e4) (cs4 ds4) (bb4 eb4))
  16. Look to the function span and the function gen-swallow. May be it could help to achieve what you want. May be something like that: (setf pch (span rv1 pitmat :swallow t)) (make-omn :pitch pch :length rv1) S.
  17. You can have a look on that page: https://opusmodus.com/forums/lessons/
  18. Hi Marc, I've stopped now the Zoom into OM but you can still take private lessons with me et en Français Stéphane
  19. I'm using emacs with OM with my own configuration with an Opusmodus menu and so on, but I'm absolutely not a specialist of Emacs. SB.
  20. I've made a soundest for BBC Symphonic Orchestra Core version but it probably works as well with this one. You will find it attached to this post. best SB. BBCSO.lisp
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy