Jump to content
  • Sign in to follow this  

    Lesson 10. Gesture


    opmo



    Annotation

    This piece uses a GEN-WHITE-NOISE generator to create a complete musical gesture. The score-script includes the function LIST-PLOT to show the vector generation in its raw state, and then in a ‘smoothed’ version able to reduce the interval distance between pitches.

    (list-plot
     (vector-smooth 0.1 (gen-white-noise 50 :seed 2613))
     :style :fill)

     

    Screen Shot 2017-12-05 at 11.30.58.png

     

    (setf line-gesture (vector-smooth 0.1 (gen-white-noise 50 :seed 2613)))
    => #(0.6547479 0.6547479 0.6159203 0.6172269 0.5810097 . . .)

     

    It’s not until we get to the expression below that the conversion into pitches takes place with VECTOR-MAP. Notice also the output is divided by the function GEN-DIVIDE into 10 bars of 5/8.

    (setf line-rnd (gen-divide 5 (vector-map line line-gesture)))
    => ((c5 c5 b4 b4 b4) (g4 fs4 g4 g4 fs4) (fs4 fs4 f4 f4 f4)
        (fs4 f4 fs4 f4 fs4) (f4 f4 f4 f4 f4)
        (fs4 fs4 fs4 fs4 f4) (cs4 cs4 cs4 cs4 cs4)
        (c4 cs4 f4 cs4 f4) (f4 f4 fs4 fs4 fs4)
        (f4 fs4 g4 fs4 fs4))

     

    In the left-hand bass part we use RND-PICK to pick 10 notes from the row of bass notes. Again GET-SPAN is used to ‘add-up’ the length values of each bar/list.

    (setf bass-line (gen-eval 10 '(rnd-pick (mclist bass)) :seed 11))
    => ((g2) (fs2) (cs2) (c2) (cs2) (g2) (f2) (f2) (fs2) (c3))
    
    (setf bass-rhythm (get-span rhythm))
    => (5/8 5/8 5/8 5/8 5/8 5/8 5/8 5/8 5/8 5/8)


    Score

    (setf line '(c4 cs4 f4 fs4 g4 b4 c5))
    (setf bass (pitch-transpose -24 line))
    
    #| Graph
    (list-plot (gen-white-noise 50 :seed 2613))
    (list-plot (vector-smooth  0.1 (gen-white-noise 50 :seed 2613)) :style :fill)
    |#
    
    (setf line-gesture (vector-smooth 0.1 (gen-white-noise 50 :seed 2613)))
    (setf line-rnd (gen-divide 5 (vector-map line line-gesture)))
    (setf rhythm (span line-rnd '(e)))
    (setf bass-line (gen-eval 10 '(rnd-pick (mclist bass)) :seed 11))
    (setf bass-rhythm (get-span rhythm))
    (setf dynamics (mclist '(f p f p ff)))
    (setf dynamics-spanned (span line-rnd dynamics))
    
    (setf line-1 (make-omn 
                  :length rhythm
                  :pitch line-rnd
                  :velocity dynamics-spanned))
    
    (setf bass-1 (make-omn 
                  :length bass-rhythm
                  :pitch bass-line
                  :velocity dynamics-spanned))
    
    (setf ts-list (get-time-signature line-1 :group '((5))))
    
    (def-score lesson-10
               (:key-signature 'chromatic
                :time-signature ts-list
                :tempo 100
                :layout (piano-layout 'piano-rh 'piano-lh))
      
      (piano-rh
       :omn line-1
       :channel 1
       :sound 'gm
       :program 'acoustic-grand-piano)
      
      (piano-lh
       :omn bass-1)
      )


    Notation

    Screen Shot 2017-12-05 at 11.34.34.png

     

    Next page Lesson 11. Adding an Inner Part

    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...