Live coding

15,428 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,428
On SlideShare
0
From Embeds
0
Number of Embeds
14,084
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Live coding

  1. 1. Live Coding OpenLab.Taipei Akinori Kinoshita 2013.08.03
  2. 2. Agenda ● Introduction ● TOPLAP ● Live Coding Environments ● What is (fluxus)? ● Quick Demo ● What is Scheme? ● More about (fluxus) ● Q&A
  3. 3. Introduction ● Live coding is becoming popular in conference talks (presentations). ● My talk today focuses on live programming languages for music and video performance. ● Live coding can be referred to as 'on-the-fly programming' or 'just in time programming'. ● Keywords: real time (即時), improvise (即席)
  4. 4. TOPLAP ● TOPLAP is an organization founded in 2004, to explore and promote live coding. ● Transdimensional Organisation for the Permanence of Live Art Programming ● Live coding performance ● BBC News - Tech Know: Programming, meet music ● The process of writing computer code, in real time, to compose and play music or design animations. ● Dan Stowell (beatbox coder), Dave Griffiths (live coder), and Alex McLean (live coder) Sources: [1] http://toplap.org/ [2] http://news.bbc.co.uk/2/hi/technology/8221235.stm
  5. 5. Live Coding Environments ● SuperCollider ● Fluxus Source: http://toplap.org/wiki/ToplapSystems Name Textural Graphical Audio Visual Open source SuperCollider V V (V) V Pure Data V V (V) V Fluxus V (V) V V Max/MSP V V (V) Impromptu V V V V ChucK V V V
  6. 6. What is (fluxus)? ● Open source ● Live coding environment ● 3D graphics ● Rapid prototype ● Scheme language ● Cross platform
  7. 7. Quick Demo ; setup incoming sound (start-audio “alsaplayer-xxxx:out_1” 1024 44100) ; basic loop (define (render) (draw-cube)) (every-frame (render)) ; 3 basic manipulations for 3D graphic translate, rotate, and scale
  8. 8. What is Scheme? ● Dialect of Lisp ● Minimalist design philosophy Sources: [1] http://www.wired.com/wiredenterprise/2012/06/beard-gallery/ [2] http://norvig.com/21-days.html
  9. 9. Scheme (syntax comparison) We use lots of brackets. http://repl.it/languages/Scheme Java Scheme method() (method) method(arg) (method arg) int num = 123; (define num 123) String name = "Aki"; (define name "Aki") int method() { return 123; } (define (method) 123) void method() { println("Hello World!"); } (define (method) "Hello World!") int[] num = {1,2,3}; (define num '(1 2 3))
  10. 10. Scheme (list & recursive) Easy to manipulate list and recursive function. > (cons 1 '(1 2 3)) ; create my-length (1 1 2 3) (define (my-length ls) (if (null? ls) > (cons "Aki" '(1 0.5 #t)) 0 ("Aki" 1 0.5 #t) (+ 1 (my-length (cdr ls))))) > (car '(1 2 3)) ; create my-sum 1 (define (my-sum ls) (if (null? ls) > (cdr '(1 2 3)) 0 (2 3) (+ (car ls) (my-sum (cdr ls))))) > (length '(1 2 3)) ; http://repl.it/languages/Scheme 3
  11. 11. More about (fluxus) 1. Supported primitive types 2. Useful pre-defined random functions 3. ODE (Open Dynamic Engine) 4. OSC (Open Sound Control) 5. GLSL (OpenGL Shading Language) Having trouble installing? You can check out sketchPatch http://www.sketchpatch.net/labs/livecodelabIntro.html
  12. 12. Q&A Name: Akinori Kinoshita E-mail: art.akinoshi@gmail.com Blog: http://akinoshi.blogspot.tw/ (fluxus) website http://www.pawfal.org/fluxus/ OpenLab.Taipei http://www.openlabtaipei.org/

×