• # Lesson 23. Intervals and Rows

## Annotation

A 12-tone Invention

This score-script takes further the techniques used for length and rhythm composition used in Lesson 22. Like many pieces in an atonal / serial idiom a rhythmic sketch is devised first. The objective is to create a 2-part invention in the spirit of J. S. Bach. Notice in this score there's a division made between rhythm and length, and pitch material. We start with rhythm:

```(setf r1 '(s s s s)
r2 '(e e)
r3 '(e s s)
r4 '(s s e)
r5 '(-e e e e)
r6 '(-q h)
. . .)```

Just as in Lesson 22, groups of note-lengths are brought together as rhythmic units and identified as variables. We can now assemble bars / list of these rhythms.

```(setf rh
(apply-eval
'((r1 r1 r2) (r6) (r15 r1 r8) (r9) (r10)
. . . ))```

Of course, we could just write out each bar/list in OMN lengths:

```=> ((s s s s s s s s e e) (-q h)
(-q s s s s e e e) (e e e q)
(q q q -q) (q h q) . . .))```

Don't forget you can Audition these rhythms. Also, it might be a good move to check the rhythmic interplay between the hands before adding pitches.

Next we create the pitch content. This is to be based yet again on the Slonimsky pattern used in almost all the stages so far. But we'll use it as a pitch-class-set. In this context it is known as the double tritone tetramirror and in Forte pitch class notation has the reference 4-9. We can use the many Opusmodus interval and pitch-class-set functions to explore its potential as material for a composition for solo piano using the techniques of 12-note atonal composition. Here are just some of the processes you might use to manipulate pitch class sets:

```(setf pcs-4-9-i (pcs-inversion pcs-4-9 :type :pitch))
=> ((c4 b4 fs4 f4) (b4 as4 f4 e4)
(as4 a4 e4 ds4) (a4 gs4 ds4 d4) . . .))

(pcs-complement 4 4 (pcs '4-9) :type :pitch)
=> (d4 ds4 e4 f4 gs4 a4 as4 b4)

(pcs-complement 4 4 (pcs '4-9) :type :integer)
=> (2 3 4 5 8 9 10 11)

(pcs '4-9 :type :pitch)
=> (c4 cs4 fs4 g4)

(interval-randomize 4 (pcs '4-9))
=> ((0 -1 -6 7) (0 -1 6 -7) (0 1 -6 -7) (0 -1 6 7))

(interval-randomize 4 (pcs '4-9) :rnd-order t)
=> ((1 6 -7 0) (-6 -1 7 0) (-6 7 0 -1) (1 0 6 -7))

(interval-scale 1.5 (pcs '4-9))
=> (0 2 9 10)

(row-matrix (pcs '4-9))
=> ((0 1 6 7) (11 0 5 6) (6 7 0 1) (5 6 11 0))

(interval-row-matrix (pcs '4-9))
=> ((0 1 6 7) (-11 0 5 6) (-6 -7 0 1) (-5 -6 -11 0))```

As a result of this exploration of PCS 4-9 it was discovered that when the set was transposed there were six unique sets all having intervals that were not shared with the PCS set 4-9. This seemed a good premise from which to work.

```(setq row (pcs '4-9))
=> (0 1 6 7)

(setf transposed-rows-r
(pcs-transpose (gen-integer 0 11)
(gen-repeat 12 (list row))))
=> ((0 1 6 7) (1 2 7 8) (2 3 8 9) (3 4 9 10)
1         2
(4 5 10 11) (5 6 11 0)  6 7 0 1) (7 8 1 2)
3
(8 9 2 3) (9 10 3 4) (10 11 4 5) (11 0 5 6))
4         5          6    ```

The next step was randomise this tranposed-row collection and scale it to give a wider interval range:

```(setf scaled-intervals-r
(interval-scale 0.75
(rnd-sample (length lh)
transposed-rows-r :seed 34)))

(setf rhy-to-rh (span rh scaled-intervals-r))```

By spanning the rhythms in the right hand the output of each list now aligns:

```=> ((6 7 2 2 6 7 2 2 6 7) (4) (2 3 7 -8 2 3 7) (-2 -3 -7 -8) (-6 -7 -2)
(-2 -3 -7) (-8 0) (-3 4) (4 5 0 1 4 5 0 1) (8 8 3 4 8 8 3 4 8 8 3)
(6 7 2 2 6 7 2) (7 8 2 -3 7 8 2 -3 7 8 2 -3) (-4 -4 -8 0)
(-5 -6 -1 -2 -5 -6) (-8 0 -4 -4 -8 0) (-7 -8 -2 -3 -7)
(-7 -8 -2) (2 2 6 7))

=> ((s s s s s s s s e e) (-q h) (-q s s s s e e e) (e e e q) (q q q -q)
(q h q) (-q -q e e) (q q -q) (-e e e e e e e s s) (-e s s s s s s 5q 5q 5q 5q 5q)
(6q 6q 6q 6q 6q 6q -e q.) (s s s s s s s s s s s s) (q q q q)
(-q 3q 3q 3q 3q 3q 3q) (3q 3q 3q -q 3q 3q 3q) (5h 5h 5h 5h 5h -q)
(-q e q e) (e e e e))```

And finally, as above, the integers are changed into pitches and transposed up an octave:

`(setf rh-p (pitch-transpose 12 (integer-to-pitch rhy-to-rh)))`

But it's necessary to do a little more to these melodic patterns to make them more varied and interesting:

```(setf lhp-r (rnd-order
(sort-desc lh-p :section '(7 9 10 11 ))
:section '(3 4 8) :seed 761))```

As we've been so careful to organise the bar/list structure, putting in the dynamics is very straightforward.

```(setf dyn-rh
'((f) (mp) (mf) (f) (mf) (ff) (mp) (mf) (mp) (f)
(ff) (p) (mp mf f ff) (f) (f) (mf) (mp) (p mp f fff)))```

Notice how the crescendo has been created in the last bar of the rh-2 part. This whole process is then repeated in the left hand but with a different random sampling of the transposed-rows and a different scaling using INTERVAL-SCALE2.

## Score

```;; Material - rhythm
(setf r1 '(s s s s)
r2 '(e e)
r3 '(e s s)
r4 '(s s e)
r5 '(-e e e e)
r6 '(-q h)
r7 '(5q 5q 5q 5q 5q)
r8 '(e e e)
r9 '(e e e q)
r10 '(q q q -q)
r11 '(6q 6q 6q 6q 6q 6q)
r12 '(q q q q)
r13 '(3q 3q 3q)
r14 '(5h 5h 5h 5h 5h)
r15 '(-q)
r16 '(e q q e)
r17 '(e q e)
r18 '(q h q)
r19 '(e e q q)
r20 '(q q -q)
r21 '(-e s s)
r22 '(-e q.)
r23 '(q h)
r24 '(h)
r25 '(q))

(setf rh
(apply-eval
'((r1 r1 r2) (r6) (r15 r1 r8) (r9) (r10)
(r18) (r15 r15 r2) (r20) (r5 r2 r3)
(r21 r1 r7) (r11 r22) (r1 r1 r1)
(r12)(r15 r13 r13) (r13 r15 r13) (r14 r15)
(r15 r17) (r2 r2))))

(setf lh
(apply-eval
'((r15 r2 r1) (r23) (r1 r1 r8) (r9) (r24 r1 r1)
(r18) (r2 r25 r25) (r2 r2 r2) (r1 r1 r1 r4)
(r2 r2 r2) (r25 r22) (r15 r15 r1) (r1 r1 r25 r25)
(r2 r2 r2) (r16)(r16) (r15 r17) (r24))))

;; Material - pitch
;; Right hand
(setq row (pcs '4-9))
(setf transposed-rows-r (pcs-transpose (gen-integer 0 11) (gen-repeat 12 (list row))))
(setf scaled-intervals-r (interval-scale 0.75 (rnd-sample (length lh) transposed-rows-r :seed 34)))
(setf rhy-to-rh (span rh scaled-intervals-r))
(setf rh-p (pitch-transpose 12 (integer-to-pitch rhy-to-rh)))
(setf rhp-r (rnd-order rh-p :section '(0 2 3 6 7 11 17) :seed 76))

;; Left hand
(setf transposed-rows-l
(pcs-transpose (gen-integer 0 11) (gen-repeat 12 (list row))))

(setf scaled-intervals-l
(interval-scale2  '(0.5 1.0)
(rnd-sample (length lh) transposed-rows-l :seed 36)))

(setf rhy-to-lh (span rh scaled-intervals-l))
(setf lh-p (pitch-transpose -12 (integer-to-pitch rhy-to-lh)))

(setf lhp-r
(rnd-order
(sort-desc lh-p :section '(7 9 10 11))
:section '(3 4 8) :seed 761))

;; Dynamics
(setf dyn-rh
'((f) (mp) (mf) (f) (mf) (ff) (mp) (mf) (mp) (f) (ff)
(p) (mp mf f ff) (f) (f) (mf) (p) (p mp f fff)))

(setf dyn-lh
'((mf) (mp f) (mf) (f) (mf f) (ff) (mf) (f) (f) (p) (f)
(mp) (mp) (mf p) (f) (f) (p) (mf)))

(setf rh-1
(make-omn
:length rh
:pitch rhp-r
:velocity dyn-rh))

(setf rh-2
'((s g5 f fs5 d5 g5 fs5 g5 d5 d5 e d5 fs5) (-q h e5 mp)
(-q s d5 g5 ds5 d5 e g5 e4 ds5) (e f4 f e4 a4 q as4)
(q fs4 f4 as4 -) (q as4 ff h a4 q f4) (-q - e e4 mp c5)
(q e5 a4 -) (-e e5 mp f5 c5 cs5 e5 f5 s c5 cs5)
(-e s gs5 f gs5 ds5 e5 gs5 gs5 5q ds5 e5 gs5 gs5 ds5)
(3e fs5 ff g5 d5 d5 fs5 g5 -e q. d5)
(s gs5 p g5 g5 a4 a4 gs5 d5 d5 a4 gs5 g5 d5)
(q gs4 mp mf e4 f c5 ff) (-q 3q g4 f fs4 b4 as4 g4 fs4)
(3q e4 f c5 gs4 -q 3q gs4 e4 c5) (5h f4 e4 as4 a4 f4 -q)
(-q e f4 p< q e4 <  e as4 <) (e d5 < g5 < fs5 < d5 fff)))

(setf lh-1
(make-omn
:length lh
:pitch lhp-r
:velocity dyn-lh))

(setf lh-2
'((-q e ds3 f3 s c3 cs3 ds3 f3) (q fs3 mp h f)
(s d3 e3 a3 c3 d3 e3 a3 d3 e e3 a3 c3) (e e2 f d3 cs2 q ds3)
(h b2 s as2 f2 mf b2 as2 f2 b2 as2 f2)
(q gs2 ff h f2 q a2) (e g2 f2 q g2 f2) (e g3 f gs2 g3 gs2 g3 gs2)
(s e3 f e3 ds3 e3 g3 ds3 g3 e3 tie e e3 s ds3 e3 g3 ds3 e g3)
(e f3 p f3 tie f3 ds3 tie q ds3) (q gs3 f -e q. fs3)
(-q - s fs3 mp fs3 fs3 fs3 tie)
(s fs3 mp c3 e3 fs2 fs3 c3 e3 fs2 q fs3 c3)
(e as2 gs2 p ds2 mf c3 p as2 mf gs2 p) (e b2 f q as2 f2 e ds2)
(e a2 f q g2 c3 e b2) (-q e fs2 p q c3 e gs2) (h c3)))

(setf timesigs (get-time-signature rh-2 :group '((2 2 3))))

(def-score lesson-23
(:key-signature 'chromatic
:time-signature timesigs
:tempo '(q 85)
:layout (piano-layout 'piano-rh 'piano-lh))

(piano-rh
:omn rh-2
:channel 1
:sound 'gm
:program 'acoustic-grand-piano)

(piano-lh
:omn lh-2)
)```

## Notation

Next page Lesson 24. Tonality 1

Go back to Reference page.

• ### Introduction to Opusmodus

Contents A Contemporary Language for Making Music The Parametric World of Music The Parametric Instrument Learning Opusmodus : A Strategy Important Questions: Necessary Answers

A Contemporary Language for Making Music Composing, like most art-making, is a messy business, It is rarely radio in the head. You don’t turn it on and there it is. A composer goes searching for music. It’s out there somewhere, but it has to be detected, discovered, and then deciphered into music’s own language. To do this requires experiment and imagination.    In the 1980s MIDI provided a contemporary language for musical events that let us use computers for recording and editing already conceived ideas. But MIDI is not a natural language, and programming with it is a highly specialist task. Composers want and need a straightforward contemporary language for music that whilst relating to traditional staff notation, and MIDI too, enables the origination of novel ideas and new forms of making. Such a language is parametric: found in and used by Opusmodus.
The Parametric World of Music Musical events belong in a network of parameters: pitch, note duration and rhythm, dynamics, articulation, and at a higher-level tonality, harmony and musical structure itself. They are all connected. In Opusmodus, we are ‘Parametrical’.   Increasingly composers create novel musical events by interacting with musical parameters written or ‘found’ through separating them out, processing them, and then putting them back together again. Rhythms are constructed through additive and subtractive processes, pitch aggregates are formulated with magic squares and statistical algorithms, integers, intervals and random numbers are often starting points, ways to ‘make a mark’, to fill the blank page (or screen).   Many starting points in music composition are not based on sound at all, but on geometric structure, proportion, chaotic incidence, visual relationships, movement, poetry and prose. Whatever these may be they will need to be pulled somehow onto the musical stave. This remains the format our culture continues to invest in as a notation-led end result, the common currency of most music education, professional performers, ensembles and orchestras. Much new art and media music continues to reach us through such notated scores composed by bringing together those commonplace parametric elements.

The Parametric Instrument With a Parametric Instrument for Composing Music it becomes possible to network musical parameters into inherently variable, adaptive forms that combine into unique and often surprising continuously differentiated fields or systems. This is what Opusmodus does.   Musical practice in composition is no longer style-oriented or system-based. It can be everything and anything. Composers can be insatiably curious about the possibilities of phenomena that lie outside music, because so much around us is now understood and able to be captured as data. And so composers need the wherewithal to make conversions of such data to live in the parametric world of music. Opusmodus has the parametric tools to make this happen.   Don’t necessarily expect a previous experience with technology to open the door straightaway to what Opusmodus has to offer. This is not about point and click, play and record, copy and paste. It is about thinking and scripting; it is about building expressions made of functions that are able to process or generate one or many musical parameters and provide an output that can be seen and heard, instantly. Opusmodus provides a fast and robust feedback loop for musical ideas.
Learning Opusmodus : A Strategy If you’ve learnt a language there’s a similarity. You might go to a class or know a native speaker, then you can listen, copy and eventually talk. Otherwise you’ll use a CD and a book, or interact with a web-based tutor. At some point you’ll have to work on vocabulary, and maybe learn to write. The language of Opusmodus requires something similar.       • Take a look and listen to the example scores.
• Take a Tutorial.
• Browse the Documentation, the vocabulary of Opusmodus.
• Study the score-scripts.
• Modify these scores and start to write your own.   The tutorial resources can be accessed from within Opusmodus itself. You’ll find Quick Start, a guide providing the necessary basics. Then there are Lessons: a 30-part collection of score-scripts and text commentaries designed to be opened simultaneously.

Important Questions: Necessary Answers Be sure, you’ll find in all these learning resources something to fire up the imagination. Browse as much as you can, and begin to ask yourself what is it that makes up my musical language? What are the elements and common processes I already use when making a piece of music?   Do I know how a piece of my own music is composed? Is it really trial and error, continuous experimentation until it ‘sounds right’ or are there methods, techniques, pathways you’ve already established or invented? Such questioning is a highly recommended exercise. And if you don’t have the answers, learning Opusmodus will prove a unique way into musical literacy!     Whatever the answers to these questions, bite the bullet with one of the early tutorial guides. Approach these little score-scripts in a spirit of play. The more time you can devote to playful experimentation before starting on that next commission or project the better. Again, think of learning a foreign language. You may learn enough Italian in a Day with a CD to ‘get by’ but to understand and use the language you have to go further. It’s the same with Opusmodus. Learning takes time, but it will prove such an enriching process, and one that brings together understanding with knowledge: about the music you compose and how you compose it. If you are new to scripting, don’t shy away from the basics. Once you have them you won’t look back and all kinds of possibilities will open up.   Next page Reference

opmo
Tutorial Guide 0
• ### Introduction to OMN the language

OMN is designed as a scripting language for musical events. It’s not about sounds themselves, it is about their control and organisation in a musical composition. As a linear script rather than a graphic stave, musical events can be transformed, extended, reorganised by powerful computer algorithms. Some sequencers and score writers provide basic algorithms, but they do not represent the way composers now think about the process of music composition. Composing has become such a multi-faceted process and takes ideas about structure and content from many disciplines: mathematics, astronomy, literature, the visual arts. As such it requires extensive mental resources and experience from the composer. Much of this is still done by hand and eye and brain because although computer systems do exist to help the process along they don’t provide what has become known as the composing continuum. This means that a single workspace and workflow environment has not been generally available that can take in the whole process of composing a piece - from first thoughts to a printed score and reference recording. Wouldn’t it be good to be able to do everything in one place?   Most composers acquire a bag full of musical tools to act on musical ideas. These still include those tools Bach used for repetition, inversion, retrograde, transposition, but with computer help musical material can be copied, cut, pasted and generally structured and orchestrated. Since the 1950s composers have been experimenting with tools and processes that take musical transformation into wholly new areas; of random numbers, fractals, statistical distribution, graphical plotting to name just a few. To use such experimental things it is composing with a script that is acknowledged as the most efficient and practical way forward. And to work with a script means working with a language: OMN.
Contents OMN and Musical Notation The Concept The Four Elements Length Pitch Velocity Attribute Repetition Assemble And Disassemble Algorithms The Way Forward

OMN and Musical Notation
The truly original aspect of OMN is that it has been designed to speak directly to traditional musical notation. Everything written in OMN script can be rendered instantly to notation and to a performance simulation. For most composers staff notation remains the common currency they have to work in and with. You couldn’t expect performers to read from a MIDI event display or indeed from OMN script. As the OMN language is laid out and explored we’ll see just how fully the language of music staff notation is mirrored. This is not just in the standard elements of rhythms, pitch and dynamics but in the vast library of musical attributes that cover the way pitches and rhythms are performed by different instruments and voices. So musical notation is always there. Whatever you write there can be an instant ’snippet’ rendered to view alongside your script.

The Concept
Most languages have developed orderings for parts of speech. Romance languages place the verb after the subject, and in the middle of the sentence. Germanic languages tend to conclude sentences with a verb. In music we’re used to the single intersection of pitch position on a stave line with a rhythmic symbol with or without a stem.   In developing a right concept for the OMN language much thought was given to choosing the most effective ordering of elements. Culturally our music is one governed by our past experiences, elements of musical tradition gathered through informal and formal musical education, and what is active in the memory. Descartes adage ‘Cogito ergo sum’ (‘I think, therefore I am’) remains an important cornerstone of an individual’s relationship with composing music. It is something known. It is a made thing; it possess architecture. We can say with confidence that we experience music in a hierarchical sequence of time, existence, dynamics and expression. So it is right that the linear ordering of OMN reflects this. In architecture this might be translated as dimension, materials, volume of space, decoration. These are established architectural parametrics able to form the basis for CAD rendering in the new parametric systems architects are now using to allow the conditions surrounding to influence design. OMN is a language wholly sympathetic to parametric composition in music.

The Four Elements
Length
OMN was created to think about the element of TIME first. After all we can be musical without a pitched note being present. If we are going to use the OMN script we need a reference guide to help us whilst we learn the language. What accompanies this introduction is a special dictionary of language terms arranged in the four elements that make up the concept. However, there are some necessary redefinitions required. TIME is a very general element that subdivides in music to rhythm and length. When we describe what makes up a rhythm in notation it is usually a mixture of symbols that have different lengths. So the OMN vocabulary uses the term LENGTH as its general title.  (q)
Pitch
The second element of the OMN language is PITCH. Although each piece of music is defined by the length of time, it only starts to EXIST as a proper musical entity when pitch is added.   (q c4)
Velocity
The third element of the OMN language is VELOCITY. Staff notation has a set of common symbols that are formed from the first letter of Italian words for degrees of intensity we want to attach to a note or a phrase. In OMN there are 12 such terms ranging from ppppp to fffff. OMN includes many symbols that can only be classed as Dynamics because they are not identified directly with a data value.
(e c4 mp)
Attribute
The fourth element of the OMN language is ATTRIBUTE. The number of general symbols and words used to describe expression in music is vast: tenuto, staccato, legato, trill, fermata etc... Many instruments, particularly those of the string family have their own vocabulary of technical expressive terms: pizzicato, sul ponticello, flautando. Remarkably these can be included in an OMN script and, if your sampler has a string effects library, these expressive instructions can be realised directly.
(e c4 mp trem)   Finally, there is SIMULTANEITY possible in the layering of attributes. This is achieved by the + symbol.   (q c4 mp trem+fermata)
Repetition
An important fifth element of REPETITION  is also present in the OMN language structure.   (q c4 q c4)
equals   (q c4 =)
Assemble And Disassemble
It is valuable to remember that the composer may need to create material one parameter at a time. OMN allows for discrete parameters to be brought together to make a composite list in OMN. By the same token it may also be necessary to focus on just a single parameter to develop further the argument of a composition. An OMN list can easily be disassembled into its component parts for such work to take place and then made back into an OMN list.   (disassemble-omn '(q c4 mp d4 e4 e f4 f g4)) => (:length (1/4 1/4 1/4 1/8 1/8) :pitch (c4 d4 e4 f4 g4) :velocity (mp mp mp f f) :articulation (- - - - -))   (make-omn :length '(q q q e e)           :pitch '(c4 d4 e4 f4 g4)           :velocity '(mp mp mp f f)) => (q c4 mp d4 e4 e f4 f g4)
Algorithms
OMN script responds directly to the Opusmodus library of algorithmic functions, and with keywords particular elements can be selected to be processed or not.   (pitch-transpose 6 '(q c4 mp d4 e4 e f4 f g4)) => (q fs4 mp gs4 bb4 e b4 f cs5)
The Way Forward
This introduction should set you on your way. With what has been covered here, the Tutorial Guide files will demonstrate how closely the OMN language can be integrated with algorithmic composing. In fact, when composing in this way you’ll often only write material in one parameter at a time. Although every function will read an OMN list, it’s often better to keep parameters apart to begin with. You’ll see this clearly in the Tutorial files.   There will be some music projects where writing directly in OMN is really necessary. Composing for voice is certainly one medium. There are examples in the How To section to demonstrate word setting with full attention given to syllabic splitting. For more experimental approaches to composing OMN can be integrated with the conversion of integers and intervals into the parameter of pitch. The Tutorials show how this can be achieved with examples that use pitch-class sets to create tone rows. OMN is a way of scripting the whole language of traditional staff notation and modes of experimental and conceptual composition using the tools of parametric modelling. It is a language that responds to the future of music presentation, as notation moves inextricably from the printed page to the backlit digital display.   New music technology has focused largely on production and presentation, whereas the conceptualisation and origination of new music requires a very different paradigm. Sequencer and Scorewriters continue to provide valuable ways into composition. Opusmodus provides the 3rd way forward, and one driven by its own notation script: OMN.   OMN is perfect for those ‘on the fly’ experiments that all composers make when they are starting out on a project. It is like having a piano close by to try out this or that, but one that always plays what’s written quite flawlessly. What is wonderful about scripting is that those experiments if successful can remain part of the score for the whole progress of the composition. With OMN a composing continuum can be achieved.   OMN may look a little hard to decipher at first, but once the logic is understood, be assured, OMN can be read with ease. OMN is the first notation that has been designed from the outset to communicate with MusicXML the de facto standard for communication of notated scores between different software applications. Opusmodus scripts can be converted seamlessly into both Midi and MusicXML.   Next page 1st Element - Length

opmo
content_cat_name_15 0
×

• Lessons