Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 08/10/2018 in all areas

  1. 5 points
    Since some time we are working on implementing Bill's Schottstaedt 'Synthesis package CLM' into Opusmodus. As expected we make the CLM working with OMN form sequence or with single parameters - example below. The score is using partials from The Bells of the Campanile: La Marangona. Below you will find an audio file of the score which is rendered each time you make evaluation. Best wishes to all, Janusz ;; --------------------------------------------------------- ;; MARANGONA ;; --------------------------------------------------------- ;; Parameters (defparameter count 50) (setf partials1 (library 'marangona-partials 'partials nil :random 50)) (setf partials2 (library 'marangona-partials 'partials nil :random 50)) (setf partials3 (library 'marangona-partials 'partials nil :random 50)) (setf partials4 (library 'marangona-partials 'partials nil :random 50)) (setf par1 (rnd-sample count (partial :freq (flatten partials1)))) (setf par2 (rnd-sample count (partial :freq (flatten partials2)))) (setf par3 (rnd-sample count (partial :freq (flatten partials3)))) (setf par4 (rnd-sample count (partial :freq (flatten partials4)))) (defparameter freq1 (gen-divide (rnd-sample count '(2 3 4 5)) par1)) (defparameter freq2 (gen-divide (rnd-sample count '(1 2 3 4 5)) par2)) (defparameter freq3 (gen-divide (rnd-sample count '(1 2 3 1 4 5)) par3)) (defparameter freq4 (gen-divide (rnd-sample count '(1 2 3 1 4 5)) par3)) (defparameter len1 (list (length-span 42 (rnd-sample count '(w h q w))))) (defparameter len2 (list (length-span 42 (rnd-sample count '(d h h))))) (defparameter len3 (list (length-span 42 (rnd-sample count '(h. w q))))) (defparameter len4 (list (length-span 42 (rnd-sample count '(d d h))))) (do-timeline '( len1 (---xxx-xx- ---xxx---- --x--xx--- ---x------ x-) len2 (---xxx-xx- ---xx-x--- --x--xx--- ---x------ x-) len3 (---xxx-xx- ---xx--x-- --x--xx--- ---x------ --) len4 (---xxx-xx- ---xx---x- --x--xx--- ---x------ --) ) '(gen-pause x) :time '(w)) (defparameter dur1 (omn :length (flatten len1))) (defparameter dur2 (omn :length (flatten len2))) (defparameter dur3 (omn :length (flatten len3))) (defparameter dur4 (omn :length (flatten len4))) (defparameter amp1 (rnd-number count 0.05 0.43)) (defparameter amp2 (rnd-number count 0.05 0.43)) (defparameter amp3 (rnd-number count 0.05 0.43)) (defparameter amp4 (rnd-number count 0.05 0.43)) (defparameter env '((0 0 40 .1000 60 .2000 75 .4000 82 1 90 1 100 0) (0 0 60 .1000 80 .2000 90 .4000 95 1 100 0) (0 0 10 1 16 0 32 .1000 50 1 56 0 60 0 90 .3000 100 0) (0 0 30 1 56 0 60 0 90 .3000 100 0) (0 0 50 1 80 .3000 100 0) (0 0 40 .1000 60 .2000 75 .4000 82 1 90 1 100 0) (0 0 10 1 32 .1000 50 1 90 .3000 100 0) (0 0 60 .1000 80 .3000 95 1 100 0) (0 0 80 .1000 90 1 100 0))) ;; --------------------------------------------------------- ;; Score (with-sound (:play nil :reverb jc-reverb :scaled-to .7 :statistics t :channels 2 :output "marangona-series") (fmviolin-synth dur1 freq1 amp1 :degree (rnd-number count 45 85) :fm-index (rnd-number count 0.10 1.0) :reverb-amount 0.30 :noise-amount (rnd-number count 0.00 0.004) :amp-env (rnd-sample count env) :fm1-rat (rnd-number count 0.00 6.718) :fm2-rat (rnd-number count 0.00 4.414) :fm3-rat (rnd-number count 0.00 1.141) :glissando-amount (rnd-number count 0.00 0.8) ) (fmviolin-synth dur2 freq2 amp2 :degree (rnd-number count 45 85) :fm-index (rnd-number count 0.10 1.0) :reverb-amount 0.30 :noise-amount (rnd-number count 0.00 0.004) :amp-env (rnd-sample count env) :fm1-rat (rnd-number count 0.00 4.718) :fm2-rat (rnd-number count 0.00 6.414) :fm3-rat (rnd-number count 0.00 1.141) :glissando-amount (rnd-number count 0.00 0.8) ) (fmviolin-synth dur3 freq3 amp3 :degree (rnd-number count 45 85) :fm-index (rnd-number count 0.10 1.0) :reverb-amount 0.30 :noise-amount (rnd-number count 0.00 0.004) :amp-env (rnd-sample count env) :fm1-rat (rnd-number count 0.00 1.718) :fm2-rat (rnd-number count 0.00 4.414) :fm3-rat (rnd-number count 0.00 6.141) :glissando-amount (rnd-number count 0.00 0.8) ) (fmviolin-synth dur4 freq4 amp4 :degree (rnd-number count 45 85) :fm-index (rnd-number count 0.10 1.0) :reverb-amount 0.30 :noise-amount (rnd-number count 0.00 0.004) :amp-env (rnd-sample count env) :fm1-rat (rnd-number count 0.00 4.718) :fm2-rat (rnd-number count 0.00 6.414) :fm3-rat (rnd-number count 0.00 1.141) :glissando-amount (rnd-number count 0.00 0.8) ) ) Score with omn-form sequence: (with-sound (:play nil :channels 2 :reverb jc-reverb :scaled-to .6 :statistics t :output "quartet") (fmviolin-omn vn1 :reverb-amount 0.20 :bpm 44) (fmviolin-omn vn2 :reverb-amount 0.20 :bpm 44) (fmviolin-omn va :reverb-amount 0.20 :bpm 44) (fmviolin-omn vc :reverb-amount 0.20 :bpm 44) )
  2. 3 points
    > all your hard work to document I actually do such detailed documentation for my own benefit as well. I once spent several months on developing some personal library that I used for composing some piece, but when I wanted to re-use it some two years later, I could not really understand my own functions anymore. Since then I better err on the side of overdoing the docs 🙂 Best, Torsten
  3. 3 points
    opmo

    Slonimsky Stuff HELP

    I think this could be done.
  4. 2 points
    The do-timeline is already in the system 🙂
  5. 2 points
    JulioHerrlein

    Slonimsky Stuff HELP

    After we figure out the pattern sequence, gen-sive or make-scale do the job. added 1 minute later PATT # 1 (make-scale 'c4 12 :alt '(1 5)) This is why I love Opusmodus ! Best !! Julio
  6. 2 points
    JulioHerrlein

    Slonimsky Stuff HELP

    Some sieve values: PATT #53 (7 -1) PATT #59 (8 -1 -1) PATT #77 (13 -4 -2 -1) PATT #80 (-1 7) PATT #85 (-2 1 7) PATT #99 (-1 3 4) PATT #181 (1 3) PATT #186 (5 -1) PATT #295 (-1 6)
  7. 2 points
    JulioHerrlein

    Slonimsky Stuff HELP

    Dear Friends, Thank you all for replying ! What I had in mind was not a replication of the book itself, like a database but, instead, a kind of generative way for doing the same kind of symmetrical patterns. Of course, this way, we could not retrieve the exact number of the pattern as in the book edition. Actually, the patterns could be generated with a few informations: 1) The principal tones (the division of the octave). This could be specified as a keyword argument in the end of the Function, like :tritone :ditone :sesquitone :wt :st :quadritone :sesquiquadritone etc, etc... 2) The way the pattern is constructed, i.e., the combination of inter/ultra/infrapolation, as the figure bellow: 3) The ambitus of the pattern, i.e., how many octaves/times the pattern will rise up through the range. For example, Pattern #1 could spread all over a wide range as the figure below: or just in the C4-C5 ambitus, like this: 4) The restriction of the AMBITUS could make some patterns based on larger divisions of the octave, wrap around inside the ambitus determined, acting as a kind of Sieve, filtering the pitches. Just some ideas... All the best ! Julio
  8. 1 point
    the last snippet is also the last score. By the way you can do a function last score to editor. I've did one for my usage when working with SIbelius. I give it here if it can help. (defun last-score-to-editor () (compile-score *last-score* :output :musicxml :file "temp-last-score") (musicxml-to-editor "temp-last-score")) S.
  9. 1 point
    JulioHerrlein

    Slonimsky Stuff HELP

    Dear All, Is there a function where you can specify the creation parameters of the melodic patterns devised by Slonimsky on the Thesaurus ? Is there a function where you can specify: 1) The division of the octave (Tritone, Ditone, Sesquitone) ? 2) The pattern way (Infra, ultra, interpolation, and their combinations) ? Thanks for the help ! Best, Julio
  10. 1 point
    This opens up windows to Spectral work withing Opusmodus ! Congrats ! I'm so curious about the timeline stuff... All the best !
  11. 1 point
    opmo

    Slonimsky Stuff HELP

    If someone will get me the entire Thesaurus as a library or as a lists (patterns) then we could do something what Julio is proposing. PDF etc... won't do. Each pattern should be in OM library form of at least a lisp lists.
  12. 1 point
    lviklund

    Slonimsky Stuff HELP

    Me to would like to have functions for that. I made a lib from about 50 pages from the book just to lose them before having time to share it 🤯😡🤬
  13. 1 point
    Stephane Boussuge

    Slonimsky Stuff HELP

    Actually, you have only the possibilitie to use library function to pick into the Slonimsky Thesaurus.opmo library file who contain only the slonimsky tritones patterns. I would love as you to have some functions who directly generate all this stuff ! Janusz ?? 🙂 🙂 🙂 S.
  14. 1 point
    This is the EASIEST Method to achieve the result !!! FINALLY !! Without the need of Meier's Functions !! (binary-map (row-rotation 0 (gen-binary-row 12 (pcs '3-11)))1/16) YEEEEESSSSS !!! added 10 minutes later (binary-map (row-rotation 1 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation 0 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -1 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -2 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -3 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -4 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -5 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -6 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -7 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -8 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -9 (gen-binary-row 12 (pcs '3-11)))1/16) (binary-map (row-rotation -10 (gen-binary-row 12 (pcs '3-11)))1/16) AND FINALLY, back to que original (binary-map (row-rotation -11 (gen-binary-row 12 (pcs '3-11)))1/16) It works !
  15. 1 point
    opmo

    display in seperate windows

    This will be possible in ver. 2.0
×