Jump to content

Stephane Boussuge

Moderators
  • Posts

    821
  • Joined

  • Last visited

Everything posted by Stephane Boussuge

  1. Hi Torsten, you may have a look to the function respell. Stf
  2. Hi, it is important to check the parameters we give to the function. GEN-FILTER-CHANGE need pitch, length and velocity but you give it two length list. This is the cause of the problem. SB.
  3. Hi, Here's the score file i used for my video LCI-performance1. Provided here for training and study purpose. SB. ;;; Global parameters (defparameter size 4) (defparameter master-span (gen-repeat size '(4/4))) (defparameter interval-set1 (gen-integer 0 0)) (defparameter interval-set2 interval-set1) (defparameter interval-set3 interval-set1) (setf len-set1 '(-q q s s s e q)) (setf len-set2 '(h q -q -e -q s s s e q)) (setf len-set3 '(h e e s s s e q -q)) (defparameter vel-set1 '(mf)) (defparameter vel-set2 vel-set1) (defparameter vel-set3 vel-set1) (setf center1 (gen-loop size (rnd-sample 8 '(d4)))) (setf center2 center1) (setf center3 center1) ;;; Piano (defparameter pnbpch 8) (setf pcenter center1) (setf pintervals (gen-loop size (rnd-sample 8 interval-set1))) (setf ppch (mapcar (lambda(x y) (pitch-transpose-n x y)) pintervals pcenter)) (setf plen (length-span master-span (rnd-sample pnbpch len-set1))) (setf pvelo (gen-loop size (rnd-sample pnbpch vel-set1))) (setf part (length-map '(leg) '((stacc) (marc)) '((e) (q)) plen)) (setf pia (ambitus '(c1 c7) (make-omn :pitch ppch :length plen :velocity pvelo :articulation part))) ;;; VIBRAPHONE (defparameter vbnbpch 8) (setf vbcenter center2) (setf vbintervals (gen-loop size (rnd-sample 8 interval-set2))) (setf vbpch (mapcar (lambda(x y) (pitch-transpose-n x y)) vbintervals vbcenter)) (setf vblen (length-span master-span (rnd-sample vbnbpch len-set2))) (setf vbvelo (gen-loop size (rnd-sample vbnbpch vel-set2))) (setf vbart (length-map '(leg) '((stacc)(marc)) '((e) (q)) vblen)) (setf vba (ambitus '(f3 f6) (make-omn :pitch vbpch :length vblen :velocity vbvelo :articulation vbart))) ;;; VIOLIN (defparameter vnnbpch 8) (setf vncenter center3) (setf vnintervals (gen-loop size (rnd-sample 8 interval-set3))) (setf vnpch (mapcar (lambda(x y) (pitch-transpose-n x y)) vnintervals vncenter)) (setf vnlen (length-span master-span (rnd-sample vnnbpch len-set3))) (setf vnvelo (gen-loop size (rnd-sample vnnbpch vel-set3))) (setf vnart (length-map '(spicc) '((leg)(marc pizz)(leg) (leg)) '((s) (q) (h) (w)) vnlen)) (setf vln (ambitus '(g3 g6) (make-omn :pitch vnpch :length vnlen :velocity vnvelo :articulation vnart))) (def-score lci-impro (:composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature 'atonal :time-signature '(4 4) :tempo 123) (piano :omn pia :channel 1 :port 0) (vibra :omn vba :channel 2) (violin :omn vln :channel 3 :sound 'Xce-ssgen))Original.opmo
  4. Dear Torsten, I didn't see your function before post mine, sorry. It is very interesting. My function is a bit different because i'm trying to keep all the OMN content for notation safe like different bars length (5/4 7/4..) velocity information (ff mp p), articulation like stacc, leg etc... But thank you for your function which is written in a very elegant way. Stéphane
  5. Dear Torsten, i have written a function for apply harmonic rhythm with TONALITY-MAP or HARMONIC-PATH (&key). It is probably not perfect because i am not a Lisp expert but it works for me. May help you a bit. ;;; APPLY-HARMONIC-RHYTHM (defun apply-harmonic-rhythm (chords harmonic-rhythm omn-phrases &key (type 'tonality-map)) "APPLY-HARMONIC-RHYTHM est une fonction s'appliquant aux listes OMN afin d'appliquer (map) sur celles-ci des structures harmoniques (accords, echelles..) en fonction d'un rhythme harmonique donné." (do-verbose ("apply-harmonic-rhythm") (let* ((flat1 (flatten omn-phrases)) (hdiv (length-span harmonic-rhythm flat1)) (map1 (if (equal type 'harmonic-path) (harmonic-path chords hdiv) (tonality-map chords hdiv))) (mapflat (flatten map1)) (bstruct (get-span omn-phrases)) (pmaprestr (length-span bstruct mapflat)) (orhystruct (omn :length omn-phrases)) (final (make-omn :pitch (omn :pitch pmaprestr) :length (omn :length orhystruct) :velocity (omn :velocity omn-phrases) :articulation (omn :articulation omn-phrases) :leg (omn :leg omn-phrases)))) final))) ;; USAGE: #| ;; Phrases: (setf ph1 '((e c4 p d4 e4 f4 g4 < a4 < b4 < g4 f) (e c5 mf g4 a4 g4 f4 a4 h g4) (q c4 f stacc g4 stacc e4 stacc e d4 leg c4 leg d4 leg e4 q c4 stacc ff))) ;; Chords (setf row (rnd-row :type :pitch)) (setf chords (gen-chord2 12 5 row :transpose '(3 1 2))) ;; Harmonic rhythm (setf hry (rnd-sample (length chords) '(1/4 1/2))) (apply-harmonic-rhythm (mclist chords) hry ph1) (apply-harmonic-rhythm (mclist chords) hry ph1 :type 'harmonic-path) (apply-harmonic-rhythm '((major :root f4) (natural-minor :root a3)) hry ph1) (apply-harmonic-rhythm (tonality-series '((a maj)(fs maj))) hry ph1) |# Stéphane.
  6. Hi Torsten, here is an example of Harmonic Rhythm study i wrote recently for myself. It may be help a bit. Stéphane ;;; Harmonic rhythm Study ;; Phrases (setf ph1 '((e c4 p d4 e4 f4 g4 < a4 < b4 < g4 f) (e c5 mf g4 a4 g4 f4 a4 h g4) (q c4 f stacc g4 stacc e4 stacc e d4 leg c4 leg d4 leg e4 q c4 stacc ff))) ;; Chords (setf row (rnd-row :type :pitch)) (setf chords (gen-chord2 12 5 row :transpose '(3 1 2))) ;; Harmonic rhythm (setf hry (rnd-sample (length chords) '(1/4 1/2))) ;; flatten ph1 (setf fph1 (flatten ph1)) ;; Re-découpe en fonction du rythme harmonique (setf hdivph1 (length-span hry fph1)) ;; Application des accords (setf mapph1 (tonality-map (mclist chords) hdivph1)) ;; 2nd flatten (setf ph1mapflat (flatten mapph1)) ;; Extract the original bars structure from ph1 (setf ph1.bstruct (get-span ph1)) ;; Apply bstruct to ph1mapflat for restructuring bars (setf ph1.mapped.brestruct (length-span ph1.bstruct ph1mapflat)) ;;; IL N'Y A PAS correspondance (rythmes transformés) entre ;;; ph1 (phrase originale) et ph1.mapped.restruct (phrase mappée). ;;; LE SEUL MOYEN DANS CE CAS EST DE RE-APPLIQUER LA STRUCTURE RYTHMIQUE ;;; D'ORIGINE SUR LA STRUCTURE TRAITEE. PAS PARFAIT mais pas mieux pour l'instant.... ;; Extract orignal rhythm struct from ph1 (setf ph1.rhystruct (omn :length ph1)) ;; Reconstruction of a new OMN phrase with ;; re-mapped phrase and rhythms from the extraction. (setf ph1.final (make-omn :pitch (omn :pitch ph1.mapped.brestruct) :length ph1.rhystruct :velocity (omn :velocity ph1) :articulation (omn :articulation ph1) :leg (omn :leg ph1))) ;;; Score notation validation: (def-score Harmonic-rhythms-application (:key-signature atonal :time-signature (get-time-signature ph1) :tempo 120) (ph1 :omn ph1) (ph1-processed :omn ph1.final))
  7. Gloria from "Messe Brève en Forme de de Haikus" Melodic base. (setf base1 (pitch-transpose -2 '((e a4 = f4 = c5 = g4 =) (e a4 = f4 = c5 = g4 =) (e a4 = f4 = c5 = g4 =) (e d5 = a4 = e5 = b4 =) (-w) (e a4 = f4 = c5 = g4 =) (e a4 = f4 = c5 = g4 =) (e d5 = a4 = e5 = c5 =) (e f5 e5 f5 g5 a5 = - -) (-w) (e a4 = f4 = c5 = g4 =) (e a4 = f4 = c5 = g4 =) (e d5 = a4 = e5 d5 c5 d5) (e e5 f5 g5 d5 a5 = - -) (-w) (e b5 = f5 = a5 = e5 =) (e g5 = d5 = a5 = e5 =) (e b5 = f5 = c6 = = =) (e c6 = - - - - - -)))) Create some shifted phrases and cut them to the correct length with GEN-TRIM. (setf ph1a base1) (setf ph1b (gen-trim 18 (gen-pause (gen-rotate -1 base1) :section '(0)))) (setf ph1c (gen-trim 17 (gen-pause (gen-rotate -2 base1) :section '(0 1)))) (setf ph1d (gen-trim 16 (gen-pause (gen-rotate -3 base1) :section '(0 1 2)))) Ambitus control. (setf sopline (ambitus '(c4 f5) ph1a)) (setf altline (ambitus '(a3 a4) ph1b)) (setf tenline (ambitus '(c3 c4) ph1c)) (setf basline (ambitus '(a2 a3) ph1d)) Lyrics Soprano (setf soptext1 '("glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o")) Alto (setf alttext1 '("glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o")) Tenor (setf tentext1 '("glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o")) Bass (setf bastext1 '("glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria glo ria in ex cel sis de o")) Score definition (def-score Gloria-1-02 (:title "Gloria" :key-signature '(c maj) :time-signature '(4 4) :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :tempo 112 :layout (choir-satb-layout 'sop 'alt 'tnr 'bas)) (sop :omn sopline :text soptext1 :sound 'gm :port 0 :program 'acoustic-grand-piano) (alt :omn altline :text alttext1) (tnr :omn tenline :text tentext1) (bas :omn basline :text bastext1)) SB. Gloria.opmo GloriaPianoRender.mp3 Gloria.mp3
  8. Rendered version of my Duet for Piano and Violin included in Opusmodus demo files. SB.
  9. Kyrie from "Messe Brève En Forme de Haikus". Global Pitch definition. Basic row (with D minor notes every 2 notes) (setf row '(d4 fs4 f4 cs4 g4 gs4 a4 ds4 as4 e4 c5 b4)) Utility function (defun collect-every-n (steps list) (loop for n from 0 to (- (length list)1) by steps collect (nth n list))) Global ambitus definition (setf sopamb '(d4 g5)) (setf altamb '(a3 c5)) (setf tenamb '(c3 c4)) (setf bassamb '(g2 g3)) Kyrie part-1 (canon) Pitch definition (setf pl1a (collect-every-n 2 row)) Rotations for other voices (setf pl1b (gen-rotate 2 pl1a)) (setf pl1c (gen-rotate 4 pl1a)) (setf pl1d (gen-rotate 6 pl1a)) Lengths definition (setf basery1 '(q q q q q q -e e e e q -q)) (setf rl1d (append '(-w -h) (gen-rotate 6 basery1))) (setf rl1c (length-span (get-span rl1d) (append '(-w) (gen-rotate 4 basery1)))) (setf rl1b (length-span (get-span rl1d) (append '(-h) (gen-rotate 2 basery1)))) (setf rl1a (length-span (get-span rl1d) basery1)) OMN assembly (setf p1a (make-omn :pitch pl1a :length rl1a)) (setf p1b (make-omn :pitch pl1b :length rl1b)) (setf p1c (make-omn :pitch pl1c :length rl1c)) (setf p1d (make-omn :pitch pl1d :length rl1d)) Voices (setf lsop1 (ambitus '(d4 g5) (filter-tie p1a))) (setf lalt1 (ambitus '(a3 c5) (filter-tie p1b))) (setf lten1 (ambitus '(c3 c4) (filter-tie p1c))) (setf lbas1 (ambitus '(g2 g3) (filter-tie p1d))) Christe part-2 (tutti) Pitch definition (setf pl2a (subseq row 0 6)) Rotations for other voices (setf pl2b (pitch-transpose -7 pl2a)) (setf pl2c (pitch-transpose -11 (pitch-invert pl2a))) (setf pl2d (pitch-transpose -3 (pitch-invert pl2a))) Lengths definition (setf rl2a '((q q -q q q) (e e e q -e))) (setf rl2b rl2a) (setf rl2c rl2a) (setf rl2d rl2a) OMN (setf p2a (make-omn :pitch pl2a :length rl2a)) (setf p2b (make-omn :pitch pl2b :length rl2b)) (setf p2c (make-omn :pitch pl2c :length rl2c)) (setf p2d (make-omn :pitch pl2d :length rl2d)) Global transposition (setf tlist-2a '(0)) (setf tlist-2b tlist-2a) Voices (setf lsop2 (ambitus '(e4 g5) (filter-tie (pitch-transpose tlist-2a p2a)))) (setf lalt2 (ambitus '(c4 d5) (filter-tie (pitch-transpose tlist-2a p2b)))) (setf lten2 (ambitus '(c3 c4) (filter-tie (pitch-transpose tlist-2b p2c)))) (setf lbas2 (ambitus '(g2 g3) (filter-tie (pitch-transpose tlist-2b p2d)))) Kyrie2 (Spirale) Spirale p1 (setf bass1 '(q d3 e3 d3 e3 e3 fs3 e3 fs3)) (setf psop (gen-retrograde row)) (setf lsop (ql '(16 e))) (setf lalt lsop) (setf lten lsop) (setf palt (pitch-transpose -4 psop)) (setf pten (pitch-transpose -8 psop)) (setf sop1 (make-omn :pitch psop :length lsop)) (setf alt1 (make-omn :pitch palt :length lalt)) (setf ten1 (make-omn :pitch pten :length lten)) (setf bas1 bass1) Spirale p2 (setf trsp2 2) (setf sop2 (pitch-transpose trsp2 sop1)) (setf alt2 (pitch-transpose trsp2 alt1)) (setf ten2 (pitch-transpose trsp2 ten1)) (setf bas2 (pitch-transpose trsp2 bass1)) Spirale p3 (setf trsp3 5) (setf sop3 (pitch-transpose trsp3 '(q b4 ff = -))) (setf alt3 (pitch-transpose trsp3 '(q e4 ff = -))) (setf ten3 (pitch-transpose trsp3 '(q g3a3 ff = -))) (setf bas3 (pitch-transpose trsp3 '(q d3 ff = -))) Spirale p4 (setf trsp4 5) (setf sop4 (pitch-transpose trsp4 '(q b4 = - e b4 = q c5 b4 -))) (setf alt4 (pitch-transpose trsp4 '(q e4 = - e e4 = q f4 e4 -))) (setf ten4 (pitch-transpose trsp4 '(q g3a3 = - e g3a3 = q fs3gs3 g3a3 -))) (setf bas4 (pitch-transpose trsp4 '(q d3 = - e d3 = q cs3 d3 -))) Spirale assembly (setf lbas3 (append bas1 bas2 bas3 bas4)) (setf lsop3 (append sop1 sop2 sop3 sop4)) (setf lalt3 (append alt1 alt2 alt3 alt4)) (setf lten3 (append ten1 ten2 ten3 ten4)) Full Assembly (setf sopline (assemble-seq lsop1 lsop2 lsop3)) (setf altline (assemble-seq lalt1 lalt2 lalt3)) (setf tenline (assemble-seq lten1 lten2 lten3)) (setf basline (assemble-seq lbas1 lbas2 lbas3)) (setf path (tonality-series '(chromatic))) (setf sopline (ambitus sopamb (tonality-map path sopline))) (setf altline (ambitus altamb (tonality-map path altline))) (setf tenline (ambitus tenamb (tonality-map path tenline))) (setf basline (ambitus bassamb (tonality-map path basline))) Lyrics (setf soptext1 '("ky ri e ky ri e ky - rie - chri ste chri ste e le i son chri ste e le i son ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky rie chri ste e le i son")) (setf alttext1 '("ky ri e ky ri e e le i son ky ri e chri ste e le i son ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky rie chri ste e le i son")) (setf tentext1 '("ky ri e ky rie - ki ri e e le i son chri ste e le i son ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky - rie - chri - ste - ky rie chri ste e le i son")) (setf basstext1 '("ky ri - e chri ste chri ste e le i son chri ste e le i son ky rie chri ste ky rie chri ste ky rie chri ste ky rie chri ste ky rie chri ste e le i son")) Score definition (def-score Kyrie-1 (:key-signature atonal :time-signature (get-time-signature rl1a) :title "Kyrie" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :tempo 72 :layout (choir-satb-layout 'sop 'alt 'tnr 'bas)) (sop :omn sopline :text soptext1 :sound 'gm :program 0) (alt :omn altline :text alttext1) (tnr :omn tenline :text tentext1) (bas :omn basline :text basstext1)) SB. Kyrie.opmo
  10. 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.
  11. Very interesting. Thank you for this beautiful and intriguing score Janusz. I like particularly the assembly technique of the piece and the use of :start and :end in: (setf v1-seq (assemble-subseq '((v1-omn :start 5 :end 5) (pause :start 1 :end 2) ...))) also instrument clauses is a very interesting concept. SB
  12. 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
  13. Here is one of my Logic X template for working with Opusmodus. 16MidiInInstrTemplate.zip
  14. Rose (pink) is in French the name of a color, a flower but also the name of a theoretical noise: the pink noise. Other name for pink-noise is 1/f noise. First, I define a 1/f function. 1/F-VALUE function is a modified version of 1-OVER-F function found in: Algorithmic Composition: A Gentle Introduction to Music Composition Using Common LISP and Common Music by Mary Simoni. (defun 1/f-value (number min max) (do* ((counter 0 (incf counter)) (blue (+ 1 (random max)) (if (= counter 4) (+ 1 (random max)) blue)) (green (+ 1 (random max)) (if (or (= counter 2) (= counter 4) (= counter 6)) (+ 1 (random max)) green)) (red (+ 1 (random max)) (+ 1 (random max))) (total (+ blue green red) (+ blue green red)) (the-list (cons total ()) (cons total the-list))) ((= counter (- number 1)) (vector-round min max (reverse the-list))))) Now, definition of a melody generator with pitch, length and velocity parameters taken from 1/F-VALUE function. (defun gmel (lenmap nbvalp nbvalr min max amb velmin velmax restprob) (length-rest-weight restprob (make-omn :pitch (vector-to-pitch amb (1/f-value nbvalp min max)) :length (vector-map lenmap (1/f-value nbvalr min max)) :velocity (vector-to-velocity velmin velmax (vector-smooth 0.2 (1/f-value nbvalp min max)))))) Length parameters: (setf lenmap1 '(1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/12 1/16)) (setf lenmap2 '(1/3 1/4 1/5 1/6 1/7 1/8 1/12 1/16)) (setf lenmap3 '(1/6 1/7 1/8 1/12 1/16)) (setf lenmap4 '(1/8 1/12 1/16)) Now, create some parts (p1 p2 etc..) with a repeated use of the gmel function with GEN-LOOP: (setf p1 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p2 (gen-loop 8 (gmel (apply-eval (rnd-pick '(lenmap1))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p3 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8 4 12)) 1 (rnd-pick '(40 20 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p4 (gen-loop 8 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8 4 12)) 1 (rnd-pick '(100)) '(c4 c6) 'p 'ff '(3 1)))) (setf p5 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p6 (gen-loop 8 (gmel (apply-eval (rnd-pick '(lenmap1))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p7 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 1232 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(6 1)))) (setf p8 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(g5 c7) 'p 'ff '(2 1)))) (setf p9 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(6 1)))) (setf p10 (gen-loop 12 (gmel (apply-eval (rnd-pick '(lenmap1 lenmap2 lenmap3 lenmap4))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) (setf p11 (gen-loop 8 (gmel (apply-eval (rnd-pick '(lenmap1))) (rnd-pick '(64 12 32 24)) (rnd-pick '(8)) 1 (rnd-pick '(100 50 40 10)) '(c4 c6) 'p 'ff '(3 1)))) Assemble all the part into one piece (setf full (assemble-seq p2 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11)) Define a template (master-span) for time signatures (setf master-span (rnd-sample (length full) '(1 2/4 3/4 4/4 5/4 6/8 9/8 7/4))) Apply the template to the piece (setf full-msp (length-span master-span full)) Score definition: (def-score rose (:composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature full-msp) :tempo 138 :layout (flute-layout 'flute)) (flute :omn full-msp :channel 1 :sound 'gm :program 'flute)) SB.
  15. Basic row definition (setf row '(c4 e4 g4 bb4 d5 fs5 a5 gs5 f5 eb4 cs4 b4)) Extract some subsets from the row. (setf set1 (subseq row 0 6)) (setf set2 (subseq row 3 9)) (setf set3 (subseq row 6 12)) Chords generation from sets (setf couleur1 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set1))) (setf couleur2 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set2))) (setf couleur3 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set3))) Preparing tonality-series for futur mapping (create harmonics paths) (setf path1 (tonality-series couleur1)) (setf path2 (tonality-series couleur2)) (setf path3 (tonality-series couleur3)) Section1 Define ch1, a repeated generative process with GEN-LOOP (setf ch1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -q) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur1) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) Define un1, a repeated generative process with GEN-LOOP (setf un1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur1)))) :velocity '((ffff)))))))) Define ar1, a repeated generative process with GEN-LOOP (setf ar1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path1) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) Define ar1b, a repeated generative process with GEN-LOOP (setf ar1b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path1) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) Assembly section1. (setf s1 (rnd-sample 24 (append ch1 un1 ar1 ar1b))) Score FormeEtrange-s1 (def-score FormeEtrange-s1 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s1) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s1 :channel 1 :sound 'gm :program 'acoustic-grand-piano)) Section2 (setf ch2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -q) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur2) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) (setf un2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur2)))) :velocity '((ffff)))))))) (setf ar2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path2) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) (setf ar2b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path2) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) Assembly section2. (setf s2 (rnd-sample 24 (append ch2 un2 ar2 ar2b))) Score FormeEtrange-s2 (def-score FormeEtrange-s2 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s2) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s2 :channel 1 :sound 'gm :program 'acoustic-grand-piano)) Section3 (setf ch3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur3) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) (setf un3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur3)))) :velocity '((ffff)))))))) (setf ar3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path3) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) (setf ar3b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path3) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp))))))))) Assembly Section 3 (setf s3 (rnd-sample 24 (append ch3 un3 ar3 ar3b))) Score FormeEtrange-s3 (def-score FormeEtrange-s3 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s3) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s3 :channel 1 :sound 'gm :program 'acoustic-grand-piano)) Final score (compile-score '(FormeEtrange-s1 FormeEtrange-s2 FormeEtrange-s3)) SB. FormeEtrange.opmo
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy