Jump to content

Search the Community

Showing results for tags 'score'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to Opusmodus
    • Announcements
    • Pre Sales Questions
  • Support Forum
    • Support & Troubleshooting
    • OMN Lingo
    • Function Examples
    • Score and Notation
    • Live Coding Instrument
    • Library Setup
    • MIDI Setup
    • SuperCollider
  • Question & Answer
    • Suggestions & Ideas
    • Zoom into Opusmodus
  • Sharing
    • Made In Opusmodus
    • User Extensions Source Code
  • Opusmodus Network
    • Meet, Compose, Collaborate
    • Strategies and Methods to Control Complexity
  • Opusmodus Workshops & Schools
    • Composer Workshop

Categories

  • First Steps in Opusmodus
  • Tutorials
  • How-to in 100 sec
  • Made in Opusmodus
  • How-To
  • Zoom into Opusmodus
  • SuperCollider
  • Workflow
  • Live Coding
  • Presentation
  • Analysis
  • Composer Workshop

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Gender


Location


Interests


About Me

  1. Here's a new piece made in Opusmodus. The pdf itself is raw output of Opusmodus, I've just added Title, name etc... with PdfExpert software. Enjoy. SB. CouleursDuTempsPourFluteEtPiano.pdf
  2. Greetings! The notion of using this topic to provide insights into individual working methods will be really valuable to the community! Such a great idea! As a modest and simple example I offer this experiment in micropolyphony. ;; Experiement in micropolyphony - inspired by Ligeti ;; Robert Scott Thompson - July 28, 2024 - Roswell (80 deg F, Rain) ;; ;; DEFINE UNIQUE FUNCTIONS ;; ;; A Stepped Function for a line vector - ;; not used in this example (defun stepped-function (start end num-points) (let ((step (/ (float (- end start)) (1- num-points)))) (loop for i from 0 to (1- num-points) collect (+ start (* i step))))) (defun create-stepped-function (start end num-points) (let ((points (stepped-function start end num-points))) (mapcar #'round points))) ;; Example usage: ;;(create-stepped-function 1 10 5) ; => (1 3 5 7 10) ;;(create-stepped-function 0 8 50) ; => (0 3 5 8) ;; A Stepped Function for a line vector with a simple percentage slope adjustment - ;; used in this example (defun generate-stepped-line (start end num-points percentage) (let* ((total-diff (- end start)) (adjusted-diff (* total-diff (/ percentage 100.0))) (step (/ adjusted-diff (1- num-points)))) (loop for i from 0 to (1- num-points) collect (round (+ start (* i step)))))) ;; Example usage: ;;(generate-stepped-line 1 10 5 100) ; => (1 3 5 7 10) ;;(generate-stepped-line 1 10 5 50) ; => (1 2 3 5 6) ;;(generate-stepped-line 1 10 5 200) ; => (1 5 8 12 15) ;; ;; BEGIN COMPOSE ALGO - Micropolyphony Experiment ;; ;; Inspired by Ligeti (et al). This is an experimental texture - what I often refer to as ;; a "compositional primitive" - and often a kind of starting place for the generation of ;; materials for a composition when I begin working with CAC tools like Opusmodus. ;; ;; The notion of the "primitive" is that it remains a small compact program, easy to change ;; and manipulate as materials are developed. What is so helpful with OMN is that the output ;; can be "deconstructed" algorithmically and used in myriad contexts. ;; ;; More complex programs - perhaps defining an entire work - are often less easy to manage in this ;; manner. Yet, they also are quite good, depending upon the context of the musical research. ;; ;; In this example, there are some simple functions for control vectors defined. The musical idea ;; is of two lines (here a flute and 'cello) that begin more or less together in a polyphonic flux ;; but divert with the cello moving slowly down in tessitura over the duration of the passage. ;; ;; Textures such as this one are used in various elaborate contexts in my work FLEXURE for two ;; violins (Music for Strings recording - for example) and also NEXI for violin and viola (same). ;; However, these works were not created using CAC techniques (computer assisted composition). ;; Rather, they were composed using more traditional methods and aided by graph paper, charts, and lists. ;; Both scores are available from American Composers Edition, New York. ;; ;; First Step - to define some duration (length) materials: ;; mat1 - flute (setf mat1 (sieve-tree 16 2 5)) (setf m1span (get-span mat1)) ;; mat2 - cello (setf mat2 (flatten (gen-loop 22 (gen-tuplet 1 2 '? 'n 'q '(5 3 4) :times 1 :omn t)))) (setf mat2s (get-span mat2)) ;;(setf mat2R (length-rest-invert mat2)) ;;(setf m2span (get-span mat2R)) ;; spanning the cello durations to the flute durations (setf mat2span (length-span m1span mat2)) ;(get-span mat2span) ;; getting counds of legth events for later use (setf m1cnt (get-count mat1)) (setf m2cnt (get-count mat2)) (setf m2scnt (get-count mat2span)) ;; Second Step - to create pitch material for the micropolyphony ;; first for the flute (setf stream_pitches (filter-repeat 1 (gen-eval m1cnt '(rnd-sample 1 '(b3 c4 cs4 ds4))))) ;; then for the cello - but changing based on duration values (setf stream2_pitches (filter-repeat 1 (length-map '((5q b3) (3q c4) (s cs4) (e ds4)) mat2span))) ;(get-count stream2_pitches) ;; transforming cello pitches to integers. This step is important to the creation of the ;; diverging cello line that moves progressively lower in pitch. (setf stream2_pitches_int (pitch-to-integer stream2_pitches)) ;; getting the count of output pitches from cello (setf stream2_pitches_cnt (get-count stream2_pitches_int)) ;; Third Step ;; generation of the stepped line function to drive the cello pitch set progressively lower ;; in pitch ;; defining the stepped fucntion (setf stairs (generate-stepped-line 0 -12 stream2_pitches_cnt 100)) ;(get-count stairs) ;; adding the step function to the original pitches (as integers) (setf stream2_sum_int (mapcar #'+ stream2_pitches_int stairs)) ;(get-count stream2_sum_int) ;; converting the resulting cello pitches from integers back to pitches (setf stream2_pitches_sum (integer-to-pitch stream2_sum_int)) (get-count stream2_pitches_sum) ;; creating dynamincs vectors for the musical fragment (setf stream_vel (gen-cresc-dim m1cnt 'ppp 'f)) (setf stream2_vel (gen-cresc-dim m2scnt 'ppp 'f)) ;; Creating the OMN (setf stream (make-omn :length mat1 :pitch stream_pitches :velocity stream_vel )) ;(get-count stream) (setf stream2 (make-omn :length mat2span :pitch stream2_pitches_sum :velocity stream2_vel )) ;(get-count stream2) ;; Creating the score (def-score DuoTest (:title "Duo Test" :key-signature 'chromatic :time-signature '(4 4) :tempo 60 :layout (list (bracket-group (flute-layout 'flute) (violoncello-layout 'cello)))) (flute :omn stream :channel 1 :sound 'gm :program 'flute) (cello :omn stream2 :channel 2 :sound 'gm :program 'cello) ) rst A Micropolyphonic Fragment for Flute and Cello Duo - TEST.opmo
  3. A.S. Mailbox (three serial miniatures for string quartet) dur: circa 4´30 Composer: Julio HERRLEIN Porto Alegre - Jun/2021 I. Email from Anton II. [SPAM] Re: Hauer III. Letter from Alban A.S. (Arnold Schoenberg) Mailbox are a set of three miniatures for string quartet using 12-tone serial techniques and parametric composition processes. The idea is a imaginary mailbox of Schoenberg dialogues with his main disciples Webern and Berg, and also Hauer, his rival in the creation of a 12-tone composition method. All the pieces are (loosely) based in the same all interval 12-tone row: c4 eb4 a4 db4 b4 ab4 g4 d4 e4 f4 bb4 gb4 PERFORMANCE NOTE: The score and parts accidentals favor the FLATS (b) for easier enharmonic reading. Some of the uses of the tone row are also related to the rhythmic span of the orchestration and the algorithmic method for spreading the tones through the lisp lists in the Opusmodus software. The first miniature “Email from Anton” are inspired by the pointilistic textures used by Webern in his op. 28. In a later section, the textures are intensified by melodic figures and tremolos across the instruments of the quartet. The second miniature “[SPAM] Re: Hauer” is an imaginary email from Hauer (lost in “Arnie´s” spam box…) where he shows to A.S. his klangreihen method (as actually described by Dominik SEDIVÝ, 2011, pp. 25-30) to harmonize and make a smooth parsimonious voice-leading of a 12-tone row. The last piece “Letter from Alban” set up some 6-attack melodic motifs based on the hexachords of the basic row, combined with rhythmic ostinato textures of accompaniment and sweet chords derived from retrograde version of the row. All the best !! Thanks to everyone in this forum who have patience with me ! Julio Herrlein, 2021/JUNE
  4. i like the concept of "brownian bridge" to produce complex curves from a to b, but not completely randomized or controlled. in the video you see all the generations for one evaluation... how it could sound - mapped on different tonalities Brownsche Brücke – Wikipedia DE.WIKIPEDIA.ORG for understanding in OPMO: axiom: start end (50 23) gen1 => 1 step (50 8 23) gen2 => 3 steps (50 15 8 -3 23) gen3 => 7 steps (50 40 15 13 8 -14 -3 29 23) gen4 => 15 steps (50 58 40 33 15 22 13 4 8 4 -14 -16 -3 17 29 17 23) ...and so on ------------------------------------------------------------------------------- some evaluations with same AXIOM: Bildschirmaufnahme 2023-07-08 um 11.09.51.mov ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; BROWNIAN BRIDGE -> could be use as a rnd-process from A to B (integers or pitches) ;;; if you have a look to example with ":all-gen t", you will see the process with all generations, how it works ;;; or take a look to: ;;; https://de.wikipedia.org/wiki/Wiener-Prozess#/media/File:BrownscheBewegung.png ;;; https://de.wikipedia.org/wiki/Brownsche_Brücke ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; SUB (defun pick (a b &key (span 5)) (let ((rnd1 (car (rnd-number 1 (+ a span) (- a span)))) (rnd2 (car (rnd-number 1 (+ b span) (- b span)))) (n)) (progn (setf n (car (rnd-number 1 rnd1 rnd2))) (if (or (= n a) (= n b)) (+ (rnd-pick '(1 -1)) n) n)))) (pick 2 3) ;;; MAIN ;;; MAIN (defun gen-brownian-bridge (n startend &key (all-gen nil) (output 'integer) (span 5)) (let ((seq)) (progn (setf seq (append (list startend) (loop repeat n with liste = startend do (setf liste (filter-repeat 1 (loop repeat (1- (length liste)) for cnt = 0 then (incf cnt) append (append (list (nth cnt liste) (pick (nth cnt liste) (nth (1+ cnt) liste) :span span) (nth (1+ cnt) liste)))))) collect liste))) (setf seq (if (equal all-gen t) seq (car (last seq)))) (if (equal output 'pitch) (integer-to-pitch seq) seq)))) ;;; EXAMPLES ;; SPAN influence -> span 2 (loop repeat 20 do (list-plot (gen-brownian-bridge 5 '(1.2 5.4) :span 2 :all-gen t) :zero-based t :point-radius 3 :join-points t) do (sleep 2)) ;; SPAN influence -> span 10 (list-plot (gen-brownian-bridge 5 '(50 23) :span 20 :all-gen t) :zero-based t :point-radius 3 :join-points t) ;;; SPAN default (5) (list-plot (gen-brownian-bridge 5 '(50 23) :all-gen t) :zero-based t :point-radius 3 :join-points t) (list-plot (gen-brownian-bridge 5 '(50 23)) :zero-based t :point-radius 3 :join-points t) (gen-brownian-bridge 5 '(50 23) :all-gen t :output 'pitch) (gen-brownian-bridge 5 '(50 23) :output 'pitch)
  5. Hi, here's for study purpose the Opusmodus score of the first movement of my piano trio. All the best to the wonderful Opusmodus users community ! SB. PianoTrio-SlonimskyV2.opmo
  6. An ambient piece based on a Fibonacci series. SB. FibonacciMeditation.opmo
  7. In memoriam Narcis Bonet who was one of my teachers. Opusmodus score attached. SB. PlutonV1-02.opmo
  8. More functionality in MICROPOLYPHONE to control the complexity: (progn (setf interval-series '((0) (1 -1 2 -2) (6 -6 11 -11) (13 -13))) (micropolyphony 4 40 1/16 1/4 :intervals interval-series :interval-prob '(.2 .2 .3 .3) :length-prob '(.1 .9 .5 .9) :proportional t :index 'a :seed 830134 :span 7 ) (micropolyphony 4 40 1/16 1/2 :intervals interval-series :interval-prob '(.2 .2 .3 .9) :length-prob '(.2 .9 .4 .9) :proportional t :index 'b :seed 855650 :span 13 ) (setf rh-a (quantize (ambitus-chord 13 (dissolve-voices (merge-voices a1 a2))) '(1 2 4)) lh-a (quantize (ambitus-chord 13 (dissolve-voices (merge-voices a3 a4))) '(1 2 4)) rh-b (quantize (ambitus-chord 13 (dissolve-voices (merge-voices b1 b2))) '(1 2 4)) lh-b (quantize (ambitus-chord 13 (dissolve-voices (merge-voices b3 b4))) '(1 2 4)) ) (setf rh-1 (omn-to-time-signature (assemble-seq rh-a rh-b) '(4 4)) lh-1 (omn-to-time-signature (assemble-seq lh-a lh-b) '(4 4)) ) (setf rh (dictum '((:do p) (:do mf :bar (1..5)) (:do > :bar (5..7 16..20)) (:last pp :bar 20) (:last fermata :bar 20)) rh-1) lh (dictum '((:do p) (:do mf :bar (1..5)) (:do > :bar (5..7 16..20)) (:last pp :bar 20) (:last fermata :bar 20)) lh-1) ) (ps 'gm :p (list (ambitus '(0 45) rh) (ambitus '(-32 -1) lh)) :tempo 112) ) MP Series.mp3
  9. Hi, here's a short score composed for string quartet. All the best to all OM users ! Stéphane stephaneboussuge · Méditation MeditationPourRené.opmo 01 - Conducteur - Méditation.pdf
  10. Nothing to do during my Covid period and a bit of fever, so... stephaneboussuge · Covid - For - String - Quartet Covid-forStringQuartet.opmo
  11. I am sharing here the score of some piece I did some time ago with Opusmodus and which I will touch upon in my presentation at the forthcoming Opusmodus convention. Unfortunately, I only have a score for this and no recording. Torsten Torsten Anders - 2017 - Aschenputtel - for Flute Solo.pdf
  12. A short piano piece using GEN-FRAGMENT function. SB. Voile Suspendu.mp3 Voile Suspendu - Partition complète.pdf
  13. Hi, A short study about some harmonic procedures and unfold set simple usage. SB. Score: MelodieFlutePiano280819GM.opmo
  14. Hi, here's a new piece with score. All the best to all of the Opusmodus users ! S.B. 18/07/19 => Small update, missing function added. PolygonsV1-05-Forum.opmo Polygons1-05.mp3
  15. The forthcoming POLYGON-RHYTHM function will allow you to think and compose in a clear symmetrical structures. The great amount of keywords (OPMO stile) makes this algorithm very powerful. This is a short example using POLYGON-RHYTHM exclusively. Instruments: VSL Tenor Sax and Jazz Drumset.
  16. Here's a short study for a small ensemble. All the best ! SB. Mapcar1.opmo
  17. Hi, Here's a score for 4 hands recently finished. SB. Score: PourEtContre1Edit2.opmo
  18. 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
  19. Here's a small piano study using my new function make-chord-if-length and few others from my personal lib. Enjoy SB. ;;; UTILITIES ;;; ======================================== ;;; GEN-PITCH-LINE ;;; Fonction de génération de hauteurs basées sur une conversion de vecteur de bruit ;;; avec un grand choix de type de bruit, taux de compression du vecteur, filtrage des répétitions et ambitus. (defun gen-pitch-line (nb-pitch &key (compress 1) (ambitus '(c4 c6)) seed filter-repeat (type :white)) (setf seed (rnd-seed seed)) (let (pitches) (do-verbose ("gen-pitch-line :seed ~s" seed) (labels ((white-or-pink (nb-pitch seed type) (if (eq type ':pink) (gen-pink-noise nb-pitch :seed seed) (gen-white-noise nb-pitch :seed seed :type (if (eq type ':white) :normal type)))) (process (nb-pitch &key (compress 1) (ambitus '(c4 c6)) seed filter-repeat type) (setf pitches (vector-to-pitch ambitus (vector-smooth compress (white-or-pink nb-pitch seed type)))) (when filter-repeat (setf pitches (gen-trim nb-pitch (filter-repeat filter-repeat pitches)))) pitches) ) (process nb-pitch :compress compress :ambitus ambitus :filter-repeat filter-repeat :seed (seed) :type type))))) #| USAGE (gen-pitch-line 24 :compress 0.42 :type :white :filter-repeat 1) (gen-pitch-line 24 :compress 0.42 :type :pink :filter-repeat 1) (gen-pitch-line 24 :compress 0.42 :type :extreme :filter-repeat 1) (gen-eval 8 '(make-omn :pitch (gen-pitch-line 24 :compress 0.42 :type :white :filter-repeat 1) :length (euclidean-rhythm 16 1 16 's :type 2) ) :seed 33) |# ;;; OMN-ARTICULATION-PROCESSOR (defun omn-articulation-processor (map omn-mat &key (section nil)) (do-verbose ("omn-articulation-processor") (let ((artic (pattern-map map (omn :length omn-mat) :otherwise '(default) :section section)) ) (omn-replace :articulation artic omn-mat) ))) ;;; MAKE-CHORD-IF-LENGTH (defun make-chord-if-length-aux (omn &key (test #'>) (length-val 1/8) (interval-list '((4 7)(7 12))) (cycle t)(relative nil) seed) (setf seed (rnd-seed seed)) (let ((s-events (single-events omn))) (loop for e in s-events when (funcall test (omn-encode (first e)) length-val) append (omn-replace :pitch (gen-chord3 (list (second e)) interval-list :cycle cycle :relative relative :seed (seed)) e ) else append e))) (defun make-chord-if-length (omn &key (test #'>) (length-val 1/8) (interval-list '((4 7)(7 12)))(cycle nil)(relative nil) seed) (setf seed (rnd-seed seed)) (do-verbose ("make-chord-if-length :seed ~s :length-val ~s :interval-list ~s :cycle ~s :relative ~s" seed length-val interval-list cycle relative) (let ((test-fn (case test (> #'>) (< #'<) (= #'=) (otherwise test)))) (if (listp (car omn)) (mapcar #'(lambda (x) (make-chord-if-length-aux x :test test-fn :length-val (omn-encode length-val) :interval-list interval-list :cycle cycle :relative relative :seed (seed))) omn) (make-chord-if-length-aux omn :test test-fn :length-val (omn-encode length-val) :interval-list interval-list :cycle cycle :relative relative :seed (seed)))))) ;;; ======================================== ;;;--------------------------------------------------------- ;;; Parameters ;;;--------------------------------------------------------- (setf size 24) (setf flow1 (pitch-transpose -7 (make-omn :pitch (gen-pitch-line 128 :compress 0.33 :seed 729353) :length (rnd-sample size '((s s s s s s s s -q) (e e h)(h.)(q q e e) (e e q q)(s s s s q q) (q s s s s q)(s s e -e s s q) ) :seed 729355) :velocity (rnd-sample size '((ppp)(pp)(p)(mp)(mf)) :seed 729356) ))) (setf flow2 (pitch-transpose -4 (make-omn :pitch (gen-pitch-line 128 :compress 0.73 :seed 353) :length (rnd-sample size '((h. ) (q. e q)(h.)(q q q) (h -q)(e e h) (h e e) ) :seed 729355) :velocity (rnd-sample size '((ppp)(pp)(p)) :seed 729356) ))) (setf flow3 (pitch-transpose -7 (make-omn :pitch (gen-pitch-line 128 :compress 0.33 :seed 7353) :length (rnd-sample size '((s s s s s s s s -q) (e e h)(h.)(q q e e) (e e q q)(s s s s q q) (q s s s s q)(s s e -e s s q) ) :seed 7255) :velocity (rnd-sample size '((ppp)(pp)(p)(mp)(mf)) :seed 7256) ))) ;;; Articulation remap (setf map '(((1/16 1/16 1/16 1/16)(leg leg leg default)))) (setf with-ch1 (omn-articulation-processor map (pitch-ornament (make-chord-if-length flow1 :interval-list '((-7 -19 3 9)(-4 -16 3 7) (-5 -17 4 12)(-3 -15 7)) :cycle nil :relative t :seed 729358 )))) (setf with-ch2 (omn-articulation-processor map (pitch-ornament (make-chord-if-length flow2 :interval-list '((-7 -19 3 9)(-4 -16 3 7) (-5 -17 4 12)(-3 -15 7)) :cycle nil :relative t :seed 729358 )))) (setf with-ch3 (omn-articulation-processor map (pitch-ornament (make-chord-if-length flow3 :interval-list '((-7 -19 3 9)(-4 -16 3 7) (-5 -17 4 12)(-3 -15 7)) :cycle nil :relative t :seed 729358 )))) ;;; SCORE ASSEMBLY (setf piano-rh (omn-replace :articulation '(default leg leg leg default fermata-l) (ambitus-filter '(c4 c8) (assemble-seq with-ch1 with-ch2 with-ch3)) :section '(71))) (setf piano-lh (omn-replace :articulation '(default fermata-l) (ambitus-filter '(c0 b3) (assemble-seq with-ch1 with-ch2 with-ch3)) :section '(71))) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score Study (:title "Mcil-study" :composer "S.Boussuge" :copyright "Copyright © 2018 s.boussuge " :key-signature 'chromatic :time-signature '((1 1 1) 4) :tempo 82 :layout (piano-solo-layout 'piano-rh 'piano-lh)) (piano-rh :omn piano-rh :channel 1 :sound 'gm :program 'acoustic-grand-piano :volume 100 :pan 64 :controllers (91 '(48)) ) (piano-lh :omn piano-lh :channel 2 :controllers (91 '(48)) ) )
  20. Here's a short piece for violin solo and Strings ensemble with Fibonacci based harmony. Full score attached to this post fully commented but in French SB. BrinD'or-V04.opmo
  21. Eno/Byrne-esque 'Beat-Betas' as audition tape (i.e. 60 second continuous excerpts). Opusmodus generated MIDI...Mixed as "prototypes" in Logic 9.1.8,'auditioned' in iTunes 'live' to "Audio Hijack Pro".
  22. Hi, Here's a Strings Trio composed in memory of the victims of Paris attack. Attached Part-a and part-d opmo scores for study purpose. S.B st-a.opmo st-d.opmo
  23. In memoriam to Nigel St. Clair Morgan. RequiemCommented.opmo
  24. Hello, a new piece for ensemble after viewing an Egon Schiele exposition in Albertina museum, Vienna. SB TheSingleOrangeWasTheOnlyLight Partition complète.pdf
  25. Hi, here's the first movement of a work in progress, my strings quartet No.1. OpmoScore attached. You can also find how it was algorithmically made in this forum article/example: SB. Sqrt1-Full-GM.opmo
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy