Jump to content

Opusmodus 1.1.18550


Recommended Posts

New functions:

 

find-ambitus sequence &key type series section

 

[Function]

 

Arguments and Values:

 

sequence            omn-form list or list of pitches.

type                     :integer or :pitch. The default is :integer.

series                 NIL or T. The default is NIL.

section              an integer or list of integers. Selected list or lists to process.

 

Description:

 

The function FIND-AMBITUS returns the ambitus (low high) values of the entire or specified section of the sequence.

 

(setf omn-seq

      '((s cs5 p g6 mp mf -) (s cs5 f e g3 ff s p)

        (s cs5 mp g6 mf f -) (-s cs5 ff e g3 p)

        (s g3 mp - e cs5 mf) (s g6 f ff e cs5 p)

        (s g3 mp mf e cs5 f) (s g6 ff p cs5 mp g3 mf)

        (e g3 f s cs5 ff g6 p) (e g6 mp -s cs5 mf)

        (e g3 f -s g3 ff) (s cs5 p e g6 mp s mf)))

 

(find-ambitus omn-seq)

=> (-5 31)

 

(find-ambitus omn-seq :type :pitch)

=> (g3 g6)

 

Example:

 

Variationen Fuer Klavier Op.27, I

 

(setf sequence

      '((-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)))

 

(find-ambitus sequence)

=> (-22 27)

 

With keyword :type :pitch the function will return the ambitus list in pitch values.

 

(find-ambitus sequence :type :pitch)

=> (d2 eb6)

 

With keyword :series T the function will return a list of ambitus values for every sublist (bar) of the sequence:

 

(find-ambitus sequence :series t)

=> (nil (5 16) nil (0 14) nil (0 14) nil (5 16) nil (6 21) (2 13)

   (6 21) nil (6 23) (-3 10) (0 14) (5 16) nil (2 21) nil (6 21)

   nil (-13 14) nil (-11 19) (6 17) (-4 17) (-8 4) (-22 20) nil

   (-13 19) nil (-19 24) (-13 -2) (5 22) (-16 -3) (5 22) (-3 25)

   (-13 -7) (-3 25) nil (-2 15) (-11 2) (-2 15) nil (-2 15) nil

   (2 13) nil (2 13) nil (-2 15) nil (-4 7) (0 17) (-2 13) nil

   (3 14) (-7 7) (-15 -1) (12 25) nil (0 27) nil nil (14 25))

 

The NIL means no pitch values are found in the sublist.

 

Here we get the ambitus from the section (bar) 30:

 

(find-ambitus sequence :section 30)

=> (-13 19)

 

------------------------------------------------------------------

 

12tone-analysis row set &key order note

 

[Function]

 

Arguments and Values:

 

row                     a list of integers or pitches (must be a 12-tone row).

set                     a list of integers or pitches.

order                NIL or T. The default is NIL.

note                   a string. Annotation.

 

 

Description:

 

The function 12TONE-ANALYSIS analyses all 48 forms of a row matrix to find the given pitch-class set. When found, it will return all the Forms that contain the pitch-class set in any order.

 

The initial row is known as THE ORIGINAL PRIME ORDER.

There are four basic forms to a row:

 

P - Prime: Left to Right 

I - Inversion: Top to Bottom
R - Retrograde: Right to Left

RI - Retrograde-Inversion: Bottom to Top 

 

 

(12tone-analysis '(3 11 10 2 1 0 6 4 7 5 9 8) '(2 1 5 3 6 4))

 

=> Original Prime Order: (3 11 10 2 1 0 6 4 7 5 9 8) 

   Pitch Row: (eb4 b4 bb4 d4 cs4 c4 fs4 e4 g4 f4 a4 gs4

   Set: (2 1 5 3 6 4) 

   Pitch Set: (d4 cs4 f4 eb4 fs4 e4

   Complement: (0 7 8 9 10 11) 

   Pitch Complement: (c4 g4 gs4 a4 bb4 b4

   PCS: (6-1 6-1) 

   Form: (P3 ((6 2 1 5 4 3) (9 7 10 8 0 11)))

         (RI4 ((2 1 5 3 6 4) (10 9 8 0 11 7)))

         (I10 ((1 5 6 2 3 4) (10 0 9 11 7 8)))

         (R9 ((5 6 2 4 1 3) (9 10 11 7 8 0)))

         (P9 ((0 8 7 11 10 9) (3 1 4 2 6 5)))

         (RI10 ((8 7 11 9 0 10) (4 3 2 6 5 1)))

         (I4 ((7 11 0 8 9 10) (4 6 3 5 1 2)))

         (R3 ((11 0 8 10 7 9) (3 4 5 1 2 6))) 

 

With the keyword order T the result of the search will return Form in the given pitch-class set order.

 

(12tone-analysis '(3 11 10 2 1 0 6 4 7 5 9 8) '(2 1 5 3 6 4) :order t)

 

=> Original Prime Order: (3 11 10 2 1 0 6 4 7 5 9 8) 

   Pitch Row: (eb4 b4 bb4 d4 cs4 c4 fs4 e4 g4 f4 a4 gs4

   Set: (2 1 5 3 6 4) 

   Pitch Set: (d4 cs4 f4 eb4 fs4 e4

   Complement: (0 7 8 9 10 11) 

   Pitch Complement: (c4 g4 gs4 a4 bb4 b4

   PCS: (6-1 6-1) 

   Form: (RI4 ((2 1 5 3 6 4) (10 9 8 0 11 7))) 

 

 

Example: 

 

Schoenberg 'Opus 37' 12-tone row taken from the Opusmodus library:

 

(setf opus-37 (library 'vienna 'schoenberg 'r24))

=> (d4 cs4 a4 bb4 f4 eb4 e4 c4 gs4 g4 fs4 b4)

 

(12tone-analysis opus-37 '((2 1 9 10 5 3) (7 8 0 11 4 6))

                 :note "Schoenberg Opus 37, Fourth String Quartet")

 

=> Schoenberg Opus 37, Fourth String Quartet 

   Original Prime Order: (2 1 9 10 5 3 4 0 8 7 6 11) 

   Pitch Row: (d4 cs4 a4 bb4 f4 eb4 e4 c4 gs4 g4 fs4 b4

   Set: ((2 1 9 10 5 3) (7 8 0 11 4 6)) 

   Pitch Set: ((d4 cs4 a4 bb4 f4 eb4) (g4 gs4 c4 b4 e4 fs4)) 

   PCS: (6-16 6-16) 

   Form: (P0 ((2 1 9 10 5 3) (4 0 8 7 6 11)))

         (RI5 ((10 3 2 1 9 5) (6 4 11 0 8 7)))

         (I5 ((7 8 0 11 4 6) (5 9 1 2 3 10)))

         (R0 ((11 6 7 8 0 4) (3 5 10 9 1 2))) 

 

Let us test the result of the above:

 

(12tone-forms

 opus-37 :note "Schoenberg Opus 37, Fourth String Quartet")

 

=> Schoenberg Opus 37, Fourth String Quartet 

   Original Prime Order: (2 1 9 10 5 3 4 0 8 7 6 11) 

   Pitch: (d4 cs4 a4 bb4 f4 eb4 e4 c4 gs4 g4 fs4 b4

 

                         I 

 

          0 11  7  8  3  1  2 10  6  5  4  9 

 

     0    2  1  9 10  5  3  4  0  8  7  6 11 

     1    3  2 10 11  6  4  5  1  9  8  7  0 

     5    7  6  2  3 10  8  9  5  1  0 11  4 

     4    6  5  1  2  9  7  8  4  0 11 10  3 

     9   11 10  6  7  2  0  1  9  5  4  3  8 

 P  11    1  0  8  9  4  2  3 11  7  6  5 10   R  

    10    0 11  7  8  3  1  2 10  6  5  4  9 

     2    4  3 11  0  7  5  6  2 10  9  8  1 

     6    8  7  3  4 11  9 10  6  2  1  0  5 

     7    9  8  4  5  0 10 11  7  3  2  1  6 

     8   10  9  5  6  1 11  0  8  4  3  2  7 

     3    5  4  0  1  8  6  7  3 11 10  9  2 

 

                        RI 

 

The hexachordally combinatorial pairs:

 

(12tone-analysis '(0 8 7 11 10 9 3 1 4 2 6 5) '(5 1 0 4 3 2))

 

=> Original Prime Order: (0 8 7 11 10 9 3 1 4 2 6 5) 

   Pitch Row: (c4 gs4 g4 b4 bb4 a4 eb4 cs4 e4 d4 fs4 f4

   Set: (5 1 0 4 3 2) 

   Pitch Set: (f4 cs4 c4 e4 eb4 d4

   Complement: (6 7 8 9 10 11) 

   Pitch Complement: (fs4 g4 gs4 a4 bb4 b4

   PCS: (6-1 6-1) 

   Form: (P5 ((5 1 0 4 3 2) (8 6 9 7 11 10)))

         (RI6 ((1 0 4 2 5 3) (9 8 7 11 10 6)))

         (I0 ((0 4 5 1 2 3) (9 11 8 10 6 7)))

         (R11 ((4 5 1 3 0 2) (8 9 10 6 7 11)))

         (P11 ((11 7 6 10 9 8) (2 0 3 1 5 4)))

         (RI0 ((7 6 10 8 11 9) (3 2 1 5 4 0)))

         (I6 ((6 10 11 7 8 9) (3 5 2 4 0 1)))

         (R5 ((10 11 7 9 6 8) (2 3 4 0 1 5)))

 

 

The trichordal combinatoriality:

 

(12tone-analysis '(0 4 5 2 3 7 1 9 8 11 10 6)

                 '((0 4 5) (2 3 7) (1 9 8) (11 10 6)))

 

=> Original Prime Order: (0 4 5 2 3 7 1 9 8 11 10 6) 

   Pitch Row: (c4 e4 f4 d4 eb4 g4 cs4 a4 gs4 b4 bb4 fs4

   Set: ((0 4 5) (2 3 7) (1 9 8) (11 10 6)) 

   Pitch Set: ((c4 e4 f4) (d4 eb4 g4) (cs4 a4 gs4) (b4 bb4 fs4)) 

   PCS: (3-4 3-4 3-4 3-4) 

   Form: (P0 ((0 4 5) (2 3 7) (1 9 8) (11 10 6)))

         (R6 ((0 4 5) (2 3 7) (1 9 8) (11 10 6)))

         (RI1 ((7 3 2) (5 4 0) (6 10 11) (8 9 1)))

         (I7 ((7 3 2) (5 4 0) (6 10 11) (8 9 1)))

         (RI7 ((1 9 8) (11 10 6) (0 4 5) (2 3 7)))

         (I1 ((1 9 8) (11 10 6) (0 4 5) (2 3 7)))

         (P6 ((6 10 11) (8 9 1) (7 3 2) (5 4 0)))

         (R0 ((6 10 11) (8 9 1) (7 3 2) (5 4 0))) 

 

More examples:

 

(12tone-analysis '(0 4 5 2 3 7 1 9 8 11 10 6)

                 '((0 4 5) (2 3 7)))

 

=> Original Prime Order: (0 4 5 2 3 7 1 9 8 11 10 6) 

   Pitch Row: (c4 e4 f4 d4 eb4 g4 cs4 a4 gs4 b4 bb4 fs4

   Set: ((0 4 5) (2 3 7)) 

   Pitch Set: ((c4 e4 f4) (d4 eb4 g4)) 

   Complement: (1 6 8 9 10 11) 

   Pitch Complement: (cs4 fs4 gs4 a4 bb4 b4

   PCS: (3-4 3-4 6-8) 

   Form: (P0 ((0 4 5) (2 3 7) (1 9 8 11 10 6)))

         (R6 ((0 4 5 2 3 7) (1 9 8) (11 10 6)))

         (RI1 ((7 3 2 5 4 0) (6 10 11) (8 9 1)))

         (I7 ((7 3 2) (5 4 0) (6 10 11 8 9 1)))

         (P6 ((6 10 11) (8 9 1) (7 3 2 5 4 0)))

         (RI7 ((1 9 8 11 10 6) (0 4 5) (2 3 7)))

         (I1 ((1 9 8) (11 10 6) (0 4 5 2 3 7)))

         (R0 ((6 10 11 8 9 1) (7 3 2) (5 4 0))) 

 

Example with smaller segments:

 

(12tone-analysis '(0 6 1 5 2 4 3 7 11 8 10 9)

                 '((0 6) (1 5) (2 4) (3) (7 11) (8 10) (9)))

 

=> Original Prime Order: (0 6 1 5 2 4 3 7 11 8 10 9) 

   Pitch Row: (c4 fs4 cs4 f4 d4 e4 eb4 g4 b4 gs4 bb4 a4

   Set: ((0 6) (1 5) (2 4) (3) (7 11) (8 10) (9)) 

   Pitch Set: ((c4 fs4) (cs4 f4) (d4 e4) (eb4) (g4 b4) (gs4 bb4) (a4)) 

   PCS: (2-6 2-4 2-2 singleton 2-4 2-2 singleton) 

   Form: (P0 ((0 6) (1 5) (2 4) (3) (7 11) (8 10) (9)))

         (P6 ((6 0) (7 11) (8 10) (9) (1 5) (2 4) (3)))

         (I0 ((0 6) (11 7) (10 8) (9) (5 1) (4 2) (3)))

         (I6 ((6 0) (5 1) (4 2) (3) (11 7) (10 8) (9)))

         (P3 ((3 9) (4 8) (5 7) (6) (10 2) (11 1) (0)))

         (RI0 ((3) (2 4) (1 5) (9) (8 10) (7 11) (6 0)))

         (I3 ((3 9) (2 10) (1 11) (0) (8 4) (7 5) (6)))

         (R6 ((3) (4 2) (5 1) (9) (10 8) (11 7) (0 6)))

         (P9 ((9 3) (10 2) (11 1) (0) (4 8) (5 7) (6)))

         (RI6 ((9) (8 10) (7 11) (3) (2 4) (1 5) (0 6)))

         (I9 ((9 3) (8 4) (7 5) (6) (2 10) (1 11) (0)))

         (R0 ((9) (10 8) (11 7) (3) (4 2) (5 1) (6 0))) 

 

 

------------------------------------------------------------------

 

12tone-forms row &key type note

 

[Function]

 

Arguments and Values:

 

row                   a list of integers or pitches (must be a 12-tone row).

type                :integer or :pitch. The default is :integer.

note                a string. Annotation.

 

Description:

 

The function 12TONE-FORMS displays all 48 forms of the row at a glance and is an invaluable tool when composing or analysing twelve-tone music.

 

The initial row is known as THE ORIGINAL PRIME ORDER.

There are four basic forms to a row:

 

P - Prime: Left to Right 

I - Inversion: Top to Bottom
R - Retrograde: Right to Left

RI - Retrograde-Inversion: Bottom to Top 

 

(12tone-forms '(3 11 10 2 1 0 6 4 7 5 9 8))

 

=> Original Prime Order: (3 11 10 2 1 0 6 4 7 5 9 8) 

   Pitch: (eb4 b4 bb4 d4 cs4 c4 fs4 e4 g4 f4 a4 gs4

 

                          I 

 

           0  8  7 11 10  9  3  1  4  2  6  5 

 

      0    3 11 10  2  1  0  6  4  7  5  9  8 

      4    7  3  2  6  5  4 10  8 11  9  1  0 

      5    8  4  3  7  6  5 11  9  0 10  2  1 

      1    4  0 11  3  2  1  7  5  8  6 10  9 

      2    5  1  0  4  3  2  8  6  9  7 11 10 

 P    3    6  2  1  5  4  3  9  7 10  8  0 11   R  

      9    0  8  7 11 10  9  3  1  4  2  6  5 

     11    2 10  9  1  0 11  5  3  6  4  8  7 

      8   11  7  6 10  9  8  2  0  3  1  5  4 

     10    1  9  8  0 11 10  4  2  5  3  7  6 

      6    9  5  4  8  7  6  0 10  1 11  3  2 

      7   10  6  5  9  8  7  1 11  2  0  4  3 

 

                         RI 

 

Matrix in pitch:

 

(12tone-forms

 '(3 11 10 2 1 0 6 4 7 5 9 8) :type :pitch)

 

=> Original Prime Order: (3 11 10 2 1 0 6 4 7 5 9 8) 

   Pitch: (eb4 b4 bb4 d4 cs4 c4 fs4 e4 g4 f4 a4 gs4

 

                                I 

 

            0   8   7  11  10   9   3   1   4   2   6   5 

 

      0   eb4  b4 bb4  d4 cs4  c4 fs4  e4  g4  f4  a4 gs4 

      4    g4 eb4  d4 fs4  f4  e4 bb4 gs4  b4  a4 cs4  c4 

      5   gs4  e4 eb4  g4 fs4  f4  b4  a4  c4 bb4  d4 cs4 

      1    e4  c4  b4 eb4  d4 cs4  g4  f4 gs4 fs4 bb4  a4 

      2    f4 cs4  c4  e4 eb4  d4 gs4 fs4  a4  g4  b4 bb4 

 P    3   fs4  d4 cs4  f4  e4 eb4  a4  g4 bb4 gs4  c4  b4   R  

      9    c4 gs4  g4  b4 bb4  a4 eb4 cs4  e4  d4 fs4  f4 

     11    d4 bb4  a4 cs4  c4  b4  f4 eb4 fs4  e4 gs4  g4 

      8    b4  g4 fs4 bb4  a4 gs4  d4  c4 eb4 cs4  f4  e4 

     10   cs4  a4 gs4  c4  b4 bb4  e4  d4  f4 eb4  g4 fs4 

      6    a4  f4  e4 gs4  g4 fs4  c4 bb4 cs4  b4 eb4  d4 

      7   bb4 fs4  f4  a4 gs4  g4 cs4  b4  d4  c4  e4 eb4 

 

                               RI 

 

Example:

 

Schoenberg 'Opus 23' 12-tone row taken from the Opusmodus library:

 

(setf opus-23 (library 'vienna 'schoenberg 'r01))

=> (cs4 a4 b4 g4 gs4 fs4 as4 d4 e4 ds4 c4 f4)

 

Example with annotation:

 

(12tone-forms opus-23 :note "Schoenberg Opus 23")

 

=> Schoenberg Opus 23 

   Original Prime Order: (1 9 11 7 8 6 10 2 4 3 0 5) 

   Pitch: (cs4 a4 b4 g4 gs4 fs4 bb4 d4 e4 eb4 c4 f4

 

                          I 

 

           0  8 10  6  7  5  9  1  3  2 11  4 

 

      0    1  9 11  7  8  6 10  2  4  3  0  5 

      4    5  1  3 11  0 10  2  6  8  7  4  9 

      2    3 11  1  9 10  8  0  4  6  5  2  7 

      6    7  3  5  1  2  0  4  8 10  9  6 11 

      5    6  2  4  0  1 11  3  7  9  8  5 10 

 P    7    8  4  6  2  3  1  5  9 11 10  7  0   R  

      3    4  0  2 10 11  9  1  5  7  6  3  8 

     11    0  8 10  6  7  5  9  1  3  2 11  4 

      9   10  6  8  4  5  3  7 11  1  0  9  2 

     10   11  7  9  5  6  4  8  0  2  1 10  3 

      1    2 10  0  8  9  7 11  3  5  4  1  6 

      8    9  5  7  3  4  2  6 10  0 11  8  1 

 

                         RI 

 

 

 

Link to comment
Share on other sites

  • opmo unfeatured this topic
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy