Search the Community
Showing results for tags 'piano'.
-
There appears to be an issue in omitting dyads (chords) in the notation viewer when attaching attribute 'ped, as in this example: '((q c4 e3e4 ped) (q g3 c3c4 ped h e4 ped) (q c4 ped g4 e4e5 ped)) Similar issues occur when using the attribute-series function: (setf mat '((q c4 e3e4) (q g3 c3c4 h e4) (q c4 g4 e4e5))) (attribute-series '((- 1) (ped 2) (ped 4) (ped 1)) mat)
-
Variations on "Webern Variationen Fuer Klavier Op.27, I" (2019) by JP Instrument: VSL Steinway D
-
A piano piece composed this year in February. SB.
-
Dear Friends, I'd like to share a composition all made in Opusmodus. The composition is part of the Portfolio of my Doctoral Dissertation. I'd like to thank you so much, Opusmodus and the support of you here in this forum was amazing !! Love you all !! TURING PIANO (Julio Herrlein) Here is the commented code for the First Section: ;;;PART A ;PITCHES – The pitch structure are based on "chevron-like" patterns. This can be related to some Xenakis ideas: the arborescences, the music as a plot idea. (setf patpit (integer-to-pitch (gen-integer-step 0 68 '(1 -2 3 -4 5 -6 7 -8 9 -10 11)))) (setf patpit2 (integer-to-pitch (gen-integer-step 0 68 '(11 -10 9 -8 7 -6 5 -4 3 -2 1)))) ;;; This interval pattern leads to an infinite ascending movement, like the picture below: ;;; After that, I decided to restrict the ambitus of the pattern, otherwise it goes ascending forever. I did the restriction thinking in the hands of the pianist, in a way to not collide or crossing the hands. ;;;After the ambitus restriction, the next step was find some partitions to make some chords for the piece, so each hand have a diferent partition of the chevron-like pattern, like below (setf pitpartition (ambitus '(g3 c6)(chordize-list (gen-divide '(1 1 1 3 1 1 1 2) patpit)))) (setf pitpartition2 (ambitus '(g1 g3)(chordize-list (gen-divide '(2 1 1 1 1 2 1 1 1 1 1 1 1 1) patpit2)))) ;;; Next, i decided on the Rhythms to use. The rhythms are complementary, i.e., each hand plays on the silence of the other, using the following pattern: DIGRESSION: The FORTE NUMBERS are part of my dissertation that makes the conversion of the entire Forte sets onto Rhythms modulo 12. The dissertation (in portuguese) can be downloaded HERE: Das alturas ao ritmo : teoria dos conjuntos rítmicos como ferramenta composicional From pitches to rhythm: rhythmic set theory as a compositional tool. http://hdl.handle.net/10183/179457 Abstract This doctoral dissertation is divided into two parts: the first deals a rhythmic set theory, and the second contains the portfolio of compositions developed during this period of studies. This dissertation presents a system of rhythmic organization parallel to the musical set theory pitch class organization FORTE (1973), as well as an adaptation of the time-point-system (BABBITT, 1962). From the standpoint of the traditional set theory, and also from the diatonic set theory, this unified approach allows to estabilish a connecting tissue of basic aspects: from the harmony and chords symbols to the rhythmic organization. At one time, in a complete catalog, the families of pitch class sets and chord symbols are related to their respective rhythmic counterparts. The musical motivation for this research came from my interest in the swinging and groovy repetitive rhythms called timelines (TOUSSAINT, 2013), commonly used in popular music. These dancing timelines have properties similar to those of the diatonic sets, and for this reason, this dissertation presents some properties of the diatonic pitch class sets, drawing a parallel with their rhythmic counterparts. These relationships also appear in the portfolio of compositions, characterizing some procedures used. The portfolio of compositions, which includes a composition for symphony orchestra, is presented form the standpoint of a duality between transparency and opacity. This duality address the essential differences in the audibility of the results from various composition techniques. This study of Rhythmic Set Theory will serve as an analytical approach of my compositional output in popular music, with a systematic way to understant and to extrapolate some aspects already used in my practice as composer and improviser. Here is the rhythm used in Turing Piano (with Forte numbers and rotations) (setf ritmo1 (gen-repeat 10 '(s s -s s s -s -s -s s -s -s s -s s -s -s s -s s -s -s -s s -s))) (setf ritmo1b (length-invert ritmo1 :omn t)) ; DINAMICS: Following the parametric stuff, I decided to set the dynamics, according to the harmonic density, i.e. the more notes, the more louder. (setf din1 (span pitpartition '(p p p ff p mf pp ff))) (setf din2 (span pitpartition2 '(f p p p p ff p p ff pp pp f mf mf))) ;ASSEMBLING of the materials (setf lhmat1 (make-omn :length ritmo1 :pitch (pitch-transpose 4 pitpartition) :velocity din1)) (setf rhmat1 (make-omn :length ritmo1b :pitch (pitch-transpose 4 pitpartition2) :velocity din2)) ;MONTAGE of music blocks (assemblage) (setf pianoassemblerh (assemble-seq lhmat1)) (setf pianoassemblelh (assemble-seq rhmat1)) ;;;SCORE- Layout (def-score Miniatura-pno1 (:key-signature 'atonal :time-signature '(3 4) :tempo 85 :octave-shift '(c2 c6) :layout (grand-layout 'pno :all-accidentals 'all)) (pno :omn (merge-voices lhmat1 rhmat1) :channel 1 :sound 'gm :program 0) ) COMPLETE VIDEO
-
Hi people, Though I've been using Opusmodus for about 2 years now, and in great love with it, I haven't really had a chance to share my work on the community. But here I have my piano piece vastly written with Opusmodus, and guess what, it's got a cool video, too! Yamaha corporation kindly offered me to use their automated piano for filming, and I think an algorithmic music like this goes very well with it! Yuichi
-
Hi, for study purpose only, you will find attached to this post the score script of this Prelude for Piano. SB. PreludeForNicolai.opmo
-
Hello, a small piece for piano solo. Score script attached to this post. SB. Jeu2PourPiano.opmo
-
Magic piece for piano :-) SB.
-
A short piece for piano. Basically, i've played the piano part into logic X, export the part to midi and imported it into opusmodus. After importation, i have copied the OMN piano part from the imported score into a variable named pmat and also the controllers information for sustain pedal (controller No.64) into a variable named ct64. I've generated some scales from a row using harmonic-progression function: (setf row (rnd-row :type :pitch :seed 932281 :transpose 3)) (setf chords (harmonic-progression (rnd-number (length pmat) -11 11) row :size 7 :step 1 )) and finally i've applied this harmonic structure with tonality-map function onto my piano material (variable pmat): (setf piano (tonality-map (mclist chords) pmat)) and exported back the resulting midifile to Logic for further edit and piano score edit. SB.
-
Hi, here's two small piece for piano made today a bit like some "Humoresque", one for this morning and the other this afternoon. SB.
-
Hi, here's the score script of a small piece for piano inspired by my first day in Vienna. SB. Klavier-Gallery-1.opmo
-
Hi, here's a small piece for piano as an example of different process like tonality mapping, harmonic rhythm, rhytm and pitch cells etc.. ;;; UTILITY ;;; ------------------------------------------------------------------------------ ;;; 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)) (let (pitches) (do-verbose ("gen-pitch-line") (rnd-seed 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))))) ;;;--------------------------------------------------------- ;;; Parameters ;;;--------------------------------------------------------- ;;; Global size (setf size 42) ;;; Global random seed init (init-seed 392) ;;; Harmonic content definition ;; Base row (setf row (rnd-row :type :pitch :transpose 2)) ;; Extract scales from row (setf sc (gen-chord 12 7 7 0 0 (gen-trim 14 row))) ;; Harmonic rhythm to apply for the piece (setf hry '(4 4 2 2 1 1 2 2 3 3)) ;;; Generation of rhythmic cells reservoir (setf ryres (euclidean-rhythm (gen-trim 8 '(16)) '(1) '(16) 's :type 2 )) ;;; Generation of pitch contours reservoir (setf pres (gen-divide 16 (gen-pitch-line 64))) ;;; 2 global control vectors (setf vc1 (gen-white-noise size)) (setf vc2 (gen-white-noise size)) ;;; Choose pitch in pitch reservoir based on vector (setf pch1 (vector-map pres vc1)) (setf pch2 (pitch-transpose -12 (vector-map pres vc2))) ;;; Choose rhythmic cells in rhythm reservoir based on control vector (setf r1 (vector-map ryres vc1)) (setf r2 (vector-map ryres vc2)) ;;; definition of dynamics and articulation reservoir (setf bvel '((pp)(p)(mp)(mf)(f)(ff))) (setf bart '((-)(-)(-)(marc)(-)(stacc)(-)(-))) ;;; Choose dynamics based on control vector (setf v1 (vector-map bvel vc1)) (setf v2 (vector-map bvel vc2)) ;;; Choose articulation based on control vector (setf art1 (vector-map bart vc1)) (setf art2 (vector-map bart vc2)) ;;; Chordize pitch when length = 1/4 or 1/2 (setf chp1 (length-chordize-map '((1/4 2)(1/2 2)) pch1 r1 )) (setf chp2 (length-chordize-map '((1/4 2)(1/2 2)) pch2 r2 )) ;;; OMN assembly and harmonic remapping with tonality map whith harmonic rhythm (:time hry) (setf p1a (ambitus-chord 12 (tonality-map (mclist sc) (make-omn :pitch chp1 :length r1 :velocity v1 :articulation art1 ) :time hry))) (setf p1b (ambitus-chord 12 (tonality-map (mclist sc) (make-omn :pitch chp2 :length r2 :velocity v2 :articulation art2 ) :time hry))) ;;; Coda chords (setf p2a '((w eb5a5 f))) (setf p2b '((w d4bb4 f))) ;;; Assemble part1 and part2 (coda) (setf piano-rh (assemble-seq p1a p2a)) (setf piano-lh (assemble-seq p1b p2b)) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score snippet (:title "Snippet for Piano" :composer "S.Boussuge" :copyright "Copyright © 2016 s.boussuge " :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 100 :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)) ) ) SB.
-
A piano solo Study. SB.
-
Hi, here's a quiet speed piece playing around the jazz piano ;-) SB.
-
Hi, here is a new piece, Prelude pour Piano. Happy listening ! Stéphane.
-
Hi, here's a piece composed in 2015 for two pianos (and two good pianist ;-) SB.
-
New Score for piano Solo, "Image 1". SB. Image-1_02_060116_1314 - Partition complète.pdf
-
Hi, Here's a Duet for Violin and Piano. Music score and opmo. script attached to this post. SB. DuoViolonPiano101015-1.pdf s1.opmo
-
Here's the third or my 3 instants pour Pianos. This pieces are dedicated in order to: 1. Nigel St. Clair Morgan, 2.Janusz Podrazik and 3.Narcisse Bonet, who are three people who have a big influence on my works in one way or another. Instant-3.pdf Instant3.opmo
-
Here's a piano score that use sublis function to map pitches to lengths. Given here for study purposes. Score attached. SB. LesLindarsRev1.opmo LesLindars_Score.pdf
-
Here's a score for 2 pianos. If you have some questions about the score script (not very documented..), don't hesitate to ask me for complementary explanations. SB. Frictions2Pnos_12.opmo
-
Here is the score of a short piano study using Harmony from a row, and user defined functions encapsulated in other functions for the score generation. Provided here as an example of a possible usage of functions defined by the user specifically for a given score. (defun arp1 (nb &key (rev nil) (rnge '(c1 c7)) (nbitv 5) (len (gen-repeat 16 '(s))) (vel '(mf))(art '(leg)) (itvlist '(1 2 4 5 1 3 -1 -2))) (make-omn :pitch (ambitus rnge (if rev (gen-retrograde (integer-to-pitch (gen-integer-step -24 nb (rnd-sample nbitv itvlist)))) (integer-to-pitch (gen-integer-step -24 nb (rnd-sample nbitv itvlist))))) :length (length-trim nb len) :velocity vel :articulation art)) (defun chrd1 (nb &key (ofst 3) (rnge '(c1 c7)) (chsize 4) (trspt 0)(rnd-oct nil) (len (gen-repeat 4 '(q))) (vel '(mf))(art '(leg))) (make-omn :pitch (ambitus rnge (gen-chord2 nb chsize (rnd-row :type :pitch) :offset ofst :transpose trspt :rnd-octaves rnd-oct)) :length (length-trim nb len) :velocity vel :articulation art)) (defparameter size 64) (setf row (rnd-row :type :pitch)) (setf hchords (gen-chord2 size 5 row :offset (rnd-sample size (gen-integer 4)) :transpose (rnd-sample size (gen-integer -12 12)))) (setf path (tonality-series hchords)) (setf study (tonality-map path (gen-loop size (eval (car (rnd-sample 1 '((length-fix (arp1 (car (rnd-number 1 6 12)) :rnge (rnd-pick '((c1 c7)(c5 c7)(c1 c3)(c3 c6)(g5 g6)(e2 g5))) :nbitv (rnd-pick '(1 2 3 4 5 6 7 8)) :vel (rnd-pick '((pp)(p)(mp)(mf)(f)(ff))) :art (rnd-pick '((stacc)(leg)(marc)(stacs)(mart))) :len (rnd-pick `(,(rnd-sample 12 '(1/24 1/8 1/8 1/16 1/16 1/32 -1/8 -1/8)) ,(gen-repeat 16 '(s)) ,(gen-repeat 12 '(1/12)) ,(rnd-sample 8 '(e e s s s -e)) ,(rnd-sample 8 '(e e s s s -q s s s -e)))) :itvlist (rnd-pick '((8 6 14 -8 -6) (1 2 -1 2) (1 2 3 4 -1 -2 -3 -4) (2 4 6 -1 -3 -7))))) (length-fix (chrd1 (car (rnd-number 1 1 8)) :ofst (rnd-pick '(1 2 3 4)) :rnge (rnd-pick '((c1 c7)(c5 c7)(c1 c3)(c3 c6)(g5 g6)(e2 g5))) :chsize (rnd-pick '(2 3 4 5 6)) :rnd-oct t :len (rnd-pick `(,(rnd-sample 4 '(h -q q)) ,(gen-repeat 8 '(e)) ,(gen-repeat 5 '(1/12)) ,(gen-repeat 4 '(e. s)) ,(rnd-sample 8 '(h q -q q q)) ,(rnd-sample 8 '(e e e e q -e)))) :vel (rnd-pick '((pp)(p)(mp)(mf)(f)(ff))) :art (rnd-pick '((stacc)(leg)(marc)(stacs)(mart)))))))))))) (def-score study (:composer "S.Boussuge" :copyright "Copyright © 2015 S.Boussuge" :key-signature atonal :time-signature (get-time-signature study) :tempo 118 :layout (piano-grand-layout 'piano)) (piano :omn study :channel 1 :sound 'gm :program 'acoustic-grand-piano :port 0)) S.B.
-
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