Jump to content

Opusmodus 2.2.26839 Update


Recommended Posts

2.2.26839


– New Functions:

  • GET-EVENTS
  • VOICE-VARIANT

 

– Changes and Enhancements:

  • ELEMENT-ANALYSIS
  • RECURRING-ANALYSIS
  • VARIANT-ANALYSIS

 

– Fixed:

  • LENGTH-DIVIDE

 

– Documentation:
Edit and corrections.

 

https://opusmodus.com/forums/downloads/

 

 

VARIANT-ANALYSIS

 

(setf GV '(#|1|# (h d4 0.54 a4 0.5)
           #|2|# (h f4 0.54 d4 0.5)
           #|3|# (h db4 0.54 q d4 0.5 e4)
           #|4|# (h f4 0.54 tie e e g4 0.5 f4 e4)
           #|5|# (q d4 0.54 e4 0.5 f4 g4)
           #|6|# (q a4 0.54 e a3 0.5 b3 c4 a3 q f4 tie)
           #|7|# (e f4 b3 0.53 q. e4 0.5 e f4 e4 d4)
           #|8|# (q e4 0.54 gb4 0.5 h g4 tie)
           #|9|# (e g4 a4 0.53 g4 0.5 f4 h e4)
           #|10|# (w d4)))

 

variant-analysis.png

 

 

Pitches:

(variant-analysis '(d4 e4 f4) GV :name "Analisi re-mi-fa")
--------------------------------------------------------------
Score: Analisi re-mi-fa
Pitches: (d4 e4 f4)
--------------------------------------------------------------
P:   4 ((3.5 (d4 e4 f4)) (5.0 (d4 e4 f4)) (6.25 (a3 b3 c4)) (8.0 (e4 gb4 g4)))
R:   3 ((4.75 (f4 e4 d4)) (7.625 (f4 e4 d4)) (9.375 (f4 e4 d4)))
I:   2 ((4.625 (g4 f4 e4)) (9.25 (g4 f4 e4)))
RI:  4 ((3.0 (db4 d4 e4)) (3.75 (e4 f4 g4)) (5.25 (e4 f4 g4)) (8.25 (gb4 g4 a4)))
--------------------------------------------------------------

 

(variant-analysis '(f4 b3) GV :name "Analisi re-si")
--------------------------------------------------------------
Score: Analisi re-si
Pitches: (f4 b3)
--------------------------------------------------------------
P:   1 ((6.75 (f4 b3)))
R:   0
I:   0
RI:  1 ((6.75 (f4 b3)))
--------------------------------------------------------------

 

Intervals:

(variant-analysis '(2 1) GV :name "tricordo minore melodico ascendente")
--------------------------------------------------------------
Score: tricordo minore melodico ascendente
Intervals: (2 1)
--------------------------------------------------------------
P:   4 ((3.5 (2 1)) (5.0 (2 1)) (6.25 (2 1)) (8.0 (2 1)))
R:   3 ((4.75 (-1 -2)) (7.625 (-1 -2)) (9.375 (-1 -2)))
I:   2 ((4.625 (-2 -1)) (9.25 (-2 -1)))
RI:  4 ((3.0 (1 2)) (3.75 (1 2)) (5.25 (1 2)) (8.25 (1 2)))
--------------------------------------------------------------

 

Lengths:

(variant-analysis '(q e) GV :name "GV - q e")
--------------------------------------------------------------
Score: GV - q e
Lengths: (1/4 1/8)
--------------------------------------------------------------
P:   1 (1/4 1/8) (6.0)
R:   0
I:   0
RI:  2 (1/8 1/4) (4.875 7.875)
--------------------------------------------------------------

 

 

 

ELEMENT-ANALYSIS

 

(setf GV '(#|1|# (h d4 0.54 a4 0.5)
           #|2|# (h f4 0.54 d4 0.5)
           #|3|# (h db4 0.54 q d4 0.5 e4)
           #|4|# (h f4 0.54 tie e e g4 0.5 f4 e4)
           #|5|# (q d4 0.54 e4 0.5 f4 g4)
           #|6|# (q a4 0.54 e a3 0.5 b3 c4 a3 q f4 tie)
           #|7|# (e f4 b3 0.53 q. e4 0.5 e f4 e4 d4)
           #|8|# (q e4 0.54 gb4 0.5 h g4 tie)
           #|9|# (e g4 a4 0.53 g4 0.5 f4 h e4)
           #|10|# (w d4)))

 

variant-analysis.png

 

 

(element-analysis GV :name "Analisi statistica")
--------------------------------------------------------------
Score: Analisi statistica
Number of bars: 10
Span: 10
--------------------------------------------------------------
Length Values: (1/8 1/4 3/8 1/2 5/8 1)
Low: 1/8 High: 1
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
       1/8 |    14 |     41.1765 |     1.75 |         17.5
       1/4 |     9 |     26.4706 |     2.25 |         22.5
       1/2 |     6 |     17.6471 |      3.0 |         30.0
       5/8 |     2 |      5.8824 |     1.25 |         12.5
       3/8 |     2 |      5.8824 |     0.75 |          7.5
         1 |     1 |      2.9412 |      1.0 |         10.0
--------------------------------------------------------------
     Total      34         100.0       10.0          100.0
--------------------------------------------------------------
Length Rest Values: none
--------------------------------------------------------------
Pitch Values: (a3 b3 c4 cs4 d4 e4 f4 fs4 g4 a4)
Low: a3 High: a4
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
        f4 |     7 |     20.5882 |    2.125 |        21.25
        e4 |     7 |     20.5882 |    1.875 |        18.75
        d4 |     6 |     17.6471 |    2.625 |        26.25
        g4 |     4 |     11.7647 |    1.125 |        11.25
        a4 |     3 |      8.8235 |    0.875 |         8.75
        b3 |     2 |      5.8824 |     0.25 |          2.5
        a3 |     2 |      5.8824 |     0.25 |          2.5
       fs4 |     1 |      2.9412 |     0.25 |          2.5
       cs4 |     1 |      2.9412 |      0.5 |          5.0
        c4 |     1 |      2.9412 |    0.125 |         1.25
--------------------------------------------------------------
     Total      34         100.0       10.0          100.0
--------------------------------------------------------------
Interval Values: (0 1 2 3 4 5 6 7 8 12)
Low: 0 High: 12
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
         2 |    15 |     44.1176 |    3.625 |        36.25
         1 |    10 |     29.4118 |     3.25 |         32.5
         3 |     2 |      5.8824 |    0.625 |         6.25
        12 |     1 |      2.9412 |    0.125 |         1.25
         8 |     1 |      2.9412 |    0.375 |         3.75
         7 |     1 |      2.9412 |      0.5 |          5.0
         6 |     1 |      2.9412 |    0.125 |         1.25
         5 |     1 |      2.9412 |    0.375 |         3.75
         4 |     1 |      2.9412 |      0.5 |          5.0
         0 |     1 |      2.9412 |      0.5 |          5.0
--------------------------------------------------------------
     Total      34         100.0       10.0          100.0
--------------------------------------------------------------
Velocity Values: (0.5 0.53 0.54)
Low: 0.5 High: 0.54
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
       0.5 |    25 |     73.5294 |    6.875 |        68.75
      0.54 |     7 |     20.5882 |    2.875 |        28.75
      0.53 |     2 |      5.8824 |     0.25 |          2.5
--------------------------------------------------------------
     Total      34         100.0       10.0          100.0
--------------------------------------------------------------
Articulation Values: none
--------------------------------------------------------------

 

Bar analysis:

(element-analysis GV :name "Analisi statistica 3" :bar 3)

--------------------------------------------------------------
Score: Analisi statistica 3
Bar number: 3
Bar span: 1
--------------------------------------------------------------
Length Values: (1/4 1/2)
Low: 1/4 High: 1/2
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
       1/4 |     2 |     66.6667 |      0.5 |         50.0
       1/2 |     1 |     33.3333 |      0.5 |         50.0
--------------------------------------------------------------
     Total       3         100.0        1.0          100.0
--------------------------------------------------------------
Length Rest Values: none
--------------------------------------------------------------
Pitch Values: (cs4 d4 e4)
Low: cs4 High: e4
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
        e4 |     1 |     33.3333 |     0.25 |         25.0
        d4 |     1 |     33.3333 |     0.25 |         25.0
       cs4 |     1 |     33.3333 |      0.5 |         50.0
--------------------------------------------------------------
     Total       3         100.0        1.0          100.0
--------------------------------------------------------------
Interval Values: (0 1 2)
Low: 0 High: 2
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
         2 |     1 |     33.3333 |     0.25 |         25.0
         1 |     1 |     33.3333 |     0.25 |         25.0
         0 |     1 |     33.3333 |      0.5 |         50.0
--------------------------------------------------------------
     Total       3         100.0        1.0          100.0
--------------------------------------------------------------
Velocity Values: (0.5 0.54)
Low: 0.5 High: 0.54
--------------------------------------------------------------
    Values | Times |     Percent | Duration | Span Percent    
-----------|-------|-------------|----------|-----------------
       0.5 |     2 |     66.6667 |      0.5 |         50.0
      0.54 |     1 |     33.3333 |      0.5 |         50.0
--------------------------------------------------------------
     Total       3         100.0        1.0          100.0
--------------------------------------------------------------
Articulation Values: none
--------------------------------------------------------------

 

 

 

RECURRING-ANALYSIS

 

(setf rh '((-s) (e f4e5 pp -s db5)
           (-s) (-s eb4 pp c4d5 -)
           (-s) (-s c4d5 pp eb4 -)
           (-s) (e db5 pp -s f4e5)
           (-s) (s gb4f5 p a5 -)
           (s d4ab4db5 p bb4 -) (-s a5 p gb4f5)
           (-s) (s b5 f gb4g5 -)
           (s a3bb4 f ab4 -) (s c4d5 f> eb4 -)
           (s db5 f> f4e5 -) (-s)
           (s gb4f5 p a5 d4ab4db5 bb4 -) (-s)
           (-s a5 pp gb4f5) (-s)
           (-t b2 f e3 bb3 - d5 c4eb4) (-s)
           (s db3 f - s. g5 -t) (s gb4f5 p)
           (-t a3 mp ab3 mf -s. t db5f5 f c4 -) (s e3e4 p)
           (-t s. d2 f -s ab5 mf) (-s)
           (t gb4a4 p g3 mp - b2 f e3 bb3 e3 a3 eb4 - g5 mf f4ab4 mp) (-s)
           (s f2 f - s. c6 -t) (s b2bb3 p)
           (-s t db5 mp -s. t gb5bb5 f4 f -) (t a3 f ab2 - ab2 a3)
           (-t f4 f gb5bb5 mf) (-t a3 mp d4ab4 c4 p bb5db6 mf)
           (-t b2 f3 b2 -) (t bb5db6 c5 f d4ab4 a3 p)
           (-s) (t b4eb5 p bb3 -)
           (t d4 p db3 - db3 d4) (-t bb3 p b4eb5)
           (-s) (-s eb5 p bb3b4 -) (-s)
           (e d4db5 p -s c5) (-s)
           (e c5 p -s d4db5) (-s)
           (-s bb3b4 p eb5 -) (-s)
           (-s ab3g4 p e4 mf) (-s c4gb4b4 f5)
           (-s db5 mp bb3a4) (-s)
           (-s eb4d5 p gb4) (-s e4 p f3g4)
           (-s b3 p a2bb3) (-s c5db6 pp ab5)
           (-s) (-s e5eb6 p g5 c4f4b4 p> gb4)
           (-s) (-e) (e d5ab5db6 pp)))

 

Searching for pitches:

(recurring-analysis :pitch rh
                    :name "Webern, Variationen für Klavier Op.27, I, rh")
--------------------------------------------------------------
Score: Webern, Variationen für Klavier Op.27, I, rh
--------------------------------------------------------------
Frequently recurring series:
Found: 5 (gb4 f5)

Longest recurring series:
Found: 2 (c4 d5 eb4 db5 f4 e5 gb4 f5 a5 d4 ab4 db5 bb4 a5 gb4 f5)
--------------------------------------------------------------

 

Searching for intervals:

(recurring-analysis :interval rh
                    :name "Webern, Variationen für Klavier Op.27, I, rh")
--------------------------------------------------------------
Score: Webern, Variationen für Klavier Op.27, I, rh
--------------------------------------------------------------
Frequently recurring series:
Found: 6 (5 6)

Longest recurring series:
Found: 2 (14 -11 10 -8 11 -10 11 4 -19 6 5 -3 11 -15 11)
--------------------------------------------------------------

 

Searching for lengths:

(recurring-analysis :length rh
                    :name "Webern, Variationen für Klavier Op.27, I, rh")
--------------------------------------------------------------
Score: Webern, Variationen für Klavier Op.27, I, rh
--------------------------------------------------------------
Frequently recurring series:
Found: 29 (s -)

Longest recurring series:
Found: 2 (s - = = - = = - - = = - = = - = = - = = -)
--------------------------------------------------------------

 

Searching for velocities:

(recurring-analysis :velocity rh
                    :name "Webern, Variationen für Klavier Op.27, I, rh")
--------------------------------------------------------------
Score: Webern, Variationen für Klavier Op.27, I, rh
--------------------------------------------------------------
Frequently recurring series:
Found: 18 (p =)

Longest recurring series:
Found: 2 (mp f = = = = = mf mp)
Found: 2 (p = = = = = = = =)
--------------------------------------------------------------

 

Searching for values:

(setf population (gen-population 16 3 7 :seed 453))
(setf pitches (vector-to-pitch '(0 24) population))

(recurring-analysis :values pitches)
--------------------------------------------------------------
Frequently recurring series:
Found: 5 (c6 c4)

Longest recurring series:
Found: 2 (gs5 c6)
Found: 2 (fs5 c4)
Found: 3 (c4 e4)
Found: 2 (e4 c6)
Found: 2 (c6 gs5)
Found: 5 (c6 c4)
Found: 2 (cs4 c6)
Found: 4 (c4 c6)
Found: 2 (c4 cs4)
Found: 2 (bb4 c4)
Found: 2 (c6 c6)
--------------------------------------------------------------

 

(recurring-analysis :values (modus pitches) :name "Modus")
--------------------------------------------------------------
Score: Modus
--------------------------------------------------------------
Frequently recurring series:
Found: 11 (0 0)

Longest recurring series:
Found: 2 (0 4 0 1)
--------------------------------------------------------------

 

 

 

GET-EVENTS

 

This function allows you to assemble a new sequence from a number of events of a given bar and a given omn sequence.

 

(setf seq1 '((e c4e4g4 he c5)
             (q c4 c4 c4 - - c4)
             (q cs4 cs4 - - cs4 cs4)
             (e c4 cs4d4eb4 d4 cs4 c4 cs5)
             (e c4 e4 g4 he c5)
             (q c4 c4 c4 - - c4)
             (q cs4cs4 - - cs4 cs4)
             (e c4 cs4d6 d4 cs4 c4 cs5)))

(setf seq2 '((he. c5) (q cs7) (s a4 q.. e7 qs d6) (h f6)
             (-he) (e. gs6) (e bb4) (-hs) (h. g6) (-q.)))

(setf seq3
      '((h e4f5 p c5a4) (h b3d3 gs4eb2fs3) (h bb2g5cs5 gs4d4eb2)
        (w bb2 mp) (h g3f4cs5 p c5) (h fs5a5b3 e4b3) (h bb2)
        (w e2eb4) (h c5cs6 a5) (h f4g3 gs4d3) (h fs5 bb2fs5g3)
        (h d3e5eb4 gs4) (h a2c6 f2) (h b0 cs6c5) (h gs4d3)))

 

(get-events '((seq1 1)
              (seq2 3)
              (seq3 5)))
=> (e c4e4g4 mf he c5 s a4 q.. e7 qs d6 h g3f4cs5 p c5)

 

(get-events '((seq1 1 1..3)
              (seq2 3 1)
              (seq3 5 1)))
=> (e c4e4g4 mf he c5 s a4 h g3f4cs5 p)

 

 

(get-events '((seq1 2 1..3)
              (seq3 3)
              (seq3 1 (1 2))))
=> (q c4 mf c4 c4 h bb2g5cs5 p gs4d4eb2 e4f5 c5a4)

 

 

 

VOICE-VARIANT

 

This generates a new sequence by applying a number of processes and mixing the result with the original material.

 

Starting material:

(setf vec (gen-noise 60 :type :gaussian :seed 45))
(setf pitches (filter-repeat 1 (vector-to-pitch '(e4 g5) vec)))
(setf omn (make-omn :length '(e) :pitch pitches :span :pitch))
(setf mat (omn-to-time-signature omn '(4 4)))

Pasted Graphic 16.jpg

 

I.

In the first example we use the default division 2 value on each of the given lengths (1/8 equal 1/16 1/16) with interval transposition set to 4, for the entier process. Please note, before applying the function the original material is transposed by one semitone:

(progn
  (setf mat-transp (pitch-transpose 1 mat))
  (setf variant (voice-variant mat-transp :interval 4))
  
  (def-score var1
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Material" :abbr "M")
                       (treble-layout 'v2 :name "Variant" :abbr "V"))
              )
    (v1 :omn mat
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn variant
        :channel 2))
  
  (audition-musicxml-last-score)
  )

Pasted Graphic 13.jpg

 

II.

Below the time-signature 4/4 defines the time for each of the two interval values. To the first bar of the original material we applied interval 4, to the second bar we applied interval 13, and so on. Both values are looped to satisfy the original bar count:

(progn
  (setf mat-transp (pitch-transpose 1 mat))
  (setf variant (voice-variant mat-transp :interval '((4) (13))))
  
  (def-score var2
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Material" :abbr "M")
                       (treble-layout 'v2 :name "Variant" :abbr "V"))
              )
    (v1 :omn mat
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn variant
        :channel 2))
  
  (audition-musicxml-last-score)
  )

Pasted Graphic 12.jpg

 

III.

In this example the measure value overwrites the original time-signature 4/4 to 1/4 which in effect will shorten the time by 4 for each interval value. The variant 'i (inversion) is applied to a  measure and to the original material before other processes happen:

(progn
  (setf mat-transp (pitch-transpose 1 mat))

  (setf variant (voice-variant mat-transp
                          :measure 1/4
                          :interval '((4) (13))
                          :variant 'i))
  
  (def-score var3
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Material" :abbr "M")
                       (treble-layout 'v2 :name "Variant" :abbr "V"))
              )
    (v1 :omn mat
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn variant
        :channel 2))
  
  (audition-musicxml-last-score)
  )

Pasted Graphic 11.jpg

 

IV.

In the following example we generate two sequences using the same material with equal processing values. With the :variant set to '? (random) we potentially get a different result in each of the sequences on every-other measure:

(progn
  (setf vec (gen-noise 30 :type :gaussian :seed 45))
  (setf pitches (filter-repeat 1 (vector-to-pitch '(e1 g6) vec)))
  
  (setf omn (make-omn :length '(q q q q)
                      :pitch pitches
                      :span :pitch))
  
  (setf mat (omn-to-time-signature omn '(4 4)))
  (setf mat-transp (pitch-transpose -12 mat))
  
  (setf v1 (voice-variant mat
                          :measure 1
                          :divide 5
                          :interval '((0) (13))
                          :variant '(p ?)))
  
  (setf v2 (voice-variant mat-transp
                          :measure 1
                          :divide 5
                          :interval '((0) (13))
                          :variant '(p ?)))
  
  (def-score var4
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Variant1" :abbr "V1")
                       (treble-layout 'v2 :name "Variant2" :abbr "V2"))
              )
    (v1 :omn v1
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn v2
        :channel 2))
  
  (audition-musicxml-last-score)
  )

Pasted Graphic 10.jpg

 

V.

To create more interesting rhythms, we can set the multiply value to control how the basic value is divided up. If, for example the length is 1/4 and the divide value is 5, therefore our basic value is 1/20. If the multiply value is 2 (maximum) the basic value 1/20 is to be multiplied by either 1 (giving a 1/20 length) or 2 (giving a 1/10 length). We can therefore create more interesting divisions to a given duration by introducing this form of variation:

(progn
  (setf vec (gen-noise 60 :type :gaussian :seed 9847))
  (setf pitches (filter-repeat 1 (vector-to-pitch '(e1 g4) vec)))
  
  (setf omn (make-omn :length '(q q q q h h w e e e e e e e e)
                      :pitch pitches
                      :span :pitch))
  
  (setf lv (length-weight omn :weight '(6 1)))
  (setf mat (omn-to-time-signature lv '(4 4)))
  (setf transp (pitch-transpose 12 mat))
  
  (setf variant (voice-variant transp
                               :divide '(2 3 2 2 5 5 4 2 2 2 2 2 2 2 2)
                               :multiply '(2 1 1 2 2 2 1 2 2 1 2 1 1)
                               :rest '?
                               :interval '((0 1 2 3) (13) (3 2 1 0) (13))
                               :variant '?))
  
  (def-score var5
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Material" :abbr "M")
                       (treble-layout 'v2 :name "Variant" :abbr "V"))
              )
    (v1 :omn mat
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn variant
        :channel 2)
    )
  (audition-musicxml-last-score)
  )

Pasted Graphic 17.jpg

 

VI.

Source material: Right hand part of the variations op.27 by A. Webern:

(progn
  (setf rh
        '((-s) (e f4e5 pp -s db5)
          (-s) (-s eb4 pp c4d5 -)
          (-s) (-s c4d5 pp eb4 -)
          (-s) (e db5 pp -s f4e5)
          (-s) (s gb4f5 p a5 -)
          (s d4ab4db5 p bb4 -) (-s a5 p gb4f5)
          (-s) (s b5 f gb4g5 -)
          (s a3bb4 f ab4 -) (s c4d5 f> eb4 -)
          (s db5 f> f4e5 -) (-s)
          (s gb4f5 p a5 d4ab4db5 bb4 -) (-s)
          (-s a5 pp gb4f5) (-s)
          (-t b2 f e3 bb3 - d5 c4eb4) (-s)
          (s db3 f - s. g5 -t) (s gb4f5 p)
          (-t a3 mp ab3 mf -s. t db5f5 f c4 -) (s e3e4 p)
          (-t s. d2 f -s ab5 mf) (-s)
          (t gb4a4 p g3 mp - b2 f e3 bb3 e3 a3 eb4 - g5 mf f4ab4 mp) (-s)
          (s f2 f - s. c6 -t) (s b2bb3 p)
          (-s t db5 mp -s. t gb5bb5 f4 f -) (t a3 f ab2 - ab2 a3)
          (-t f4 f gb5bb5 mf) (-t a3 mp d4ab4 c4 p bb5db6 mf)
          (-t b2 f3 b2 -) (t bb5db6 c5 f d4ab4 a3 p)
          (-s) (t b4eb5 p bb3 -)
          (t d4 p db3 - db3 d4) (-t bb3 p b4eb5)
          (-s) (-s eb5 p bb3b4 -) (-s)
          (e d4db5 p -s c5) (-s)
          (e c5 p -s d4db5) (-s)
          (-s bb3b4 p eb5 -) (-s)
          (-s ab3g4 p e4 mf) (-s c4gb4b4 f5)
          (-s db5 mp bb3a4) (-s)
          (-s eb4d5 p gb4) (-s e4 p f3g4)
          (-s b3 p a2bb3) (-s c5db6 pp ab5)
          (-s) (-s e5eb6 p g5 c4f4b4 p> gb4)
          (-s) (-e) (e d5ab5db6 pp)))
  
  (setf augmentation (length-augmentation 4 rh))
  (setf mat (omn-to-time-signature augmentation '(4 4)))
  (setf mat1 (pitch-transpose 12 mat))
  (setf mat2 (pitch-transpose -12 mat))
  
  (setf p1 (voice-variant mat1
                          :measure '(1/2 1 1)
                          :divide (rnd-sample 24 '(2 3 5))
                          :rest '(? n n n ?)
                          :interval (rnd-sample 24 '((0) (6) (13)))
                          :variant (rnd-sample 24 '(i r ri))))
  
  (setf p2 (voice-variant mat2
                          :measure '(1/2 1 1)
                          :divide (rnd-sample 24 '(1 2))
                          :rest '(? n n n ?)
                          :interval (rnd-sample 24 '((0) (6) (13)))
                          :variant (rnd-sample 24 '(i r ri))))
  
  (setf v1 (length-weight p1 :weight '(7 2)))
  (setf v2 (length-weight p2 :weight '(7 1)))
  
  (def-score var6
             (
              :key-signature 'chromatic
              :flexible-clef t
              :time-signature '(2 4)
              :tempo 86
              :layout (list
                       (treble-layout 'v1 :name "Variant1" :abbr "V1")
                       (treble-layout 'v2 :name "Variant2" :abbr "V2"))
              )
    (v1 :omn v1
        :channel 1
        :sound 'gm
        :program 1)
    
    (v2 :omn v2
        :channel 2))
  
  (audition-musicxml-last-score)
  )

 

 

Best wishes,

Janusz

 

 

Link to comment
Share on other sites

  • opmo changed the title to Opusmodus 2.2.26839 Update
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy