Jump to content

Jorgalad

Members
  • Posts

    51
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Jorgalad reacted to JulioHerrlein in Giant Steps Improvisation generator   
    Thanks for editing the file, Janusz !
    Here is some Giant Steps in 12 keys !
    Best !
    Julio
     
  2. Like
    Jorgalad reacted to opmo in Opusmodus 3.0.29232 Update   
    COUNTERPOINT additional functionality:
     
    orchestra (Optional): Lists all instruments involved in the composition. This comprehensive list ensures that the counterpoint function can consider the full ensemble when applying transformations and generating output.
     
    instruments (Optional): Identifies a subset of instruments from the orchestra to which the counterpoint operations are specifically applied. This allows for targeted manipulation of particular voices or sections within the ensemble.
     
    Orchestra and Instruments
    The :orchestra and :instruments options are employed within the COUNTERPOINT function for orchestrating ensemble or orchestral compositions. These options ensure precise alignment and synchronisation of all instruments, particularly vital when focusing on specific sections and a selected list of instruments. The key objective is to maintain coherence across the ensemble, ensuring that instruments not actively participating in a given section are appropriately paused, yet still accounted for in the overall section result. The :instruments option explicitly designates the instruments engaged in the COUNTERPOINT operation. The orchestra variable is defined to encompass a comprehensive range of instruments across different families, including woodwind, brass, percussion, keyboard and harp, and strings.
     
    (setf orchestra '(pic flt obo cla bsn cbn ; woodwind hrn tpt tbn tba ; brass tmp glk chi ; percussion cel plh prh hrp ; keyboard, harp vn1 vn2 vla vlc ctb ; strings ) )  
    In the COUNTERPOINT function below, sequences (seq1, seq2, seq3) are processed through specified dictum configurations, with attention to sequence patterns, tempo, and the orchestrated ensemble layout.
     
    (counterpoint (list seq1 seq2 seq3) '(((- 1 2 1 2 1) :sequence (1 1 1 1 1 1) :tempo 88) ((4 3 1 2 1 1) :sequence (3 1 1 1 1 1))) :orchestra orchestra :instruments '(vn1 vn2 vla vlc ctb) :time-signature '(4 4) :global-tonality '((d4f4a4 :map octave)) :index ‘s1-)  
    By specifying :orchestra and :instruments, this approach ensures that only the selected string instruments (vn1, vn2, vla, vlc, ctb) are actively engaged in the COUNTERPOINT, while other orchestral sections are paused but included in the overall texture (output).

    Best wishes,
    Janusz
  3. Like
    Jorgalad got a reaction from Stephane Boussuge in 2 videos on orchestral sections   
    Absolutely beautiful Stéphane!
  4. Like
    Jorgalad reacted to Stephane Boussuge in Pillars Of Creation   
    Hi folks,
    a short electronic track in honor of Hubble telescope discovery...
    I've used the template shared here as starting point:
    Attached the Audio file, Opmo score and VCVRack.
    Best
    S.
    PillarsOfCreation.wav PillarsOfCreation.vcv PillarsOfCreation.opmo
  5. Like
    Jorgalad reacted to opmo in New Video - Partial Pulse   
  6. Like
    Jorgalad reacted to opmo in Short SC score   
    (progn ;; DEFSYNTH (sc:defsynth sine4 ((freq 200) (dur 2.0) (vel 1.0) (pan 0) (times 0.3) (pm 12)) (let* ((env (* 0.3 (sc:env-gen.kr (sc:perc .0 (* 4.0 dur)) :act :free) vel)) (out (* times (sc:sin-osc.ar freq 0 (max 0 (sc:lf-noise1.kr pm))))) (out (sc:pan2.ar out pan))) (sc:out.ar 0 out))) ;; OMN-SCORE (setf size 200) (setf vector (list-plot (add-triangle-waves 4 size 1 0.6 :modulation (gen-triangle size 1 '(0.5 0.4 0.3 0.6) :modulation (gen-triangle size 1 0.3 :phase 180))) :point-radius 2)) (setf pitches (gen-divide 4 (vector-to-pitch '(g2 g6) vector :quantize 1/4))) (setf transpose (pitch-transpose -12 pitches)) (setf variants (pitch-variant transpose :variant '?)) (setf length1 (rnd-sample 120 '(s e s -s))) (setf length2 (rnd-sample 120 '(s e s -s))) (setf time1 (span pitches length1)) (setf time2 (span variants length2)) (setf dynamics '(p mf ff)) (setf omn1 (make-omn :length time1 :pitch (pitch-transpose 12 pitches) :velocity (rnd-sample size dynamics))) (setf omn2 (make-omn :length time2 :pitch variants :velocity (rnd-sample size dynamics))) ;; CONVERSION (setf len1 (omn-to-sc :length omn1)) (setf len2 (omn-to-sc :length omn2)) (setf freq1 (omn-to-sc :hertz omn1)) (setf freq2 (omn-to-sc :hertz omn2)) (setf vel1 (omn-to-sc :velocity omn1)) (setf vel2 (omn-to-sc :velocity omn2)) ;; SC-SCORE (def-sc-score add-triangle (:tempo 128 :layout ((in1 . len1) (in2 . len2)) ;:output "add-triangle" ) (in1 :synth sine4 :freq freq1 :dur len1 :times (rnd size :low 0.1 :high 0.3) :vel vel1 :pan (rnd size :low -1.0 :high 1.0) :pm (rnd-sample size (gen-integer 6 30)) ) (in2 :synth sine4 :freq freq2 :dur len2 :times (rnd size :low 0.1 :high 0.3) :vel vel2 :pan (rnd size :low -1.0 :high 1.0) :pm (rnd-sample size (gen-integer 6 30)) ) ) )  

     
    add-triangle (Snippet).mp3  
     
     
  7. Like
    Jorgalad reacted to opmo in Opusmodus 3.0.29046 Update   
    Thanks to Sungmin's support and the introduction of the new DEF-SC-SCORE macro, Opusmodus users can now create a series of instruments similar to those created with the DEF-SCORE macro for traditional instrument scores.
     
    The primary objective of the DEF-SC-SCORE was to enable users to take Opusmodus scores (whether in omn-form or single-element omn forms) and convert them to the CL-Collider (SuperCollider) input format. To achieve this, we introduced the OMN-TO-SC function specifically for this task.
     
    Below are a few examples that illustrate the conversion process and the use of the DEF-SC-SCORE macro:
     
    Example 1:

    DEFSYNTH:
    (sc:defsynth snd2 ((dur 2.0) (vel 1.0) (left 10) (right 10) (index-low 4) (index-high 12)) (let* ((trigger (sc:impulse.kr (list left right))) (pitch (round (sc:t-rand.kr 36 72 trigger) 1)) (timbre (sc:lf-noise0.kr 1/20 0.2 2)) (env (* 1.0 (sc:env-gen.kr (sc:perc .0 (* 2.0 dur)) :act :free) (sc:linen.kr trigger 0.0 vel (/ 1 (list left right))))) (index (+ (* env index-high) index-low)) (pitch (sc:midicps pitch)) (out (sc:pm-osc.ar pitch (* pitch timbre) index 0 env))) (sc:out.ar 0 out))) (sc:defsynth pm-crotale ((note 60) (dur 2.0) (vel 1.0) (pan 0)) (declare (ignore amp)) (let* ((freq (sc:midicps (+ 0 note))) (envl (sc:perc 0 (* 4.0 dur))) (mod! (+ 5 (/ 1 (sc:i-rand.ir 2 6)))) (out (sc:pm-osc.ar freq (* mod! freq) (sc:env-gen.kr envl :time-scale (* 4.0 dur) :level-scale vel) 0 (sc:env-gen.kr envl :time-scale (* 4.0 dur) :level-scale 0.3))) (out (sc:pan2.ar out pan)) (out (* out (sc:env-gen.kr envl :time-scale (* 1.3 (* 4.0 dur)) :level-scale (sc:rand.ir 0.1 0.4) :act :free)))) (sc:out.ar 0 out)))
    OMN Score:
    (setf size 120) (setf vector       (list-plot        (gen-sine         size 1 '(0.5 0.4 0.3 0.6)         :modulation (gen-sine size 1 0.3 :phase 180))))          (setf pitch (vector-to-pitch '(g1 g6) vector)) (setf pitch1 (gen-divide 4 pitch)) (setf pitch-transp (pitch-transpose -12 pitch1)) (setf section (rnd-unique 15 (gen-integer 0 27))) (setf pitch2 (pitch-variant pitch-transp :variant '? :section section)) (setf length1 (rnd-sample size '(s e s s))) (setf span (get-span length1)) (setf length2 (length-span span (rnd-sample size '(s e s s)))) (setf len-sum (list (sum (abs! length1)))) (setf dynamic1 (rnd-sample size '(p mp mf f ff))) (setf dynamic2 (rnd-sample size '(p mp mf f ff))) (setf omn1 (make-omn :length length1 :pitch pitch1 :velocity dynamic1)) (setf omn2 (make-omn :length length2 :pitch pitch2 :velocity dynamic2))  
    DEF-SC-SCORE:
    (def-sc-score example1     (:tempo 120      :layout ((in1 . len1) (in2 . len2) (in3 . len-sum)))   (in1 :synth pm-crotale        :note midi1        :dur len1        :vel vel1        :pan (gen-loop size (rnd1)))   (in2 :synth pm-crotale        :note midi2        :dur len2        :vel vel2        :pan (gen-loop size (rnd1)))   (in3 :synth snd2        :note '(60)        :dur length-sum        :vel '(0.1))   )  
     
    Example 2:
     
    DEFSYNTH:
    (sc:defsynth pm-crotale ((note 60) (dur 2.0) (vel 1.0) (pan 0))   (declare (ignore amp))   (let* ((freq (sc:midicps (+ 0 note)))          (envl (sc:perc 0 (* 4.0 dur)))          (mod! (+ 5 (/ 1 (sc:i-rand.ir 2 6))))          (out (sc:pm-osc.ar freq                             (* mod! freq)                             (sc:env-gen.kr envl                                            :time-scale (* 4.0 dur)                                            :level-scale vel)                             0                             (sc:env-gen.kr envl                                            :time-scale (* 4.0 dur)                                            :level-scale 0.3)))          (out (sc:pan2.ar out pan))          (out (* out                  (sc:env-gen.kr envl                                 :time-scale (* 1.3 (* 4.0 dur))                                 :level-scale (sc:rand.ir 0.1 0.4)                                 :act :free))))     (sc:out.ar 0 out)))  
    OMN Score:
    (setf chrom '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 bb4 b4)) (setf chords (gen-chord-series chrom chrom :method 1 :type '? :segment '?)) (setf size (length chords)) (setf length (rnd-sample size '(w h q -q)))  
    DEF-SC-SCORE:
    (def-sc-score example2 (:tempo 102 :layout ((ins . length))) (ins :synth pm-crotale :note (omn-to-sc :midi chords) :dur length :vel (gen-loop size (rnd1))) )  
    To see more CL-Collider (SuperCollider) examples and understand the usage of the DEF- SC-SCORE macro, please follow these steps:
     
    Navigate to the Assistant navigator.
    Press the (D) icon.
    Look for the 'CL-Collider Examples' folder. Open the 'CL-Collider.opmo' file.
     
    Happy coding,
    Janusz
  8. Like
    Jorgalad got a reaction from j111 in vim editor support   
    I had OM running successfully in Doom Emacs, which in case you are unfamiliar with it, uses Vim keybindings. And I loved it!
    The only thing I couldn't figure out was how to quickly get to the documentation, but you can look op some of Torsten's posts regarding this. 
    Not sure if all of this will still work when switching to Lispworks in v3 though?
  9. Thanks
    Jorgalad reacted to opmo in Opusmodus 3.0 is coming (Intel & M1)   
    Few screenshots of the new version 3.0
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     

     
     
    In a few days on your desktop.
    Thank you for your patients.
     
    Janusz
  10. Like
    Jorgalad reacted to AM in Apple M1 Arm processor?   
    I'm testing (for fun) the M2 with opusmodus (intel, a little wobbly on silicon) - of course I still have a copy on my intel-mac, just for fun!
     
    but the combination is really good. I calculate/play something in OPUSMODUS, sending by OSC to MAX/MSP and further to ABLETON LIVE; as a heavy test, the same thing in parallel to REAPER. everything with different plugins. no jerks, no glitches. That will be really great, this combination - when OPMO officially runs on silicon!
     
    then PROCESSING can also run in parallel 😄
     
    @opmo: thx a lot for all the special functions you have coded for me/us over the last few years, very specific/individual solutions for me, my work!!
     
     
     

    testiing all.mov  
  11. Like
    Jorgalad got a reaction from isaac in vim editor support   
    I had OM running successfully in Doom Emacs, which in case you are unfamiliar with it, uses Vim keybindings. And I loved it!
    The only thing I couldn't figure out was how to quickly get to the documentation, but you can look op some of Torsten's posts regarding this. 
    Not sure if all of this will still work when switching to Lispworks in v3 though?
  12. Like
    Jorgalad reacted to MikeMossey in Does Opusmodus come with sample library?   
    Wow, thanks! What a community Opmo has! I'm looking forward to learning more about it.
     
    I puchased XCE 8 years ago for Windows. Trying to get it to run on my Mac but no luck yet. I've contacted xsample.de. I see there's already a sound set for XCE that comes with Opmo.
     
    Regarding sound sets, I'm a programmer so I'm pretty sure I can figure out most things on my own if you can point me to documentation that explains how to create and use sound sets.
     
    I do need some more documentation or help setting up custom functions. I tried copying your last-score-to-editor function to the System Library and created a contents.opmo file, but when I add a call to last-score-to-editor to one of the demonstration scores and evaluate all, I get a message about last-score-to-editor being undefined.
     
    Thanks,
    Mike
     
  13. Thanks
    Jorgalad 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
     
  14. Like
    Jorgalad reacted to JulioHerrlein in Why I Use Opusmodus   
    WHY I USE OPUSMODUS SOFTWARE IN MY MUSICAL COMPOSITION PROCESS
     
    In this video I will describe some of the techniques I used in my compositional process and why I decided to use OPUSMODUS Software for compose music ! Also my experience with Pure Data and Nodal Software before moving to Opusmodus.
     
     
     
     
  15. Like
    Jorgalad reacted to opmo in Opusmodus version 2.1, end of June!   
    MIDI ENTRY
     
    To start the MIDI input into your score file, select the command MIDI Entry from the Tools menu. When MIDI Entry is ON, the Listener echo bar will change to orange:
     

     
    Now you know the MIDI Entry is ON. Depending on the position of the pitch-bend wheel and the modulation wheel as well as the position of the sustain pedal the colour of the Listener echo bar will change.
     
    To make the MIDI Entry as functional as possible there are a number of commands that will increase the speed of your work without the need to move away form your MIDI keyboard.
     
    Every entry is octave independent, except the pitch entry.
     

     
     Pitch                                  
    Enter pitch symbols and chords into your score.
     
     Length and Tuplet                      
    Pitch-Bend: Up-Full
    C 1 D 1/2 E 1/4 F 1/8 G 1/16 A 1/32 B 1/64 Cs 3 Ds 5 Fs 6 Gs 7 Bb 9  
     Length-rest and Tuplet                 
    Pitch-Bend: Down-Full
    C -1 D -1/2 E -1/4 F -1/8 G -1/16 A -1/32 B -1/64 Cs -3 Ds -5 Fs -6 Gs -7 Bb -9  
     Velocity                               
    Pitch-Bend: UP-Half
    C   pppp Cs  ppp D   pp Eb  p E   mp F   mf Fs  f G   ff Gs fff A   ffff Bb < B   >  
     Attribute                              
    Pitch-Bend: Down-Half
    C stacc Cs ord D marc Eb fermata E mart F ten Fs pizz G leg Gs trem A tie Bb ped1 B ped  
     Microtonality and Commands             
    Modulation Wheel: Up
    Add a microtonal symbol next to the pitch symbol.
     
    F   + G   - A   . B   .. C   parenthesis pair D   open parenthesis E   close parenthesis Cs move forward char Eb move backward char Fs delete backward char Gs undo Bb new line and indent Note: If you enable MIDI input with the modulation wheel up, you need to move it down and up again in order for it to be considered up.
     
    Entries with Sustain Pedal Down
     
     Pitch                                  
    Add a pitch symbol next to the previous pitch (chord).
     
     Length and Tuplet                      
    Pitch-Bend: Up-Full
    Add a length entry to the previous length value (combine length).
     
     Length-rest and Tuplet                 
    Pitch-Bend: Down-Full
    Add a length-rest entry to the previous rest value (combine length).
     
     Velocity                               
    Pitch-Bend: Up-Half
    Add < or > dynamic symbol to the previous velocity value.
     
     Attribute                              
    Pitch-Bend: Down-Half
    Add (+) attribute to the previous attribute value (combine attributes).
     
    Examples:
    c4e4g4 Enter a chord c4e4g4 on your MIDI keyboard or pitch by pitch: c4 e4 g4 with sustain pedal down. (q c4 mp e4 g4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 then g4 => (q c4 mp e4 g4) (q c4 mp e4 stacc g4 p fermata+trem) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) 1. Modulation wheel up then C => () 2. PB-UpF then E => (q) 3. Enter c4 => (q c4) 4. PB-UpH then E => (q c4 mp) 5. Enter e4 => (q c4 mp e4) 6. PB-DnH then C => (q c4 mp e4 stacc) 7. Enter g4 => (q c4 mp e4 stacc g4) 8. PB-UpH then Eb => (q c4 mp e4 stacc g4 p) 9. PB-DnH then Eb => (q c4 mp e4 stacc g4 p fermata) 10. PB-DnH then Gs + sustain => (q c4 mp e4 stacc g4 p fermata+trem) 11. PB-UpF Cs/E (chord) => (q c4 mp e4 stacc g4 p fermata+trem 3q) 12. Enter c4 then eb4 then fs4 => (q c4 mp e4 stacc g4 p fermata+trem 3q c4 eb4 fs4) Best wishes,
    Janusz
  16. Like
    Jorgalad reacted to Stephane Boussuge in Session 3 - 30.05.20 - Sound-sets   
    Here's the file from today.
     
    Happy Opusmodusing !!
     
    Stéphane
     
    Zoom300520-Soundsets1.opmo
  17. Thanks
    Jorgalad got a reaction from JulioHerrlein in Different Voice for one note in a Chord   
    Wow that is some stellar work, I do play guitar but I mainly compose on piano will send this along to my guitar playing friends, seems like a very valuable source.
    I already had some new things to learn in the first few lines of your provided example so I had a productive day yesterday.
    I have no doubt that you're familiar with these, but for others that might be interested, I found some useful tools for PCS analysis as well as a nice explanation on the subject.
     
    https://www.fransabsil.nl/htm/toneset.htm#toneset_userguidelines
     
    https://www.mta.ca/pc-set/pc-set_new/pages/introduction/toc.html
  18. Like
    Jorgalad reacted to Stephane Boussuge in Score 139, a practical example of using OM   
    Hi,
     
    here's an example showing many possible techniques in OM like pattern matching articulations, chaining sections, row segmentation, reservoir/cells based approach etc....
    SB.
    ;;; ================================== ;;; SCORE 139 ;;; SB.20.03.2020 ;;; COPYRIGHT 2020 S.BOUSSUGE ;;; ================================== ;;; KEYWORDS: strings quartet pcs pitch class set sets reservoir ;;; ================================== ;;; GLOBAL PARAMETERS ;;;================== ;;; LENGTH (setf lenres1 '((w)(h h)(h -q q)(q h -q)(-q q q -q)(-q h -q))) (setf lenres2 (append lenres1 '((e e q h)(e e e e -q e e)(s s s s q -e s s q)(3q = = q -q)(q e e)(e. s q -q)))) (setf lenres3 (append lenres2 '((5q = = = = q -e s s)(s s s s s s s s q e e)))) (setf lenres4 (butlast (reverse lenres3) 3)) (setf lenres5 (butlast (reverse lenres3) 6)) (setf lenres6 (butlast (reverse lenres3) 10)) ;;; PITCH (setf pmat (rnd-row :type :pitch)) (setf set1 (subseq pmat 0 4)) (setf set2 (subseq pmat 4 9)) (setf set3 (subseq pmat 6)) (setf set4 (subseq pmat 2 10)) (setf set5 (subseq pmat 0 9)) (setf set6 (subseq pmat 4)) ;;; DYNAMIC (setf velres1 '((ppp)(pp)(p))) (setf velres2 '((pp)(p)(mp))) (setf velres3 '((p)(mp)(mf))) (setf velres4 '((mp)(mf)(f))) (setf velres5 '((mf)(f))) (setf velres6 '((f))) ;;; ARTICULATION (setf articulation-map1 '( ;; mapping on reservoir motives ((w)(ord)) ((h h)(ord ord)) ((h -q q)(ord stacc)) ((q h -q)(ord ord)) ((-q q q -q)(ord ord)) ((-q h -q)(ord)) ((e e q h)(leg ord stacc ord)) ((e e e e -q e e)(leg ord leg ord stacc stacc)) ((s s s s q -e s s q)(leg leg leg ord marc stacc stacc marc)) ((3q = = q -q)(leg leg ord ord)) ((q e e)(stacc leg ord)) ((e. s q -q)(ord stacc ord)) ((5q = = = = q -e s s)(leg leg leg leg ord stacc leg ord)) ((s s s s s s s s q e e)(leg leg leg ord leg leg leg ord stacc leg ord)) ;; complementary utils mapping ((s s s s)(leg leg leg ord)) ((5q = = = =)(leg leg leg leg ord)) ((e e)(leg ord)) ((3q = =)(leg leg ord)) )) ;;; SECTIONS SIZES (setf s1.size 12) (setf s2.size 12) (setf s3.size 12) (setf s4.size 12) (setf s5.size 12) (setf s6.size 12) ;;; SECTIONS TEMPI (setf s1.tempo `("Calme" q 72 ,s1.size)) (setf s2.tempo `("Modéré" q 92 ,s2.size)) (setf s3.tempo `("Vif" q 102 ,s3.size)) (setf s4.tempo `("Décidé" q 108 ,s4.size)) (setf s5.tempo `("Vif" q 112 ,s5.size)) (setf s6.tempo `("Vif" q 112 ,s6.size)) ;;; SECTIONS INSTRUMENTS LOCAL TRANSPOSITIONS ;;; section 1 (setf s1-i1tp (rnd-number s1.size -6 6)) (setf s1-i2tp s1-i1tp) (setf s1-i3tp s1-i1tp) (setf s1-i4tp s1-i1tp) ;;; section 2 (setf s2-i1tp (rnd-number s2.size -6 6)) (setf s2-i2tp (rnd-number s2.size -6 6)) (setf s2-i3tp s2-i1tp) (setf s2-i4tp s2-i1tp) ;;; section 3 (setf s3-i1tp (rnd-number s3.size -6 6)) (setf s3-i2tp (rnd-number s3.size -6 6)) (setf s3-i3tp (rnd-number s3.size -6 6)) (setf s3-i4tp (rnd-number s3.size -6 6)) ;;; section 4 (setf s4-i1tp (rnd-number s4.size -6 6)) (setf s4-i2tp (rnd-number s4.size -6 6)) (setf s4-i3tp (rnd-number s4.size -6 6)) (setf s4-i4tp (rnd-number s4.size -6 6)) ;;; section 5 (setf s5-i1tp (rnd-number s5.size -6 6)) (setf s5-i2tp (rnd-number s5.size -6 6)) (setf s5-i3tp (rnd-number s5.size -6 6)) (setf s5-i4tp (rnd-number s5.size -6 6)) ;;; section 6 (setf s6-i1tp (rnd-number s6.size -6 6)) (setf s6-i2tp (rnd-number s6.size -6 6)) (setf s6-i3tp (rnd-number s6.size -6 6)) (setf s6-i4tp (rnd-number s6.size -6 6)) ;;; SECTION GLOBAL TRANSPOSITIONS ;;; section 1 (setf s1-gtp (rnd-number s1.size -6 6)) ;;; section 2 (setf s2-gtp (rnd-number s2.size -6 6)) ;;; section 1 (setf s3-gtp (rnd-number s3.size -6 6)) ;;; section 1 (setf s4-gtp (rnd-number s4.size -6 6)) ;;; section 1 (setf s5-gtp (rnd-number s5.size -6 6)) ;;; section 1 (setf s6-gtp (rnd-number s6.size -6 6)) ;;; SECTION GROUP INSTRUMENTATIONS (Play/Mute system) ;;; section 1 (setf s1-i1pm (gen-trim s1.size '(-))) (setf s1-i2pm (gen-trim s1.size '(-))) (setf s1-i3pm (gen-trim s1.size '(-))) (setf s1-i4pm (gen-trim s1.size '(-))) ;;; section 2 (setf s2-i1pm (gen-trim s2.size '(-))) (setf s2-i2pm (gen-trim s2.size '(-))) (setf s2-i3pm (gen-trim s2.size '(-))) (setf s2-i4pm (gen-trim s2.size '(-))) ;;; section 3 (setf s3-i1pm (rnd-sample s3.size '(- - x))) (setf s3-i2pm (rnd-sample s3.size '(- - x))) (setf s3-i3pm (rnd-sample s3.size '(- - x))) (setf s3-i4pm (rnd-sample s3.size '(- - x))) ;;; section 4 (setf s4-i1pm (rnd-sample s4.size '(- - x))) (setf s4-i2pm (rnd-sample s4.size '(- - x))) (setf s4-i3pm (rnd-sample s4.size '(- - x))) (setf s4-i4pm (rnd-sample s4.size '(- - x))) ;;; section 5 (setf s5-i1pm (rnd-sample s5.size '(- - x))) (setf s5-i2pm (rnd-sample s5.size '(- - x))) (setf s5-i3pm (rnd-sample s5.size '(- - x))) (setf s5-i4pm (rnd-sample s5.size '(- - x))) ;;; section 6 (setf s6-i1pm (rnd-sample s6.size '(- - x))) (setf s6-i2pm (rnd-sample s6.size '(- - x))) (setf s6-i3pm (rnd-sample s6.size '(- - x))) (setf s6-i4pm (rnd-sample s6.size '(- - x))) ;;; PROCESS ;;;======== ;;; SECTION 1 ;;; =================== (setf vn1-1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) )) (setf spn1 (get-span vn1-1)) (setf vn2-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) (setf vla-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) (setf vlc-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-1.itp (pitch-transpose s1-i1tp vn1-1)) (setf vn2-1.itp (pitch-transpose s1-i2tp vn2-1)) (setf vla-1.itp (pitch-transpose s1-i3tp vla-1)) (setf vlc-1.itp (pitch-transpose s1-i4tp vlc-1)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-1.gtp (pitch-transpose s1-gtp vn1-1.itp)) (setf vn2-1.gtp (pitch-transpose s1-gtp vn2-1.itp)) (setf vla-1.gtp (pitch-transpose s1-gtp vla-1.itp)) (setf vlc-1.gtp (pitch-transpose s1-gtp vlc-1.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-1.r (omn :length vn1-1.gtp)) (setf vn2-1.r (omn :length vn2-1.gtp)) (setf vla-1.r (omn :length vla-1.gtp)) (setf vlc-1.r (omn :length vlc-1.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-1.arl (pattern-map articulation-map1 vn1-1.r :otherwise '(ord))) (setf vn2-1.arl (pattern-map articulation-map1 vn2-1.r :otherwise '(ord))) (setf vla-1.arl (pattern-map articulation-map1 vla-1.r :otherwise '(ord))) (setf vlc-1.arl (pattern-map articulation-map1 vlc-1.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-1.a (omn-replace :articulation vn1-1.arl vn1-1.gtp)) (setf vn2-1.a (omn-replace :articulation vn2-1.arl vn2-1.gtp)) (setf vla-1.a (omn-replace :articulation vla-1.arl vla-1.gtp)) (setf vlc-1.a (omn-replace :articulation vlc-1.arl vlc-1.gtp)) ;;; SECTION OUTPUT (setf vn1-1e vn1-1.a) (setf vn2-1e vn2-1.a) (setf vla-1e vla-1.a) (setf vlc-1e vlc-1.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-1e ,s1-i1pm vn2-1e ,s1-i2pm vla-1e ,s1-i3pm vlc-1e ,s1-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 2 ;;; =================== (setf vn1-2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set2))) :velocity (rnd-sample (length len) velres2) )) (setf spn2 (get-span vn1-2)) (setf vn2-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set2))) :velocity (rnd-sample (length len) velres2) ))) (setf vla-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set2))) :velocity (rnd-sample (length len) velres2) ))) (setf vlc-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set2))) :velocity (rnd-sample (length len) velres2) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-2.itp (pitch-transpose s2-i1tp vn1-2)) (setf vn2-2.itp (pitch-transpose s2-i2tp vn2-2)) (setf vla-2.itp (pitch-transpose s2-i3tp vla-2)) (setf vlc-2.itp (pitch-transpose s2-i4tp vlc-2)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-2.gtp (pitch-transpose s2-gtp vn1-2.itp)) (setf vn2-2.gtp (pitch-transpose s2-gtp vn2-2.itp)) (setf vla-2.gtp (pitch-transpose s2-gtp vla-2.itp)) (setf vlc-2.gtp (pitch-transpose s2-gtp vlc-2.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-2.r (omn :length vn1-2.gtp)) (setf vn2-2.r (omn :length vn2-2.gtp)) (setf vla-2.r (omn :length vla-2.gtp)) (setf vlc-2.r (omn :length vlc-2.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-2.arl (pattern-map articulation-map1 vn1-2.r :otherwise '(ord))) (setf vn2-2.arl (pattern-map articulation-map1 vn2-2.r :otherwise '(ord))) (setf vla-2.arl (pattern-map articulation-map1 vla-2.r :otherwise '(ord))) (setf vlc-2.arl (pattern-map articulation-map1 vlc-2.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-2.a (omn-replace :articulation vn1-2.arl vn1-2.gtp)) (setf vn2-2.a (omn-replace :articulation vn2-2.arl vn2-2.gtp)) (setf vla-2.a (omn-replace :articulation vla-2.arl vla-2.gtp)) (setf vlc-2.a (omn-replace :articulation vlc-2.arl vlc-2.gtp)) ;;; SECTION OUTPUT (setf vn1-2e vn1-2.a) (setf vn2-2e vn2-2.a) (setf vla-2e vla-2.a) (setf vlc-2e vlc-2.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-2e ,s2-i1pm vn2-2e ,s2-i2pm vla-2e ,s2-i3pm vlc-2e ,s2-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 3 ;;; =================== (setf vn1-3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set3))) :velocity (rnd-sample (length len) velres3) )) (setf spn3 (get-span vn1-3)) (setf vn2-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set3))) :velocity (rnd-sample (length len) velres3) ))) (setf vla-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set3))) :velocity (rnd-sample (length len) velres3) ))) (setf vlc-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set3))) :velocity (rnd-sample (length len) velres3) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-3.itp (pitch-transpose s3-i1tp vn1-3)) (setf vn2-3.itp (pitch-transpose s3-i2tp vn2-3)) (setf vla-3.itp (pitch-transpose s3-i3tp vla-3)) (setf vlc-3.itp (pitch-transpose s3-i4tp vlc-3)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-3.gtp (pitch-transpose s3-gtp vn1-3.itp)) (setf vn2-3.gtp (pitch-transpose s3-gtp vn2-3.itp)) (setf vla-3.gtp (pitch-transpose s3-gtp vla-3.itp)) (setf vlc-3.gtp (pitch-transpose s3-gtp vlc-3.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-3.r (omn :length vn1-3.gtp)) (setf vn2-3.r (omn :length vn2-3.gtp)) (setf vla-3.r (omn :length vla-3.gtp)) (setf vlc-3.r (omn :length vlc-3.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-3.arl (pattern-map articulation-map1 vn1-3.r :otherwise '(ord))) (setf vn2-3.arl (pattern-map articulation-map1 vn2-3.r :otherwise '(ord))) (setf vla-3.arl (pattern-map articulation-map1 vla-3.r :otherwise '(ord))) (setf vlc-3.arl (pattern-map articulation-map1 vlc-3.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-3.a (omn-replace :articulation vn1-3.arl vn1-3.gtp)) (setf vn2-3.a (omn-replace :articulation vn2-3.arl vn2-3.gtp)) (setf vla-3.a (omn-replace :articulation vla-3.arl vla-3.gtp)) (setf vlc-3.a (omn-replace :articulation vlc-3.arl vlc-3.gtp)) ;;; SECTION OUTPUT (setf vn1-3e vn1-3.a) (setf vn2-3e vn2-3.a) (setf vla-3e vla-3.a) (setf vlc-3e vlc-3.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-3e ,s3-i1pm vn2-3e ,s3-i2pm vla-3e ,s3-i3pm vlc-3e ,s3-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 4 ;;; =================== (setf vn1-4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set4))) :velocity (rnd-sample (length len) velres4) )) (setf spn4 (get-span vn1-4)) (setf vn2-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set4))) :velocity (rnd-sample (length len) velres4) ))) (setf vla-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set4))) :velocity (rnd-sample (length len) velres4) ))) (setf vlc-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set4))) :velocity (rnd-sample (length len) velres4) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-4.itp (pitch-transpose s4-i1tp vn1-4)) (setf vn2-4.itp (pitch-transpose s4-i2tp vn2-4)) (setf vla-4.itp (pitch-transpose s4-i3tp vla-4)) (setf vlc-4.itp (pitch-transpose s4-i4tp vlc-4)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-4.gtp (pitch-transpose s4-gtp vn1-4.itp)) (setf vn2-4.gtp (pitch-transpose s4-gtp vn2-4.itp)) (setf vla-4.gtp (pitch-transpose s4-gtp vla-4.itp)) (setf vlc-4.gtp (pitch-transpose s4-gtp vlc-4.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-4.r (omn :length vn1-4.gtp)) (setf vn2-4.r (omn :length vn2-4.gtp)) (setf vla-4.r (omn :length vla-4.gtp)) (setf vlc-4.r (omn :length vlc-4.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-4.arl (pattern-map articulation-map1 vn1-4.r :otherwise '(ord))) (setf vn2-4.arl (pattern-map articulation-map1 vn2-4.r :otherwise '(ord))) (setf vla-4.arl (pattern-map articulation-map1 vla-4.r :otherwise '(ord))) (setf vlc-4.arl (pattern-map articulation-map1 vlc-4.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-4.a (omn-replace :articulation vn1-4.arl vn1-4.gtp)) (setf vn2-4.a (omn-replace :articulation vn2-4.arl vn2-4.gtp)) (setf vla-4.a (omn-replace :articulation vla-4.arl vla-4.gtp)) (setf vlc-4.a (omn-replace :articulation vlc-4.arl vlc-4.gtp)) ;;; SECTION OUTPUT (setf vn1-4e vn1-4.a) (setf vn2-4e vn2-4.a) (setf vla-4e vla-4.a) (setf vlc-4e vlc-4.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-4e ,s4-i1pm vn2-4e ,s4-i2pm vla-4e ,s4-i3pm vlc-4e ,s4-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 5 ;;; =================== (setf vn1-5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set5))) :velocity (rnd-sample (length len) velres5) )) (setf spn5 (get-span vn1-5)) (setf vn2-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set5))) :velocity (rnd-sample (length len) velres5) ))) (setf vla-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set5))) :velocity (rnd-sample (length len) velres5) ))) (setf vlc-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set5))) :velocity (rnd-sample (length len) velres5) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-5.itp (pitch-transpose s5-i1tp vn1-5)) (setf vn2-5.itp (pitch-transpose s5-i2tp vn2-5)) (setf vla-5.itp (pitch-transpose s5-i3tp vla-5)) (setf vlc-5.itp (pitch-transpose s5-i4tp vlc-5)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-5.gtp (pitch-transpose s5-gtp vn1-5.itp)) (setf vn2-5.gtp (pitch-transpose s5-gtp vn2-5.itp)) (setf vla-5.gtp (pitch-transpose s5-gtp vla-5.itp)) (setf vlc-5.gtp (pitch-transpose s5-gtp vlc-5.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-5.r (omn :length vn1-5.gtp)) (setf vn2-5.r (omn :length vn2-5.gtp)) (setf vla-5.r (omn :length vla-5.gtp)) (setf vlc-5.r (omn :length vlc-5.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-5.arl (pattern-map articulation-map1 vn1-5.r :otherwise '(ord))) (setf vn2-5.arl (pattern-map articulation-map1 vn2-5.r :otherwise '(ord))) (setf vla-5.arl (pattern-map articulation-map1 vla-5.r :otherwise '(ord))) (setf vlc-5.arl (pattern-map articulation-map1 vlc-5.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-5.a (omn-replace :articulation vn1-5.arl vn1-5.gtp)) (setf vn2-5.a (omn-replace :articulation vn2-5.arl vn2-5.gtp)) (setf vla-5.a (omn-replace :articulation vla-5.arl vla-5.gtp)) (setf vlc-5.a (omn-replace :articulation vlc-5.arl vlc-5.gtp)) ;;; SECTION OUTPUT (setf vn1-5e vn1-5.a) (setf vn2-5e vn2-5.a) (setf vla-5e vla-5.a) (setf vlc-5e vlc-5.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-5e ,s5-i1pm vn2-5e ,s5-i2pm vla-5e ,s5-i3pm vlc-5e ,s5-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 6 ;;; =================== (setf vn1-6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set6))) :velocity (rnd-sample (length len) velres6) )) (setf spn6 (get-span vn1-6)) (setf vn2-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set6))) :velocity (rnd-sample (length len) velres6) ))) (setf vla-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set6))) :velocity (rnd-sample (length len) velres6) ))) (setf vlc-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set6))) :velocity (rnd-sample (length len) velres6) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-6.itp (pitch-transpose s6-i1tp vn1-6)) (setf vn2-6.itp (pitch-transpose s6-i2tp vn2-6)) (setf vla-6.itp (pitch-transpose s6-i3tp vla-6)) (setf vlc-6.itp (pitch-transpose s6-i4tp vlc-6)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-6.gtp (pitch-transpose s6-gtp vn1-6.itp)) (setf vn2-6.gtp (pitch-transpose s6-gtp vn2-6.itp)) (setf vla-6.gtp (pitch-transpose s6-gtp vla-6.itp)) (setf vlc-6.gtp (pitch-transpose s6-gtp vlc-6.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-6.r (omn :length vn1-6.gtp)) (setf vn2-6.r (omn :length vn2-6.gtp)) (setf vla-6.r (omn :length vla-6.gtp)) (setf vlc-6.r (omn :length vlc-6.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-6.arl (pattern-map articulation-map1 vn1-6.r :otherwise '(ord))) (setf vn2-6.arl (pattern-map articulation-map1 vn2-6.r :otherwise '(ord))) (setf vla-6.arl (pattern-map articulation-map1 vla-6.r :otherwise '(ord))) (setf vlc-6.arl (pattern-map articulation-map1 vlc-6.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-6.a (omn-replace :articulation vn1-6.arl vn1-6.gtp)) (setf vn2-6.a (omn-replace :articulation vn2-6.arl vn2-6.gtp)) (setf vla-6.a (omn-replace :articulation vla-6.arl vla-6.gtp)) (setf vlc-6.a (omn-replace :articulation vlc-6.arl vlc-6.gtp)) ;;; SECTION OUTPUT (setf vn1-6e vn1-6.a) (setf vn2-6e vn2-6.a) (setf vla-6e vla-6.a) (setf vlc-6e vlc-6.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-6e ,s6-i1pm vn2-6e ,s6-i2pm vla-6e ,s6-i3pm vlc-6e ,s6-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SCORING ;;; ======= ;; THIS PARTICULAR DISPOSITION ALLOW TO COMMENT SOME SECTION LIKE HERE SECTION 5 (AS AN EXAMPLE) (setf vn1 (ambitus 'violin (assemble-seq vn1-1e vn1-2e vn1-3e vn1-4e ;vn1-5e vn1-6e ))) (setf vn2 (ambitus 'violin (assemble-seq vn2-1e vn2-2e vn2-3e vn2-4e ;vn2-5e vn2-6e ))) (setf vla (ambitus 'viola (assemble-seq vla-1e vla-2e vla-3e vla-4e ;vla-5e vla-6e ))) (setf vlc (ambitus 'violoncello (assemble-seq vlc-1e vlc-2e vlc-3e vlc-4e ;vlc-5e vlc-6e ))) (setf tempo-events (list s1.tempo s2.tempo s3.tempo s4.tempo ;s5.tempo s6.tempo )) (ps 'gm :sq (list vn1 vn2 vla vlc) :tempo tempo-events :time-signature (get-time-signature vn1) :flexible-clef nil ) ;;; =============== END OF FILE ================ SB.
     
    Score139.opmo
  19. Like
    Jorgalad reacted to Stephane Boussuge in Pluton for Orchestra   
    In memoriam Narcis Bonet who was one of my teachers.
     

    Opusmodus score attached.
    SB.
    PlutonV1-02.opmo
  20. Like
    Jorgalad reacted to AM in Change Velocity Repeating Notes   
    in german...
    https://www.amazon.de/Programmieren-COMMON-LISP-Otto-Mayer/dp/3860257102
    (but without LOOP)
     
    https://www.tutorialspoint.com/lisp/index.htm
    https://lisptips.com
    https://www.youtube.com/channel/UCMV8p6Lb-bd6UZtTc_QD4zA
     
     
     
     
  21. Like
    Jorgalad reacted to Stephane Boussuge in Controlling Counterpoint Output   
    Here i'm applying in bar 3 soprano part the method t-3 to event 6 and event 7:
     
    (setf p01 '((-e e4 stacc g4 stacc b4 stacc s e4 fs4 leg e g4 leg fs4 b3 leg))) (setf p02 '(((leg -e b5 b5 a5 a5 eb5 q eb5 leg)))) (setf voices (counterpoint (list p01 p02) '( ((1 -) :methods (- -) :polyphony (7 o)) ((2 1) :methods (t-12 -) :polyphony (7 o)) ((2 1) :methods (((t-3 1 (6 7)) t-5) r) :polyphony (7 ?)) ))) (ps 'gm :fl (list (assemble-voices 1 voices)) :cl (list (assemble-voices 2 voices)) :tempo '(80) :time-signature '(4 4) :start 1) SB.
  22. Like
    Jorgalad reacted to AM in Change Velocity Repeating Notes   
    like that..?... some code...
    greetings
    andré
     
    (defun replace-velocities-in-a-seq (omn-list &key pitch velocity-list) (flatten (loop with cnt = 0 for i in (single-events omn-list) when (equal (cadr i) pitch) collect (omn-replace :velocity (nth cnt velocity-list) i) and do (incf cnt) else collect i when (> cnt (length velocity-list)) do (setf cnt 0)))) (replace-velocities-in-a-seq '(e c4 ppppp d4 d4 e4 f4 d4 d4 g4 b4 d4 d4 d4 d4) :pitch 'd4 :velocity-list '(p mp mf f ff)) ;=> (e c4 ppppp e d4 p e d4 mp e e4 ppppp e f4 ppppp e d4 mf e d4 f e g4 ppppp e b4 ppppp e d4 ff e d4 ppppp e d4 p e d4 mp) ;; if there are more 'd4's then velocity-values, -> it starts again with first velocity-value (= cycle)  
  23. Like
    Jorgalad reacted to Stephane Boussuge in reduce note lengths in a list programmatically?   
    You can also try this for fun:
     
    (setf scale '(c4 d4 e4 f4 g4 a4)) (gen-euclidean-omn 24 16 1 16 scale 's '(mf)) SB.
  24. Like
    Jorgalad reacted to opmo in OPUSMODUS 2.0 OUT NOW!   
  25. Like
    Jorgalad reacted to Rangarajan in Quicklisp Issue   
    Thanks very much.
     
    Obviously I had not read the quick lisp-related posts fully. I did the following and it works now:
    1) Created a directory "ccl" under my user name directory
    2) cd to that directory
    3) svn co http://svn.clozure.com/publicsvn/openmcl//release/1.11/darwin-x86-headers64
    4) In the file "Quicklisp Start.lisp" located under "~/Opusmodus/Extensions" folder, I uncommented and modified the following line:
    (setf (logical-pathname-translations "ccl") '((#P"ccl:**;*.*" #P"/Users/Rangarajan/ccl/**/*.*")))
     
    That is it.
     
    Regards,
    Rangarajan
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy