Jump to content
  • Sign in to follow this  

    Lesson 3. Defining Chords


    opmo



    Annotation

    So this is how chords are made: by compressing pitches together!

    (setf chords '(c4cs4fs4 g4c5))

     

    There are ways of making chords from pitch lists using system functions like GEN-CHORD, but it’s a little easier for this example to simply write it out!

    (setf chord-lengths (span lengths chords))

     

    This expression isn’t strictly necessary as the rhythm is going to be the same for both hands of the piano. But try the Audition tool to hear the SPAN of the rhythm onto the chords: select the following code in the Composer panel and press ⌘1 to hear it.

    (setf piano-lefthand
          (make-omn 
           :length lengths
           :pitch chords
           :velocity'(mp)))
    => (e c4cs4fs4 mp g4c5 c4cs4fs4 g4c5 c4cs4fs4)

     

    Above is the output of the MAKE-OMN function bringing together the three parameters in a single line of script. Note the position of the parameters of length e, pitch c4cs4fs4 and velocity mp. If we’re not going to change the rhythm and the dynamics we don’t have to state them again for each pitch in the list. Finally, you may have notice in the notation that pitches c4 and cs4 don’t look comfortable together as a cluster. So try this and look at the result in notation with ⌘1.

    (setf chords (respell '(c4cs4fs4 g4c5)))


    Score

    (setf pitches '(c4 cs4 fs4 g4 c5))
    (setf transposed-pitches (pitch-transpose -24 pitches))
    (setf chords (respell '(c4cs4fs4 g4c5)))
    (setf lengths (span pitches '(e)))
    (setf chord-lengths (span lengths chords))
    
    (setf piano-righthand
          (make-omn
           :length lengths
           :pitch chords
           :velocity '(mp)))
           
    (setf piano-lefthand
          (make-omn
           :length lengths
           :pitch transposed-pitches
           :velocity '(f)))
           
    (setf timesigs (get-time-signature lengths))
    
    (def-score lesson-3
               (:key-signature 'chromatic
                :time-signature timesigs
                :tempo 100
                :layout (piano-layout 'piano-rh 'piano-lh))
      
      (piano-rh
       :omn piano-righthand
       :channel 1
       :sound 'gm
       :program 'acoustic-grand-piano)
      
      (piano-lh
       :omn piano-lefthand
       :channel 1)
      )


    Notation

    Screen Shot 2017-12-04 at 20.57.49.png

    Next page Lesson 4. Rhythm, Repeats and Random Seeds

    Go back to Reference page.

    Edited by opmo


    Sign in to follow this  



  • 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 pro

    opmo
    opmo
    OMN The Language 0
  • 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

    opmo
    opmo
    Tutorial Guide 0
  • CLM Installation

    Contents CLM Installation Command Line Tools Load and Compile Instruments CLM Installation Common Lisp Music, by William Schottstaedt is a powerful sound synthesis language implemented in Lisp and C. CLM is essentiall

    opmo
    opmo
    CLM Examples 0
×
×
  • Create New...