Jump to content
Sign in to follow this  
Stephane Boussuge

LessThanEigth for String Quartet and Clarinet

Recommended Posts

A score for String Quartet and Clarinet.

 

 Global random seed initialisation for the whole score.

(init-seed 37929)

 

Harmonic paths for each section of the piece.

(setf path1 (tonality-series '(chromatic) :root (rnd-sample 64 '(d4 e4 fs4 gs4 as4))))
(setf path2 (tonality-series '(chromatic) :root (rnd-sample 64 '(c4 ds4 f4 g4 a4))))
(setf path3 (tonality-series '(chromatic) :root (rnd-sample 64 '(c4 ds4 f4 g4 a4))))
(setf path4 (tonality-series '(chromatic) :root (rnd-sample 64 '(d4 e4 fs4 gs4 as4))))
(setf path5 (tonality-series '(chromatic) :root (rnd-sample 64 '(c4 ds4 f4 g4 a4))))
(setf path6 (tonality-series '(chromatic) :root (rnd-sample 64 '(c4 ds4 f4 g4 a4))))
(setf path7 (tonality-series '(chromatic) :root (rnd-sample 64 '(c4 ds4 f4 g4 a4))))
 
Part1 (13-77)

Definition of size (number of bars) for the section.

(setf size 64)
 
Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0)))
(setf vnmuteplay (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1)))
(setf vcmuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0)))

 

Generation and smoothing of vectors for velocity.

(setf velvect (vector-smooth 0.41 (gen-white-noise size)))
(setf clavel (mclist (vector-to-velocity 'mp 'ff velvect)))
(setf rvel (mclist (vector-to-velocity 'p 'f velvect)))

 

Definition of basics rhythmics cells.

(setf baselength '((q. q q)
                   (e e e e e e e)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e e e q)))

 

Conditional articulation based on lengths.

(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))
 
Cello
Ostinato
Pitch def. Random sample of integer, conversion to pitch and append 3 repeated c2 pitch in front.
(setf vc1.pitch (gen-loop 
                 size 
                 (append 
                  '(c2 = =)
                  (integer-to-pitch
                   (rnd-sample 4 (gen-integer -24 -6))))))

 

Length

(setf vc1.length (gen-repeat size '((e e e e e e e))))

 

Articulation

(setf vc1.art
 (gen-repeat size '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

OMN generation

(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.length
               :articulation vc1.art
               :velocity rvel))

 

Mapping

(setf vc1.map (tonality-map path1 vc1.omn))

 

Ambitus

(setf vc1 (ambitus '(c2 c4) vc1.map))
 
Alto
Pitch def.
(setf alt.pitch (gen-loop 
                 size 
                 (integer-to-pitch 
                  (rnd-sample 7 (gen-integer -12 0)))))

 

Length

(setf alt.len (gen-repeat size '((e e e e e e e)))) 

 

Articulation

(setf alt.art
 (gen-repeat size '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

OMN generation
(setf alt1.omn (make-omn
                :pitch alt.pitch
                :length alt.len
                :articulation alt.art
                :velocity rvel))

 

Mapping
(setf alt.map (tonality-map path1 alt1.omn))

 

Ambitus constraint
(setf alt1 (ambitus '(c3 g5) alt.map))

 

Violin
Pitch
(setf vn1.pitch (gen-loop 
                 size 
                 (integer-to-pitch 
                  (rnd-sample 7 (gen-integer -5 12)))))

 

Random choice of length cells in baselength list.
(setf vn1.len (rnd-sample size baselength))

 

Articulation
(setf vn1.art (make-art vn1.len))

 

OMN assembly
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :articulation vn1.art
               :velocity rvel))

 

Mapping
(setf vn1.map (tonality-map path1 vn1.omn))

 

Ambitus constraint
(setf vn1 (ambitus '(g3 g6) vn1.map))

 

Clarinet
Pitch generation from vector
(setf clavect (gen-white-noise 256))

 

Convert vector to pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Random choice of length cells in baselength list.
(setf clalen (rnd-sample size baselength))

 

Articulation
(setf claart (make-art clalen))

 

OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity clavel
                :articulation claart))

 

Mapping
(setf cla1.map (tonality-map path1 cla1.omn))

 

Ambitus 
(setf cla1.amb (ambitus '(a3 g5) cla1.map))

 

Adding the rests
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))

 

Time signatures
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Now we define the score
(def-score LessThanEight-1
           (:title "Less Than Eight - I"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part2 (78-142)
Definition of size (number of bars) for the section.
(setf size 64)

 

Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0)))
(setf vnmuteplay (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1)))
(setf vcmuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0)))

 

Generation and smoothing of vectors for velocity.
(setf velvect (vector-smooth 0.41 (gen-white-noise size)))
(setf clavel (mclist (vector-to-velocity 'mp 'ff velvect)))
(setf rvel (mclist (vector-to-velocity 'p 'f velvect)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e q -q)))

 

Conditionnal articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Cello 
Pitch
(setf vc1.pitch (append '(c2 = =)
                        (integer-to-pitch
                         (rnd-sample 4 (gen-integer -24 -6)))))

 

Random choice of length cells in baselength list.
(setf vc1.len (rnd-sample size baselength))

 

Articulation
(setf vc1.art (make-art vc1.len))

 

OMN
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :velocity rvel
               :articulation vc1.art))

 

Mapping
(setf vc1.map (tonality-map path2 vc1.omn))

 

Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.map))

 

Viola
Pitch
(setf alt1.pitch (integer-to-pitch (rnd-sample 7 (gen-integer -12 0))))

 

Random choice of length cells in baselength list.
(setf alt1.len (rnd-sample size baselength))

 

Articulation
(setf alt1.art (make-art alt1.len))

 

OMN
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :velocity rvel
                :articulation alt1.art))

 

Mapping
(setf alt1.map (tonality-map path2 alt1.omn))

 

Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.omn))

 

Violin
Pitch
(setf vn1.pitch (gen-loop 
                 size
                 (integer-to-pitch (rnd-sample 7 (gen-integer -5 12)))))

 

Random choice of length cells in baselength list.
(setf vn1.len (rnd-sample size baselength))

 

Articulation
(setf vn1.art (make-art vn1.len))

 

OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :articulation vn1.art
               :velocity rvel))

 

Mapping
(setf vn1.map (tonality-map path2 vn1.omn))

 

Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.map))

 

Clarinet
Pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Random choice of length cells in baselength list.
(setf clalen (rnd-sample size baselength))

 

Articulation
(setf claart (make-art clalen))

 

OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity clavel
                :articulation claart))

 

Mapping
(setf cla1.map (tonality-map path2 cla1.omn))

 

Ambitus
(setf cla1.amb (ambitus '(a3 g5) cla1.map))

 

Adding the rests
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))

 

Time signatures
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for Part 2
(def-score LessThanEight-2
           (:title "Less Than Eight - II"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part3 (143-175)
Definition of size (number of bars) for the section.
(setf size 32)

 

Adding one bar rest between part2 and part3 (cons 0)
Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter.
(setf clamuteplay (cons 0 (gen-trim size '(0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0))))
(setf vnmuteplay (cons 0 (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1))))
(setf vamuteplay (cons 0 (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1))))
(setf vcmuteplay (cons 0 (gen-trim size '(1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0))))

 

Generation and smoothing of vectors for velocity.
(setf velvect (vector-smooth 0.41 (gen-white-noise size)))
(setf clavel (mclist (vector-to-velocity 'mp 'ff velvect)))
(setf rvel (mclist (vector-to-velocity 'p 'f velvect)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (q. q. -e)
                   (h q.)
                   (h. -e)
                   (-e q q q)
                   (-q q e e e)
                   (h. e)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  ((3/8 3/8 -1/8) '(leg+marc leg))
  ((1/2 3/8) '(leg+marc leg))
  ((-1/4 1/4 1/8 1/8 1/8) '(leg stacc stacc stacc))
  (otherwise '(leg)))

 

Shared material for the section
Smoothed vector generation from white noise
(setf pvect (vector-smooth 0.84 (gen-white-noise 256)))

 

Pitch from smoothed vector
(setf phpch (vector-to-pitch '(g3 g5) pvect))

 

Random choice of length cells in baselength list.
(setf phlen (rnd-sample size baselength))
 
Articulation
(setf phart (make-art phlen))
 
Cello
OMN
(setf vc1.omn (make-omn
               :pitch phpch
               :length phlen
               :velocity rvel
               :articulation phart))
 
Mapping
(setf vc1.map (tonality-map path3 vc1.omn))
 
Tie repeated notes
(setf vc1.ft (filter-tie vc1.map))
 
Ambitus constraint
(setf vc1 (ambitus '(c2 c4) vc1.ft))

 

Viola
OMN with rotation on pitch and length
(setf alt1.omn (make-omn
                :pitch (gen-rotate 1 phpch)
                :length (gen-rotate 1 phlen)
                :velocity rvel
                :articulation phart))

 

Mapping
(setf alt1.map (tonality-map path3 alt1.omn))
 
Tie repeated notes
(setf alt1.ft (filter-tie alt1.map))
 
Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.ft))

 

Violin
OMN with rotation on pitch and length
(setf vn1.omn (make-omn
              :pitch (gen-rotate 2 phpch)
              :length (gen-rotate 2 phlen)
              :velocity rvel
              :articulation phart))

 

Mapping
(setf vn1.map (tonality-map path3 vn1.omn))
 
Tie repeated notes
(setf vn1.ft (filter-tie vn1.map))
 
Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.ft))

 

Clarinet
Vector generation
(setf clavect (gen-white-noise 256))

 

Pitch from vector
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Random choice of length cells in baselength list.
(setf clalen (rnd-sample size baselength))
 
Articulation
(setf claart (make-art clalen))
 
OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity clavel
                :articulation claart))
 
Mapping
(setf cla1.map (tonality-map path3 cla1.omn))
 
Tie repeated notes.
(setf cla1.ft  (filter-tie cla1.map))
 
Ambitus constraint
(setf cla1.amb (ambitus '(a3 g5) cla1.ft))

 

Adding the rests
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))
 
Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for part 3
(def-score LessThanEight-3
           (:title "Less Than Eight - III"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Introduction (1-12)
 
Number of bars for introduction
(setf size 24)
Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1)))
(setf vnmuteplay (gen-trim size '(0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1)))
(setf vcmuteplay (gen-trim size '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e e e q)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Cello
Pitch
(setf vc1.pitch (gen-loop 
                 size
                 (append '(c2 = =)
                         (integer-to-pitch
                          (rnd-sample 4 (gen-integer -24 -6))))))

 

Length
(setf vc1.len (gen-repeat size '((e e e e e e e))))

 

Velocity 
(setf vc1.vel (gen-repeat size '((p))))

 

Articulation
(setf vc1.art
 (gen-repeat size '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

OMN assembly
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :velocity vc1.vel
               :articulation vc1.art))
 
Mapping
(setf vc1.map (tonality-map path1 vc1.omn))
 
Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.map))

 

Viola
Pitch
(setf alt1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -12 0)))))

 

Length
(setf alt1.len (gen-repeat size '((e e e e e e e))))

 

Velocity
(setf alt1.vel (gen-repeat size '((p))))

 

Articulation
(setf alt1.art
 (gen-repeat size '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

OMN assembly
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :velocity alt1.vel
                :articulation alt1.art))
 
Mapping
(setf alt1.map (tonality-map path1 alt1.omn))
 
Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.map))

 

Violin
Pitch
(setf vn1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -5 12)))))

 

Length (random choice in baselength list)
(setf vn1.len (rnd-sample size baselength))
 
Articulation
(setf vn1.art (make-art vn1.len))
 
Velocity
(setf vn1.vel (gen-repeat size '((p))))

 

OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :velocity vn1.vel
               :articulation vn1.art))
 
Mapping
(setf vn1.map (tonality-map path1 vn1.omn)) 
 
Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.map))

 

Clarinet
White-noise vector generation
(setf clavect (gen-white-noise 256))

 

Transforming vector to pitch
(setf cla1.pitch (vector-to-pitch '(g3 c5) clavect))

 

Length
(setf cla1.len (rnd-sample size baselength))
 
Articulation
(setf cla1.art (make-art cla1.len))
 
Velocity
(setf cla1.vel (gen-repeat size '((mp))))

 

OMN
(setf cla1.omn (make-omn
                :pitch cla1.pitch
                :length cla1.len
                :velocity cla1.vel
                :articulation cla1.art))
 
Mapping
(setf cla1.map (tonality-map path1 cla1.omn))
 
Ambitus
(setf cla1.amb (ambitus '(a3 g5) cla1.map))

 

Adding some rest
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))
 
Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for Introduction
(def-score LessThanEight-intro
           (:title "Less Than Eight - Intro"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part4 (tutti) (176-184)
 
Number of bars (size) for the section
(setf size 8)

 

Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vnmuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vcmuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e e e q)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Global length generation (random choice in baselength list) for all instruments (tutti).
(setf tuttilen (rnd-sample size baselength))
 
Cello
Pitch
(setf vc1.pitch
      (append '(c2 = =)
              (integer-to-pitch
               (rnd-sample 4 (gen-integer -24 -6)))))

Length

(setf vc1.len tuttilen)
 
Articulation
(setf vc1.art (make-art vc1.len))
 
Velocity
(setf vc1.vel (gen-repeat size '((f))))

 

OMN
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :velocity vc1.vel
               :articulation vc1.art))
 
Mapping
(setf vc1.map (tonality-map path4 vc1.omn))
 
Tie repeated notes
(setf vc1.ft (filter-tie vc1.map))
 
Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.ft))

 

Viola
Pitch
(setf alt1.pitch (integer-to-pitch (rnd-sample 7 (gen-integer -12 0))))

 

Length
(setf alt1.len tuttilen)
 
Articulation
(setf alt1.art (make-art vc1.len))
 
Velocity 
(setf al1.vel (gen-repeat size '((f))))

 

OMN
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :velocity alt1.vel
                :articulation alt1.art))
 
Mapping
(setf alt1.map (tonality-map path4 alt1.omn))
 
Tie repeated notes
(setf alt1.ft (filter-tie alt1.map))
 
Ambitus 
(setf alt1 (ambitus '(c3 g5) alt1.ft))

 

Violin
Pitch
(setf vn1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -5 12)))))

 

Length
(setf vn1.len tuttilen)
 
Articulation
(setf vn1.art (make-art vn1.len))
OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :velocity '((f))
               :articulation vn1.art))

 

Mapping
(setf vn1.map (tonality-map path4 vn1.omn))
 
Tie repeated notes
(setf vn1.ft (filter-tie vn1.map))
 
Ambitus 
(setf vn1 (ambitus '(g3 g6) vn1.ft))

 

Clarinet
Pitch
Vector generation 
(setf clavect (gen-white-noise 256))

 

Vector-to-pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Length
(setf clalen tuttilen)
 
Articulation
(setf claart (make-art clalen))
 
Velocity
(setf clavel (gen-repeat size '((ff))))

 

OMN
(setf cla1.omn 
              (make-omn
               :pitch clapitch
               :length clalen
               :velocity clavel
               :articulation claart))
 
Mapping
(setf cla1.map (tonality-map path4 cla1.omn))
 
Tie repeated notes
(setf cla1.ft (filter-tie cla1.map))
 
Ambitus
(setf cla1 (ambitus '(a3 g5) cla1.ft))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))
 
Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition
(def-score LessThanEight-4
           (:title "Less Than Eight - IV"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part5 (185-207)
 
Number of bars (size) for the section
(setf size 22)

 

Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0)))
(setf vnmuteplay (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1)))
(setf vcmuteplay (gen-trim size '(0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0)))

 

Generate a white noise vector and smooth it.
(setf velvect (vector-smooth 0.41 (gen-white-noise size)))

 

Map the vector to dynamics value (velocity)
(setf clavel (mclist (vector-to-velocity 'mp 'ff velvect)))
(setf rvel (mclist (vector-to-velocity 'p 'f velvect)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e q -q)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Clarinet
Pitch
Vector generation from white noise
(setf clavect (gen-white-noise 256))

 

Map the vector to pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Random choice of length celles in baselength list.
(setf clalen (rnd-sample size baselength))
 
Articulation
(setf claart (make-art clalen))
 
OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity clavel
                :articulation claart))
 
Mapping
(setf cla1.map (tonality-map path5 cla1.omn))
 
Ambitus 
(setf cla1.amb (ambitus '(a3 g5) cla1.map))

 

Adding rest
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Cello 
Pitch
(setf vc1.pitch (gen-rotate 1 clapitch))

 

Length
(setf vc1.len (gen-rotate 1 clalen))

 

Articulation
(setf vc1.art (make-art vc1.len))
 
OMN
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :velocity rvel
               :articulation vc1art))
 
Mapping
(setf vc1.map (tonality-map path5 vc1.omn))
 
Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.omn)) 

 

Viola
Pitch
(setf alt1.pitch (gen-rotate 2 clapitch))

 

Length
(setf alt1.len (gen-rotate 2 clalen))

 

Articulation
(setf alt1.art (make-art alt1.len))
 
OMN assembly
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :velocity rvel
                :articulation alt1.art))
 
Mapping
(setf alt1 (tonality-map path5 alt1.omn))
 
Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.omn))

 

Violin
Pitch
(setf vn1.pitch (gen-rotate 3 clapitch))

 

Length
(setf vn1.len (gen-rotate 3 clalen))

 

Articulation
(setf vn1.art (make-art vn1.len))
 
OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :velocity rvel
               :articulation vn1.art))
 
Mapping
(setf vn1.map (tonality-map path5 vn1.omn))
 
Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.omn))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))
 
Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for part 5
(def-score LessThanEight-5
           (:title "Less Than Eight - V"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part6 (208-272)
 
Number of bars (size) for the section
(setf size 64)

 

Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0)))
(setf vnmuteplay (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1)))
(setf vcmuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0)))

 

Generate a white noise vector and smooth it.
(setf velvect (vector-smooth 0.41 (gen-white-noise size)))

 

Map the vector to dynamics value (velocity)
(setf clavel (mclist (vector-to-velocity 'mp 'ff velvect)))
(setf rvel (mclist (vector-to-velocity 'p 'f velvect)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e e e q)
                   (s s s s s s s s s s s s s s)
                   (s s s s s s s s q -e)
                   (q s s s s s s e e)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Cello
Pitch
(setf vc1.pitch (gen-loop 
                 size
                 (append '(c2 = =)
                         (integer-to-pitch
                          (rnd-sample 4 (gen-integer -24 -6))))))

 

Length
(setf vc1.len (gen-repeat size '((e e e e e e e))))

 

Articulation 
(setf vc1.art
 (gen-repeat size '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

Velocity
(setf vc1.vel rvel)
 
OMN
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :articulation vc1.art
               :velocity vc1.vel))
 
Mapping
(setf vc1.map (tonality-map path6 vc1.omn))
 
Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.map))

 

Viola
Pitch
(setf alt1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -12 0)))))

 

Length
(setf alt1.len (gen-repeat size '((e = = = = = =))))

 

Articulation
(setf alt1.art (gen-repeat 
                size
                '((stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))))

 

OMN
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :articulation alt1.art))
 
Mapping
(setf alt1.map (tonality-map path6 alt1.omn))
 
Remove repetitions
(setf alt1.rpt (filter-repeat 1 alt1.map))

 

Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.rpt))

 

Violin
Pitch
(setf vn1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -5 12)))))

 

Length
(setf vn1.len (rnd-sample size baselength))
 
Articulation
(setf vn1.art (make-art vn1.len))
 
Dynamics (velocity)
(setf vn1.vel rvel)
 
OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1.len
               :articulation vn1.art
               :velocity vn1.vel))
 
Mapping
(setf vn1.map (tonality-map path6 vn1.omn))
 
Remove repetitions
(setf vn1.rpt (filter-repeat 1 vn1.map))

 

Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.rpt))

 

Clarinet
Pitch
White noise vector generation
(setf clavect (gen-white-noise 256))
 
Map vector to pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Random selection of rhytmics cells in baselength list
(setf clalen (rnd-sample size baselength))
 
Articulation
(setf claart (make-art clalen))
 
OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity clavel
                :articulation claart))
 
Mapping
(setf cla1.map (tonality-map path6 cla1.omn))
 
Tie repeated notes
(setf cla1.ft (filter-tie cla1.map))
 
Ambitus
(setf cla1.amb (ambitus '(a3 g5) cla1.ft))

 

Adding some rest
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))
 
Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for part 6
(def-score LessThanEight-6
           (:title "Less Than Eight - VI"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Part7 (coda) (273-281)
 
Number of bars (size) for the section
(setf size 8)
 
Binary Mute / Play system for each instrument.
GEN-TRIM will extend the duration of the binary list until size parameter. 
(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vnmuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vamuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))
(setf vcmuteplay (gen-trim size '(1 1 1 1 1 1 1 1)))

 

Velocity for each bar.
(setf rvel (mclist '(p p mp mp mf mf f ff)))

 

Definition of basics rhythmics cells.
(setf baselength '((q. q q)
                   (e e e e e e e)
                   (e e e e e e e)
                   (q. e e e e)
                   (e e e q e e)
                   (e e e e e q)))

 

Conditional articulation based on lengths.
(def-case make-art
  ((3/8 1/4 1/4) '(leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/8 1/8) '(stacc+marc stacc stacc stacc+marc stacc stacc+marc stacc))
  ((3/8 1/8 1/8 1/8 1/8) '(leg+marc stacc stacc leg leg))
  ((1/8 1/8 1/8 1/4 1/8 1/8) '(stacc+marc stacc stacc leg+marc leg leg leg))
  ((1/8 1/8 1/8 1/8 1/8 1/4) '(stacc+marc stacc stacc stacc+marc leg leg))
  (otherwise '(leg)))

 

Cello
Pitch
(setf vc1.pitch
      (append '(c2 = =)
              (integer-to-pitch
               (rnd-sample 4 (gen-integer -24 -6)))))

 

Length (random choice in baselength list)
(setf tuttilen  (rnd-sample size baselength))
 
Append tuttilen to one final rhytmic cell.
(setf vc1.len (append tuttilen '((3/8 -2/8 2/8))))

 

Articulation
(setf vc1.art (make-art vc1.len))
 
OMN
(setf vc1.omn (make-omn
               :pitch vc1.pitch
               :length vc1.len
               :velocity rvel
               :articulation vc1.art))
 
Mapping
(setf vc1.map (tonality-map path4 vc1.omn))
 
Tie repeated notes
(setf vc1.ft (filter-tie vc1.map))
 
Ambitus
(setf vc1 (ambitus '(c2 c4) vc1.ft))

 

Viola
Pitch
(setf alt1.pitch (integer-to-pitch (rnd-sample 7 (gen-integer -12 0))))
 
Length 
(setf alt1.len vc1.len)
 
Articulation
(setf alt1.art (make-art vc1.len))
 
OMN
(setf alt1.omn (make-omn
                :pitch alt1.pitch
                :length alt1.len
                :velocity rvel
                :articulation alt1.art))
 
Mapping
(setf alt1.map (tonality-map path4 alt1.omn))
 
Tie repeated notes.
(setf alt1.ft (filter-tie alt1.map))
 
Ambitus
(setf alt1 (ambitus '(c3 g5) alt1.ft))

 

 
Violin
Pitch
(setf vn1.pitch
 (gen-loop size (integer-to-pitch (rnd-sample 7 (gen-integer -5 12)))))

 

Length
(setf vn1.len vc1.len)

 

Articulation
(setf vn1.art (make-art vn1.len))

 

OMN
(setf vn1.omn (make-omn
               :pitch vn1.pitch
               :length vn1len
               :velocity rvel
               :articulation vn1.art))

 

Mapping
(setf vn1.map (tonality-map path4 vn1.omn))

 

Tie repeated notes.
(setf vn1.ft (filter-tie vn1.map))

 

Ambitus
(setf vn1 (ambitus '(g3 g6) vn1.ft))

 

Clarinet
Pitch
Generate a white noise vector
(setf clavect (gen-white-noise 256))

 

Map vector to pitch
(setf clapitch (vector-to-pitch '(g3 c5) clavect))

 

Length
(setf clalen vc1.len)

 

Articulation
(setf claart (make-art clalen))

 

OMN
(setf cla1.omn (make-omn
                :pitch clapitch
                :length clalen
                :velocity rvel
                :articulation claart))

 

Mapping
(setf cla1.map (tonality-map path4 cla1.omn))

 

Tie repeated notes
(setf cla1.ft (filter-tie cla1.map))

 

Ambitus
(setf cla1.amb (ambitus '(a3 g5) cla1.amb))

 

Adding the rests
(setf cla1 (length-weight cla1.amb :weight '(8 1)))

 

Mute/Play Application
(setf cla1mp (binary-timeline clamuteplay cla1))
(setf vn1mp (binary-timeline vnmuteplay vn1))
(setf va1mp (binary-timeline vamuteplay alt1))
(setf vc1mp (binary-timeline vcmuteplay vc1))

 

Time signature
(setf ts (get-time-signature vc1 :group '((3 2 2))))

 

Score definition for Coda (part 7)
(def-score LessThanEight-7
           (:title "Less Than Eight - VII"
            :composer "Stephane Boussuge"
            :copyright "Copyright 2014 Stephane Boussuge"
            :key-signature 'atonal
            :time-signature ts
            :tempo 144
            :layout (list
                     (clarinet-layout 'clarinet)
                     (bracket-group
                      (violin-layout 'violin)
                      (viola-layout 'viola)
                      (violoncello-layout 'cello))))
  
  (clarinet :omn cla1mp :channel 1 :sound 'gm :program 'clarinet)
  (violin :omn vn1mp :channel 2 :sound 'gm :program 'violin)
  (viola :omn va1mp :channel 3 :sound 'gm :program 'viola)
  (cello :omn vc1mp :channel 4 :sound 'gm :program 'cello))

 

Full score compilation (assembly)

(compile-score '(LessThanEight-intro
                 LessThanEight-1
                 LessThanEight-2
                 LessThanEight-3
                 LessThanEight-4
                 LessThanEight-5
                 LessThanEight-6
                 LessThanEight-7))

 

 

LessThanEightRv04.opmo

 

 

Share this post


Link to post
Share on other sites

Great piece Stephane, I am sure will inspire others and help with coding in Opusmodus - good score indeed :-)

Share this post


Link to post
Share on other sites

Bonjour, 

C'est très impressionnant... Et ça donne le vertige quant à l'acquisition de toutes ces fonctions et de les utiliser ensuite à bon escient.  

Et merci pour le score qui permet de découvrir de nombreuses fonctions, de les tester, de voir ce qu'elles permettent de faire. C'est très précieux.

PS : j'ai fait  deux tests, le premier avec la banque Ircam Solo Instruments que j'aime bien mais comme les différents jeux sont proposés avec des échantillons séparés, le résultat est très moyen. En revanche, avec l'exportation XML dans Notion 5, le résultat avec les instruments natifs et la prise en compte des articulations directement est nettement plus pertinent. 

Ce qui, d'ailleurs, m'amène à poser une question sur les articulations. Qu'est-ce que propose Opusmodus pour les bois, les cuivres, notamment  ? 

Share this post


Link to post
Share on other sites

Bonjour, 

pour des infos sur les articulations pour les cuivres, vous pouvez regarder les section 7.1/ 7.2/ 7.3 et 7.4 dans la doc de "OMN, Le langage."

Pour l'acquisition des fonctions, il faut s'amuser avec Opusmodus, jouer avec lui et l'acquisition se fait naturellement , pas à pas. 

Cela prend un peu de temps mais une fois le langage maitrisé, c'est un vrai bonheur que de s'exprimer musicalement avec Opmo.

Les vidéos postées récemment sur votre blog sont intéressantes , particulièrement celle utilisant Notion5 (que j'ai d'ailleurs utilisé pour le rendu de LessThanEight). Continuez sur ce chemin car visiblement , vous êtes sur la bonne voie.

 

Bonne composition avec Opusmodus !

SB.

Share this post


Link to post
Share on other sites

Thank you Stephan,

For some reason I have missed this highly helpful and educational post.

Nice piece

/Lasse

Share this post


Link to post
Share on other sites
On 10/17/2014 at 5:53 PM, Stephane Boussuge said:

(setf clamuteplay (gen-trim size '(1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0))) (setf vnmuteplay (gen-trim size '(0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1))) (setf vamuteplay (gen-trim size '(0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1))) (setf vcmuteplay (gen-trim size '(0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0)))

Thanks, Stephane. This is a great example to work from. I've not created a piece with multiple parts exclusively in Opus Modus yet so this is a good starting point.

I received an error with an undefined function. Is that due to a version error or is there a function I need to build and reference as a separate file? Or perhaps its something else. Here's the error I received when I evaluated the file:
 

Quote

? make-omn
? tonality-map
? ambitus

> Error: Undefined function length-rest-weight called with arguments ((8 1) ((q. e4 leg q gs4 leg a3 leg) (q. a4 leg q c5 leg eb5 leg) (q. bb4 marc+leg e e5 stacc fs4 stacc b4 leg bb4 leg) (e f5 mp stacc+marc bb4 stacc d5 stacc g5 stacc+marc a4 stacc c5 stacc+marc f4 stacc) (e d5 mf stacc+marc d5 stacc c5 stacc q fs5 marc+leg e a4 leg e5 leg) (e g4 f stacc+marc d4 stacc e4 stacc q f4 marc+leg e fs4 leg c5 leg) (e eb5 f stacc+marc f4 stacc g4 stacc e4 stacc+marc f5 leg q g5 leg) (q. cs4 f leg q f4 leg a4 leg) (e cs5 mf stacc+marc gs4 stacc b4 stacc cs5 stacc+marc bb3 leg q g4 leg) (q. bb4 f leg q f4 leg d5 leg) (e d4 mf stacc+marc eb5 stacc g4 stacc d5 stacc+marc cs4 leg q c4 leg) (e cs5 f stacc+marc c5 stacc a4 stacc q g5 marc+leg e b4 leg fs5 leg) (e c4 f stacc+marc c5 stacc a4 stacc b4 stacc+marc gs4 stacc f4 stacc+marc eb4 stacc) (e cs5 f stacc+marc e5 stacc cs5 stacc fs5 stacc+marc g4 stacc cs5 stacc+marc f4 stacc) (e e4 f stacc+marc gs4 stacc cs5 stacc q e4 marc+leg e gs4 leg gs4 leg) (e d5 mf stacc+marc bb4 stacc bb4 stacc c5 stacc+marc e5 stacc f4 stacc+marc fs4 stacc) (q. fs5 f marc+leg e a4 stacc eb4 stacc f4 leg gs4 leg) (e eb4 mf stacc+marc bb4 stacc cs4 stacc d4 stacc+marc b3 stacc fs4 stacc+marc fs4 stacc) (e bb4 stacc+marc e4 stacc b4 stacc eb4 stacc+marc e4 stacc fs4 stacc+marc cs5 stacc) (q. a4 leg q bb4 leg b4 leg) ...)) .
> While executing: ccl::cheap-eval-in-environment, in process Listener-2(7).
> Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
> If continued: Retry applying length-rest-weight to ((8 1) ((q. e4 leg q gs4 leg a3 leg) (q. a4 leg q c5 leg eb5 leg) (q. bb4 marc+leg e e5 stacc fs4 stacc b4 leg bb4 leg) (e f5 mp stacc+marc bb4 stacc d5 stacc g5 stacc+marc a4 stacc c5 stacc+marc f4 stacc) (e d5 mf stacc+marc d5 stacc c5 stacc q fs5 marc+leg e a4 leg e5 leg) (e g4 f stacc+marc d4 stacc e4 stacc q f4 marc+leg e fs4 leg c5 leg) (e eb5 f stacc+marc f4 stacc g4 stacc e4 stacc+marc f5 leg q g5 leg) (q. cs4 f leg q f4 leg a4 leg) (e cs5 mf stacc+marc gs4 stacc b4 stacc cs5 stacc+marc bb3 leg q g4 leg) (q. bb4 f leg q f4 leg d5 leg) (e d4 mf stacc+marc eb5 stacc g4 stacc d5 stacc+marc cs4 leg q c4 leg) (e cs5 f stacc+marc c5 stacc a4 stacc q g5 marc+leg e b4 leg fs5 leg) (e c4 f stacc+marc c5 stacc a4 stacc b4 stacc+marc gs4 stacc f4 stacc+marc eb4 stacc) (e cs5 f stacc+marc e5 stacc cs5 stacc fs5 stacc+marc g4 stacc cs5 stacc+marc f4 stacc) (e e4 f stacc+marc gs4 stacc cs5 stacc q e4 marc+leg e gs4 leg gs4 leg) (e d5 mf stacc+marc bb4 stacc bb4 stacc c5 stacc+marc e5 stacc f4 stacc+marc fs4 stacc) (q. fs5 f marc+leg e a4 stacc eb4 stacc f4 leg gs4 leg) (e eb4 mf stacc+marc bb4 stacc cs4 stacc d4 stacc+marc b3 stacc fs4 stacc+marc fs4 stacc) (e bb4 stacc+marc e4 stacc b4 stacc eb4 stacc+marc e4 stacc fs4 stacc+marc cs5 stacc) (q. a4 leg q bb4 leg b4 leg) ...)).
> Type :? for other options.
 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Topics

    • By EAIP
      Hi,
      I am working on a table for harmonics on the theorbo.
      Is there a way to mark strings with numbers higher than 5?
      Or perhaps a way to add your custom roman numeral?
      By the way, I am still on 1.2.23260, maybe there are more options in 1.3 regarding custom markings?
      Kind Regards,
      Erik
    • By Stephane Boussuge
      A string quartet composed in 2016 already posted on this Forum but for that video, the midi rendering is from Note Performer 3 in Dorico.
       

       
       
      SB.
    • By AM
      hi all
       
      does anybody already coded a FUNCTION to replace string-pitches by natural or artificial harmonics?
      is the specific notehead in OM (for the artificials)? 
      would/could be very practical... perhaps if you have fast phrases in a large ambitus... the function - if it would be very well coded - could search for the nearest/closest fingering... 
       
      greetings
      andré
×
×
  • Create New...