Jump to content


Janusz Podrazik
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by opmo

  1. How to control the beaming of notation ?

    (setf time-sig '((3 3 3 3) 8))
  2. How to span different time signatures ?

    To get the intended time signature: :time-signature '((6 8 1) (12 8 2) (4 8 2)) ; etc... Good example with series of time signature values you will find in Webern 'Variationen Fuer Klavier Op.27, II' score in the Utilities panel: 'Score Examples/Webern'.
  3. The first thing you need to do is to create a source file (.opmo or .lisp). Give the file a name eg. Custom functions.opmo. This file will now be the source file for your functions, make sure the functions are working and that there are no errors. Save the file into the ~/Opusmodus/Extensions folder. The next step is to document the functions that you have created. Go to the ~/Opusmodus/System Library folder and create a new folder for example Custom Function. This folder is where you will place your (TextEdit) .rtfd system library documents (the best way to create a new document is to copy the contents of one of the System Library’s documents and paste it into the newly created .rtfd file). Now replace the function name i.e. variables, values etc… with your own examples and documentation. Each function must have its own document. Place the documents into the ~/Opusmodus/System Library/Custom Function folder. The last step is to create a new file that must be named contents.opmo and place it into the same folder. The form of the contents.opmo file should be written as follows: ;;; Custom functions (foo1 "here you write short note about the foo1 function") (foo2 "here you write short note about the foo2 function") The next time you start the application you should be able to use and see your function documents in the ’System Library’ utilities panel.
  4. DADA Quartet

    You will find the 'DADA Quartet' score in the Opusmodus Scores Library with the next release.
  5. DADA Quartet

    Algorithmic avant garde jazz improvisation for tenor saxophone, piano, bass and drums. I thought it is time to add something new to our 'Made in Opusmodus' forum. Samples: VSL Ensemble Pro with Vienna Instruments Pro. If you like to study the score, here it is: DADA Quartet.opmo
  6. Opusmodus 1.2.22630

    min width on single system (snippet). rit extension octave shift above pedal
  7. Opusmodus 1.2.22630

    Notation: octave shift above pedal min width on single system tempo meter placement rit extension Fixed the flat-invert in PITCH-INVERT function.
  8. Here is an example of one of the Opusmodus contents.opmo files. ;;; Filters/Generate (gen-filter-ambitus "Finds and removes any pitch outside the range with symbols 0 replacing the others with 1 internally and create a map.") (gen-filter-anacrusis "Finds and preserves the end of a series of repeated items and replacing the others.") (gen-filter-change "Finds repeated items and replacing them with (0) internally, and create a map.") (gen-filter-remove "Returns a list of 0 and 1 internally and create a map.") As you can see the short description of the function is in a string: (function-name "short description in a string") Each folder needs to have its own contents.opmo file.
  9. swing eights

    '(3qq 3q)
  10. Opusmodus 1.2.22604

    Notation changes and improvements: * added support for dotted and dashed and short barlines * allow setting of slash grace duration * Improved edit UI * improved staff spacing * correct placement of articulations in multi-voice staff * Fixed tie problem with unpitched notes * ignore erroneous notations on chord notes * Improved handling of 'exact' mode layout * Improved tuplet handling * correct some layout errors * corrected occasional slur misplacement * improved placement of harmonic
  11. Yes it is possible on my dev system. I will see what I can do.
  12. I used this function for conversion of 4 instrument each with in its own tempo to one 'global' tempo. Examples: (length-tempo-map 72 36 '1/4) => 1/2 (length-tempo-map 72 36 'w) => 2 (length-tempo-map 72 88 '(1/8 1/4 -1/4)) => (9/88 9/44 -9/44) (length-tempo-map 72 '(120 36) '((1/8 1/4 -1/4) (1/16 1/8 -1/4 1/1))) => ((3/40 3/20 -3/20) (1/8 1/4 -1/2 2)) (length-tempo-map 72 '(36 96 72) '((1/20 1/20 1/20 1/20 1/20) (1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16) (1/8 1/8 1/8 1/8) (1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/4)) :meter '(1 1 1)) => ((1/10 1/10 1/10 1/10 1/10) (1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8) (1/4 1/4 3/32 3/32) (3/16 3/16 3/16 1/4 1/4 1/4 1/4 1/2)) (length-tempo-map 72 36 '((e c4 e4 g4 h_e c5) (q c4 = = - - =) (q cs5 = - - = =))) => ((q c4 e4 g4 w_q c5) (h c4 = = - - =) (h cs5 = - - = =)) (length-tempo-map 72 '(36 96 72) '((e c4 e4 g4 h_e c5) (q c4 = = - - =) (q cs5 = - - = =)) :meter '(1 1 1)) => ((q c4 e4 g4 w_q c5) (e. c4 = = - -q =) (q cs5 = -h - = =))
  13. Windows Port?

    I am afraid only macOS will do for the foreseeable future (Mac mini is sufficient to run Opusmodus).
  14. Any special instruction (steps) for Org?
  15. Extending a library?

    I am adding all the suggestions to our todo list.
  16. Thank you Matthew for the instructions. All is working fine. Alternatively you could put (ql:quickload "quicklisp-slime-helper") (cl-user::start-swank) into the 'Quicklisp Start.lisp file which you find in the Opusmodus/Extension folder. This way all you need to do is to start Opusmodus then Emacs and finally type M-x slime-connect
  17. Julio, just listening to you compositions, great quartet. julioherrlein.com
  18. El Capitan Compatibility

    Requirements: macOS 10.8 or higher, therefore macOS El Capitan 10.11 is fine.
  19. An important prerequisite for composing music with the aid of computers is that the musical ideas of a composition must be communicated to the computer: OMN provides a notation for music, just as traditional notation does on paper. The immediate question then is: how does OMN work so a composer can express musical ideas? Like traditional notation, OMN expresses musical units such as rhythms and pitches. The 'Introduction to OMN - the Language' explains the four elements, indicating: length as 'q (quarter), pitch as 'c4, velocity as mp, and articulation trem(olo), - in that order: (q c4 mp trem) Such a musical unit is expressed between parenthesis to allow a clear distinction between other units: ((q c4 mp trem) (q c5 ff fermata)) Clearly, musical units can be sequenced: ((s a4 d5 fs4 d5 g4 d5) (s a4 d5 fs4 d5 g4 d5) (s a4 d5 cs5 b4 a4 g4) (s fs4 d4 e4 c4 e d4)) To make OMN (and Lisp) do something for you, you type an expression. An expression is simply a list, starting with an opening parenthesis, followed by an number of symbols and finally closed by a close parenthesis: (gen-retrograde '(s a4 d5 fs4 d5 g4 d5)) => (s d5 g4 d5 fs4 d5 a4) The expression above is a list. The first element of the list is a function name. The rest of the list are arguments or values to which the function is applied. As Lisp will (try to) evaluate everything you type at it, there must be a way to tell Lisp to take expressions as data. To inform Lisp that you want an expression to be treated as data, quote that expression: '((s a4 d5 fs4 d5 g4 d5) (s a4 d5 fs4 d5 g4 d5) (s a4 d5 cs5 b4 a4 g4) (s fs4 d4 e4 c4 e d4)) It is just like a quotation in real life: in case we want to say that Paris is the capital of France, we use the word without quotes, but we do use quotes when saying that "paris" has five letters. So, if you want Lisp to see (q c5 ff tr2) as data, let the expression be preceded by a single quote: '(q c5 ff tr2) Now, lets try the expression (gen-integer 12) with and without a quote to see the difference. To do that we need to evaluate our expression. Place the curser after the last closing paranthesis ')' and press 'Enter' key. The evluation will display in the Listener panel. (gen-integer 12) ; returns list of numbers from 0 to 12 => (0 1 2 3 4 5 6 7 8 9 10 11 12) '(gen-integer 12) ; is a list with 2 values => (gen-integer 12) By the way, an arrow sign (=>) means evaluation, what is written after semicolon is a comment. Here are two functions you will find useful during your work: Setf If you want to process a sequence it is useful to assign that sequence to a variable. SETF allows us to do that. Here the variable is named 'song' and is assigned to a sequence of omn lists: (setf song '((3e gb6 bb6 db6 gb6 eb6 gb6 db6 gb6 bb5 db6 gb5 bb5) (3e gb5 bb5 db5 gb5 eb5 gb5 db5 gb5 bb4 db5 gb4 bb4) (3e db4 db5 ab4 db5 ab4 ab5 ab4 ab5 eb5 ab5 eb5 eb6) (3e eb5 eb6 ab5 eb6 ab5 ab6 ab5 ab6 db6 ab6 db6 db7))) After assignment, you can use 'song' to refer to its value. List The function LIST makes lists, as its name says. Lists can have any length, therefore the function LIST takes any number of arguments (data): (list '(q c4 mp tr2) '(q c5 f fermata) '(q c5 ff tr2) '(q c6 fff fermata)) As we have assigned the variable named song. We might as well use it in our expression. (list song song)
  20. Algorithms

    An algorithm is a function machine that has an input and an output. Within the Opusmodus algorithms are used to generate, process and edit streams of data. In the Opusmodus system documentation these algorithms are known generally as functions. Most functions have been designed to input and output OMN lists, either plists (single parameter lists) or OMN lists (multi parameter lists). Functions that by nature of their design address a single parameter, such as Length, will carry an :omn keyword enabling, in the case of length, input and output in ratios or the OMN equivalent symbols. Examples: (setf mat '((t cs5 ff bs4 cs5 dn5 cs5 bn4 gs4 es4 -s fermata) (t gs4 fss4 gs4 an4 gs4 fss4 en4 cs4 -s fermata))) (rnd-order mat :type :length :seed 345) => ((t cs5 ff bs4 -s fermata t cs5 dn5 cs5 bn4 gs4 es4) (-s fermata t gs4 fss4 gs4 an4 gs4 fss4 en4 cs4)) (rnd-order mat :type :pitch :seed 345) => ((t bs4 ff gs4 es4 cs5 cs5 bn4 cs5 dn5 -s fermata) (t gs4 cs4 fss4 gs4 en4 an4 gs4 fss4 -s fermata)) (rnd-order mat :seed 345) => ((t dn5 ff cs5 cs5 cs5 gs4 bn4 bs4 -s fermata t es4) (-s fermata t gs4 cs4 an4 gs4 fss4 fss4 gs4 en4))
  21. Attributes (Articulations) The largest element of the OMN language is ATTRIBUTE. This term covers the many hundreds of symbols and words that describe musical expression. These terms are divided up very broadly within the OMN Glossary into two groupings: Articulations, Ornaments and Marks affecting all instrumental and vocal performance; Strings, Woodwind and Brass performance indicators being specific only to those instruments. Articulations cover Accents, Cesura, Fermata, Legato, Ties and Pedal. In musical performance these words, signs and symbols indicate a specific way of controlling the dynamic, intensity or duration of a musical event. This may be a single instance or covering a group of events. Ornaments are closely linked to articulation but usually include the addition of further pitches and subsequent changes in duration. Ornaments in OMN include Acciaccatura, Appoggiatura, Arpeggio, Glissando, Mordent, Trill, Tremolo, Turn and Two-note Tremolo. Ornamentation was once a required art for the musician to master with an expectation in the 17C and 18C that performers would freely embellish notated music as a matter of course, often going way beyond what was indicated in a score. In contemporary music ornamentation, whilst still using the symbols of Baroque performance practice, is most usually a precise and obligatory requirement seeking to give a special intensity to individual pitched events. Marks cover the many general performance indications found on a notated score that govern all instruments and voices. These include Repeat Signs and Rehearsal Marks. In OMN, performance instructions for woodwind and brass include the now common terms found in contemporary scores first collected together in Bruno Bartolozzi’s New Sounds for Woodwind. These may be linked through DEF-SOUND-SET to available sample sets of woodwind and brass attack transients. For strings, performance instructions in OMN are comprehensively cited and in conjunction with a sample library can be used to trigger complex mixtures and layers of timbre type. Included within OMN are Arco, Pizz, Col Legno, Harmonics, Pizzicato, String, Sul Ponticello, Sul Tasto, Bowing Techniques and Vibrato. Here's the complete build-in attributes listing: Reset norm ord nat non-trem sim ad-lib Strings Articulations arco-tasto tasto alto-tasto extr-tasto molto-tasto arco-ponte poco-ponte ponte molto-ponte da-ponte extr-ponte alto-ponte flaut spicc gettato ricochet jete crini arco arco-ord arco-lento tallone punta vib senza-vib con-vib vib-norm non-vib poco-vib molto-vib secco vib-ord legno legno-batt legno-tratto batt tasto-ponte tasto-ponte-tasto ponte-tasto-ponte ponte-tasto espr lh-pizz pizz pizz-nail snap pizz-ord pizz-trem slap lh-slap tap knock pizz-chit unis div tutti solo soli sulla-corda tutto-arco arm non-arm Bow ubow dbow Open String sul sul1 sul2 sul3 sul4 sul5 sulg suld sula sule sulc Brass / Wind flutter-tongue half-depressed-valves hit-on-mouthpiece insert-straight-mute-into-bell kiss mouthpiece-backwards mouthpiece-only play-and-sing silent-brass snap-with-a-finger-on-the-bell stop-mute-closed stop-mute-open stop-mute-wahwah-effect without-mouthpiece air-noise-f air-noise-h air-noise-k air-noise-p air-noise-s air-noise-sh air-noise-t without-tubings over-blow under-blow harsh-blow without-air low-noise-blow high-noise-blow finger-damp hum breathy Tongue frull tong1 tong2 tong3 tong-blocked tong-soft tong-hard Handbell hbmart Accents stacc stacs mart marc ten deta Harmonic harm harm2 Muting mute unmute open con-sord senza-sord via-sord Grace Note app app-h acc-h app. -app -app-h -acc-h -app. app-q acc-q -app-q -acc-q acc app-e acc-e acc. -acc -app-e -acc-e -acc. app-s acc-s app-t acc-t app-x acc-x -app-s -acc-s -app-t -acc-t -app-x -acc-x Arpeggio arp arp-up arp-down arp-adlib Trill tr1-s tr1 tr1-t tr1-x tr1-3e tr1-3s tr1-5q tr1-5e tr1-7q tr1-7e tr2-s tr2 tr2-t tr2-x tr2-3e tr2-3s tr2-5q tr2-5e tr2-7q tr2-7e ltr1-s ltr1-t ltr1 ltr1-x ltr1-3e ltr1-3s ltr1-5q ltr1-5e ltr1-7q ltr1-7e ltr2-s ltr2-t ltr2 ltr2-x ltr2-3e ltr2-3s ltr2-5q ltr2-5e ltr2-7q ltr2-7e TREMOLO trem-e trem-s trem trem-t trem-x trem-3e trem-3s trem-3t trem-5q trem-5e trem-5s trem-5t trem-7q trem-7e trem-7s trem-7t Two-Note-Tremolo ttrem-e ttrem-s ttrem ttrem-t ttrem-x ttrem-3e ttrem-3s ttrem-3t ttrem-5q ttrem-5e trem-5s trem-5t ttrem-7q ttrem-7e ttrem-7s ttrem-7t Fermata fermata fermata-s fermata-vs fermata-l fermata-vl Cesura cesura cesura2 cesura3 cesura4 cesura5 cesura6 Comma comma comma2 comma3 comma4 comma5 comma6 Mordent Upper mordent1 mordent1-x mordent1-t mordent2 mordent2-x mordent2-t Lower lmordent1 lmordent1-x lmordent1-t lmordent2 lmordent2-x lmordent2-t Upper Double dmordent1 dmordent1-x dmordent1-t dmordent2 dmordent2-x dmordent2-t Lower Double ldmordent1 ldmordent1-x ldmordent1-t ldmordent2 ldmordent2-x ldmordent2-t Turn Upper turn12 turn22 turn21 turn11 turn12-s turn22-s turn21-s turn11-s turn12-x turn22-x turn21-x turn11-x Lower lturn12 lturn22 lturn21 lturn11 lturn12-s lturn22-s lturn21-s lturn11-s lturn12-x lturn22-x lturn21-x lturn11-x Upper Classic cturn12 cturn22 cturn21 cturn11 cturn12-5e cturn22-5e cturn21-5e cturn11-5e Lower Classic lcturn12 lcturn22 lcturn21 lcturn11 lcturn12-5e lcturn22-5e lcturn21-5e lcturn11-5e KEY SLAP key-slap Harp bisb thin-pick between-tuning-peg-and-tuning-mechanism clang close-to-table dampened fingernail hand-on-the-corpus hand-on-the-strings knuckle-on-the-corpus semitone-downwards semitone-upwards wholetone-downwards wholetone-upwards pedal-noise tuning-wrench hit xylophone-tone Cue Notes (50% Size Note) cue Number num0 num1 num2 num3 num4 num5 num6 num7 num8 num9 num10 num11 num12 Finger dig1 dig2 dig3 dig4 dig5 Repeat repeat Ending end1 end2 end3 end4 end5 end6 end7 end8 end9 end10 Legato leg Tie tie Glissando gliss gliss2 gliss3 gliss4 kgliss kgliss-ch Octave Shifts 8va 8vb 15ma 15mb Pedals ped1 ped half-ped1 half-ped sost-ped1 sost-ped una-corda1 una-corda Hand ms md lh rh User Attributes The ADD-TEXT-ATTRIBUTES function allows you to add your own list of attribute names (playing techniques) to the system. (add-text-attributes '(ord-tasto "ord⟶tasto") '(tasto-ponte "sul tasto⟶pont.") ) Example: '(h c4 ppp> ord-tasto+leg cs5 pppp tasto-ponte)
  22. 3rd Element - Velocity

    Velocity Traditional staff notation has a collection 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. The items in this collection have specific pre-set data values attached and as such produce in MIDI play back differences of attack on the notes they accompany. OMN Notation: (q a4 ppppp) (q a4 pppp) (q a4 ppp) (q a4 pp) (q a4 p) (q a4 mp) (q a4 mf) (q a4 f) (q a4 ff) (q a4 fff) (q a4 ffff) (q a4 fffff) Dynamic The symbols classed as being Dynamic have a relative MIDI velocity value attached to them. The objective within OMN is to primarily to provide the notation for such symbols. OMN Notation: (q a4 cresc) (q a4 dim) (q a4 <) (q a4 >) (q a4 0<) (q a4 >0) (q a4 pfp) (q a4 pf) (q a4 fp) (q a4 sfp) (q a4 sf) (q a4 sff) (q a4 sfff) (q a4 sfz) (q a4 sffz) (q a4 sfffz) (q a4 rf) (q a4 rfz) (q a4 fz) (q a4 ffz) (q a4 fffz) Crescendo The collection titled Crescendo takes the Italian abbreviations for the common dynamic descriptions and places a < directly following the abbreviation. OMN Notation: (q a4 ppppp<) (q a4 pppp<) (q a4 ppp<) (q a4 pp<) (q a4 p<) (q a4 mp<) (q a4 mf<) (q a4 f<) (q a4 ff<) (q a4 fff<) (q a4 ffff<) Diminuendo The collection titled Diminuendo takes the Italian abbreviations for the common dynamic descriptions and places a > directly following the abbreviation. OMN Notation: (q a4 pppp>) (q a4 ppp>) (q a4 pp>) (q a4 p>) (q a4 mp>) (q a4 mf>) (q a4 f>) (q a4 ff>) (q a4 fff>) (q a4 ffff>) (q a4 fffff>) List of Symbols: ppppp pppp ppp pp p mp mf f ff fff ffff fffff ppppp< pppp< ppp< pp< p< mp< mf< f< ff< fff< ffff< fffff< ppppp> pppp> ppp> pp> p> mp> mf> f> ff> fff> ffff> fffff> 0< < > >0 cresc dim Sforzando pfp fpf pf fp ffp fffp sfp sfpp sfppp sffp sfffp sf sff sfff sffff sfz sffz sfffz fz ffz fffz rf rfz One Note Dynamic Symbols This notation is used in wind, brass and string performance to suggest a precise dynamic changes to take place on a single pitch. The symbols are particularly associated with the use of hand-held mutes in writing for trumpets and trombones. 0<ppppp 0<pppp 0<ppp 0<pp 0<p 0<mp 0<mf 0<f 0<ff 0<fff 0<ffff 0<fffff ppppp>0 pppp>0 ppp>0 pp>0 p>0 mp>0 mf>0 f>0 ff>0 fff>0 ffff>0 fffff>0 0<ppppp> 0<pppp> 0<ppp> 0<pp> 0<p> 0<mp> 0<mf> 0<f> 0<ff> 0<fff> 0<ffff> 0<fffff> <ppppp>0 <pppp>0 <ppp>0 <pp>0 <p>0 <mp>0 <mf>0 <f>0 <ff>0 <fff>0 <ffff>0 <fffff>0 0<ppppp>0 0<pppp>0 0<ppp>0 0<pp>0 0<p>0 0<mp>0 0<mf>0 0<f>0 0<ff>0 0<fff>0 0<ffff>0 0<fffff>0 <ppppp> <pppp> <ppp> <pp> <p> <mp> <mf> <f> <ff> <fff> <ffff> <fffff> >ppppp< >pppp< >ppp< >pp< >p< >mp< >mf< >f< >ff< >fff< >ffff< >fffff< ppppp<> pppp<> ppp<> pp<> p<> mp<> mf<> f<> ff<> fff<> ffff<> fffff<> ppppp>< pppp>< ppp>< pp>< p>< mp>< mf>< f>< ff>< fff>< ffff>< fffff>< ppppp<pppp ... ffff<fffff pppp>ppppp ... fffff>ffff ppppp<>ppppp ... ffff<>ffff pppp><pppp ... fffff><fffff ppppp<pppp>ppppp ... ffff<fffff>ffff pppp>ppppp<pppp ... fffff>ffff<fffff >0< 0<>0 <>0 0<> <> >< Examples: '((q d4f4bb4d5 f< leg c4eb4a4c5 leg bb3d4g4bb4 leg e c4eb4a4c5 leg d4f4ab4d5 ff leg) (q f4ab4d5f5 > leg e4g4bb4e5 leg h fs4a4d5 mf) (q c4ds4a4 p< leg bb3e4g4 leg b3d4fs4 f leg e3g3cs4 > leg) (h d3fs3d4 pp)) Figure 1 (M. Reger, Aus meinem Tagebuch, I, 3, 1904/12) '(t a3 p stacc a3 stacc a3 stacc a3 tie e a3 q... b3 t f h. gs4 mp (acc e e4 p f4 e4 d4) w e4) Figure 2 (K. Stockhausen, Mantra für 2 Pianisten, 1970) '((e b4 f) (w b4 sf leg) (q e4 marc+stacc+espr - - -e fs4 stacc) (w g4 sf leg) (q b3 stacc+marc - - -e ds4 stacc) (h e4 sf marc+leg q g3 stacc+marc -e a3 stacc) (h b3 sf leg q e3 stacc+marc -e fs3 stacc) ((leg q g3 marc e e3 -s fs3 ten))) Figure 3 (B. Smetana, Aus meinem Leben, Streichquartett e-Moll, 1876) '(((marc e e3 mp eb4 fs3 c3) s g3 stacc e fs2 < marc (stacc s g2 < 5q gs2 < d3 < cs4 < e4 < d3 <)) (e c3 < marc gb2 < marc (stacc 5q c3 < d3 < c3 < ab2 < g3 < d3 < cs4 < eb4 < a3 < bb2 < d3 < a2 < b2 < bb2 < c4 mf))) Figure 4 (J. Podrazik, Kritiken Nostalgia, 2004)
  23. 2nd Element - Pitch

    Pitch In OMN a pitch is written as a text symbol that combines a note’s lower-case letter name with its octave number. OMN uses the convention that c4 is ‘middle c’ , so numbered because of the note's position as the fourth C key on a standard 88-key piano keyboard. In fact the composer can go a little beyond the standard keyboard range because OMN takes in the MIDI range of 0 - 127 pitches. '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4) Figure 1 (Chromatic scale) In an ascending chromatic scale the convention is to notate the chromatic pitches in sharps. '(cs4 ds4 es4 fs4 gs4 as4 bs4) Figure 2 (Sharps) The sharp is written as an ’s’ symbol preceded by the letter of the diatonic pitch and then the octave number, thus cs4. '(cb4 db4 eb4 fb4 gb4 ab4 bb4) Figure 3 (Flats) The flat is written as an ’b’ symbol preceded by the letter of the diatonic pitch and then the octave number, thus db4.  '(c4 d4 e4 f4 g4 a4 b4) Figure 4 (C major) In a diatonic C major scale where no chromatic notes exist the letter name and the octave number suffice. When transpositions are made using an algorithmic function the note spelling will often mix sharps and flats to seek the best compromise. 12 Tone Row '(eb4 b4 g4 cs4 c4 fs4 e4 bb4 a4 f4 ab4 d4) Figure 5 (A. Berg, Wozzeck, Act 1, Scene 4) In a 12 Tone Row sharp and flat spellings are common. In OMN they can be freely mixed to enable intervallic analysis to be undertaken. (pitch-to-interval '(eb4 b4 g4 cs4 c4 fs4 e4 bb4 a4 f4 ab4 d4)) => (8 -4 -6 -1 6 -2 6 -1 -4 3 -6) Opusmodus can make conversions to and from interval sets. '(c4 e4 g4 cs4 a4 b4 f4 ds4 d4 fs4 gs4 as4) Figure 6 (A. Schönberg, Opus 28, Number 1) This row is taken from Schoenberg’s Three Satires for mixed chorus. The song is directed at those exploiting tonal and atonal principles alike without being aware of origins or consequences. The text of the song Am Scheideweg corresponds to a C-major triad which is worked into this twelve-tone row and the row’s chromatic spelling is chosen to make the vocal pitching of intervals easier. Chord To create a chord, individual pitches are brought together as a single entity. '(q c4e4g4 e4g4c5 g4c5e5 c4e4a4 e4a4c5 a4c5e5) Figure 7 (Chords) The ordering of pitches within a chord grouping does not have to reflect ascending or descending patterns to be displayed correctly in notation. This means algorithmic constructions of chords can be freely undertaken.  '(q g2d3g3b3 a2c3fs3a3 b2d3g3) Figure 8 (Chords) As with individual pitches, chords adopt sharp or flat spellings as they occur in a list. Examples: '((e g5g3 g5g3 fs5fs3) (e e5e3 g5g3 e5e3) (e a4a2 a5a3 g5g3) (e fs5fs3 a5a3 fs5fs3) (e b4b2 b5b3 a5a3) (e g5g3 b5b3 g5g3) (e e5e3 e6e4 d6d4) (s cs6cs4 e6e4 e6e4 cs6cs4 cs6cs4 a5a3) (s a5a3 cs6cs4 cs6cs4 a5a3 a5a3 fs5fs3) (s fs5fs3 a5a3 a5a3 fs5fs3 fs5fs3 d5d3) (e d5d3 -q) (e a4a2 -q) (e d4d2 -q)) Figure 9 (J. S. Bach, Brandenburg Concerto No.4 in G major, BWV 1049, 1720) '((s d5f5b5 f e5g5c6 e f5a5d6 s g5b5e6 f5a5d6 e5g5c6 d5f5b5) (e c5e5a5 c5e5a5 q d5f5b5 marc) (s d5f5b5 e5g5c6 f5a5d6 g5b5e6 e f5a5d6 s e5g5c6 d5f5b5) (e c5e5a5 c5e5a5 q d5f5b5 marc)) Figure 10 (I. Strawinsky, Petruschka, 1911/21) '((t cs5 pp bs4 < cs5 < dn5 > cs5 > bn4 > gs4 es4 -s fermata) (t gs4 fss4 gs4 an4 gs4 fss4 en4 cs4 -s fermata)) Figure 11 (L. Janáček, In the Mists, 1914)
  24. 1st Element - Length

    Length The OMN language provides for a textual equivalent to the many symbols used in traditional staff notation. In the parameter of LENGTH these symbols represent exact durations of virtual time.  Figure 1 Here are the standard values of note-lengths. The most commonly-used are represented in the OMN language by the first letter of their American arithmetic name, so w is a whole-note, h is a half-note, q is a quarter note and so on.  Figure 2 Here are the standard values of rest-lengths.The most commonly-used are represented in the OMN language by the first letter of their American arithmetic name but with the prefix of a - (minus) sign, so -w is a whole-note rest, -h is a half-note rest, -q is a quarter note rest and so on. To assist with multiple rests -12 will produce 12 bars of whole-note rests. '(q q q)  Figure 3 Here is a list of three quarter-notes. The list has to begin with a '(a quote) and be enclosed by parentheses ( ). '(q -e e q)  Figure 4 The example above shows note-lengths and rest-lengths in combination. Length 8 will produce 8 bars of whole-notes lengths. '(8 h q q)  Figure 5 Length -8 will produce 8 bars of whole-notes rests. '(-8 h q q)  Figure 6 Dotted Length Symbol: . .. ... OMN dots are used the same way as in the standard notation. The maximum dots in OMN length is 3 (q...). Tuplet The OMN system of rhythmical notation is initially constructed on the principle of duple divisions. Here the individual note-lengths stand for their face value. w = (h h) h = (q q) q = (e e) and so on. The other divisional types must make do by borrowing from this binary series: duplet (2), triplet (3), quadruplet (4), quintuplet (5), sextuplet (6), septuplet (7), octuplet (8), nontuplet (9) etc… When we write these values we use the same note-values as the immediately preceding binary division. '((3w 3w 3w) (3h 3h 3h) (3q 3q 3q))  Figure 7 This means for example that a triplet division of the quarter note uses eighth notes. '((5w = = = =) (5h = = = =) (5q = = = =))  Figure 8 This means for example that a quintuple division of the quarter note uses sixteenth notes. Repeat Note: = Rest: - '((e. s q =) (e. s q =))  Figure 9 The use of repeat symbols for note-lengths and rest-lengths is fundamental to OMN. Its use can give score scripts a very particular style and appearance. Composers will soon discover different approaches will suit particular situations when writing for percussion or in the notation of repetitive textures. '((q -e = q) (q - e. t =))  Figure 10 If a note-length repeat symbol follows a rest-length a note-length is given. '(s e - s - e. -s e s -e)  Figure 11 The use of the rest-length repeat can bring clarity to the visual layout of a phrase. Compound Length Length composed of two or more separate length elements; '(qs s e h)  Figure 12 '(hqs -s qe)  Figure 13 Tie Symbol: _ Attribute: tie (omn form) OMN has two types of ties. The first one is a tie length symbol _ and the second one is the attribute tie. '((h_e e q) (q_3q 3q 3q -h))  Figure 14 The tie symbol is used when a tie is necessary in the middle of a list. '((h_e c4 e_q tie) (q_3q c4 3q 3q_h))  Figure 15 The tie as an attribute is necessary when a tie goes across one list to join a length symbol in an adjacent list. Extended Length Note: == Rest: -- '(s == -- = - === - == = --)  Figure 16 Both note-lengths and rest-lengths can be extended simply by bringing the symbols together in the same way pitches come together to produce chords. In percussion writing this can provide further clarity because only one length value needs to be set at the beginning of the list. '(3q == -e = s - = - == --)  Figure 17 Extended Periodic Length '(s== = = = = =)  Figure 18 '(5q== = = 7q=== = = =)  Figure 19 '(5q== - = 7q=== = - =)  Figure 20 '(s== == -- = - === - == = --)  Figure 21 Ratios OMN notation allows the use of ratio values if more convenient. '((q = e = h) (q - e. t =)) same as: '((1/4 1/4 1/8 1/8 1/2) (1/4 -1/4 3/16 1/32 1/32))  Figure 22 Many functions automatically output ratios as a default rather than OMN symbols. This can usually be changed by setting a keyword within the function such as :omn t. '((q_e e q) (q -3q = = h)) same as: '((1/4_1/8 1/8 1/4) (1/4 -1/12 1/12 1/12 1/2))  Figure 23 The tie mechanism in both its forms works with ratios. Examples: '((e 3e = = e 3e = = e =) (e 3e = = e 3e = = = = =)) Figure 24 (M. Ravel, Bolero, 1928) '((s a4 d5 fs4 d5 g4 d5) (s a4 d5 fs4 d5 g4 d5) (s a4 d5 cs5 b4 a4 g4) (s fs4 d4 e4 c4 e d4)) Figure 25 (G. Ph. Telemann, 12 Fantasie per clavicembalo TWV 33, n.1, 1732) '((e e5 3e g5 bb4 g4 e a4) (3e a5 c4 a4 e bb4 3e g5 bb4 g4) (s a4 c6 c6 a5 a5 f5) (s f5 d5 d5 c5 d5 bb5)) Figure 26 (D. Scarlatti, Sonata B-Dur, 1736) '((3e gb6 bb6 db6 gb6 eb6 gb6 db6 gb6 bb5 db6 gb5 bb5) (3e gb5 bb5 db5 gb5 eb5 gb5 db5 gb5 bb4 db5 gb4 bb4) (3e db4 db5 ab4 db5 ab4 ab5 ab4 ab5 eb5 ab5 eb5 eb6) (3e eb5 eb6 ab5 eb6 ab5 ab6 ab5 ab6 db6 ab6 db6 db7)) Figure 27 (F. Chopin, Etudes, Op. 10, No. 5, 1833) '((e b6as7d7cs7 ff a6as7 p b6c6b5b4as5 mp e5f4b4a3 ffff s. ds3cs3c4b3 ff t c4fs3as2b2 mp) (3e= ds1a0gs1as1 mf a1gs1d1cs2d2ds2 ffff tie 3s a1gs1d1cs2d2ds2 ffff 3e d4c4 mp s b4f5a4as4d4ds4 ffff e cs2g1) (3h d1c1b0as0 pp as0c1fs1f1e1 b2cs3c4cs4 mf 3q d4cs4ds5e4fs4 mp f7e6 c6b5fs5c5e5as4 mf)) Figure 26 (J. Podrazik, Piano Study No.3, 2013)