Jump to content

Score file from LCI Performance-1 video

Recommended Posts


Here's the  score file i used for my video LCI-performance1.

Provided here for training and study purpose.


;;; 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
            '((stacc) (marc))
            '((e)     (q))

(setf pia (ambitus
           '(c1 c7)
            :pitch ppch
            :length plen
            :velocity pvelo
            :articulation part)))

(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
             '((e)    (q))

(setf vba (ambitus
           '(f3 f6)
            :pitch vbpch
            :length vblen
            :velocity vbvelo
            :articulation vbart)))

(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
             '((leg)(marc pizz)(leg) (leg))
             '((s)  (q)        (h)   (w))

(setf vln (ambitus
           '(g3 g6)
            :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))


Link to comment
Share on other sites

  • 1 month later...

Hello Stephane,


This is a really useful and effect piece. It would good if you might include an explanation of the function defparameter and perhaps re-document it as it has been removed from Utilities.


Live Coding is becoming recognised now across music education and the academic world. I wonder if you know about these developments?






LCI is rather different from other Live Coding environments and a little more explanation / guidance might be useful. 

I'm very interest in this crossover between improvisation and composition, but sadly the musical outcomes from Live Coding are sadly limited. It's difficult to find anything that isn't beat based Electronica, anything that crosses over into a performable score. But many people would say that's not the point!


All good wishes


Link to comment
Share on other sites

Dear Nigel,

thank you very much for your links.

i will have a look on Livecoding network conference who seem very interesting.

i used in past the Andrew Sorensen software " Impromptu" for live coding and

i have recently look a bit on SonicPi too. 

Also i discover recently an organisation very active for live coding: Toplap.org

Indeed, Live coding become more and more recognized in different area.

About Defparameter in Lisp, basically i used it because Opusmodus Lisp (Clozure Lisp) complain for not correctly declared variable when i used setf in this situation (inside macro gen-loop) and i used defparameter by correction for the Lisp interpreter.

I agree totally with you about the fact that we hear mainly electro/beat oriented music from live coding.

This is why i tried to show something different with this score. 

I would love to speak about that with you in more details and hope to meet you another time soon.



Link to comment
Share on other sites

Hello Stéphane,


Thank you for your reply about the documentation of defparameter. It's exactly the kind of definition /explanation I would expect, and if I was new to Lisp I'd be really confused! My point about your trio piece is that is such a good example of  the need for defparameter that a little more explanation on the score file would be welcomed, especially in this context of live coding.


I'm sending the revised chapter Being non-linear  in my book Composing How and Why . Would you mind me including the video of your Live Coding Trio. I think it's such a good example . . . also you might be interested to see how I am now treating Live Coding in the context of programming for composing. 


I'm in the process of revising / editing the whole book, and particularly the Introduction and first five chapters. If you have any thoughts or observations I would welcome them. I'm happy to send you the revisions . . .


All good wishes


Link to comment
Share on other sites

I think Opusmodus Live Coding Instrument is very flexible as it is not only dedicated to live coding alone - we can work with more then one LCI at a time and in collective performance. I do agree more examples and documentation on Live Coding Instrument would help indeed.


Link to comment
Share on other sites

Join the conversation

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

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

  • Create New...

Important Information

Terms of Use Privacy Policy