SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Live Coding
OpenLab.Taipei
Akinori Kinoshita
2013.08.03
Agenda
● Introduction
● TOPLAP
● Live Coding Environments
● What is (fluxus)?
● Quick Demo
● What is Scheme?
● More about (fluxus)
● Q&A
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 (即席)
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
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
What is (fluxus)?
● Open source
● Live coding environment
● 3D graphics
● Rapid prototype
● Scheme language
● Cross platform
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
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
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))
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
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
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/

Weitere ähnliche Inhalte

Andere mochten auch

4thIndustrialRevolution
4thIndustrialRevolution4thIndustrialRevolution
4thIndustrialRevolution
Farid Ghori
 
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
봉조 김
 
Grasshopper alternative
Grasshopper alternativeGrasshopper alternative
Grasshopper alternative
ladynoid
 
Thesis Digital Fabrication - SPIF
Thesis Digital Fabrication - SPIFThesis Digital Fabrication - SPIF
Thesis Digital Fabrication - SPIF
Gert-Willem Van Gompel
 

Andere mochten auch (19)

StoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative CodingStoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative Coding
 
FORWARD TO REALITY - PHYSICAL COMPUTING – THE NEXT LEVEL OF WEB INTERACTION
FORWARD TO REALITY - PHYSICAL COMPUTING – THE NEXT LEVEL OF WEB INTERACTION FORWARD TO REALITY - PHYSICAL COMPUTING – THE NEXT LEVEL OF WEB INTERACTION
FORWARD TO REALITY - PHYSICAL COMPUTING – THE NEXT LEVEL OF WEB INTERACTION
 
학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)
 
digital production and the 4th industrial revolution
digital production and the 4th industrial revolutiondigital production and the 4th industrial revolution
digital production and the 4th industrial revolution
 
4thIndustrialRevolution
4thIndustrialRevolution4thIndustrialRevolution
4thIndustrialRevolution
 
Explorations in Creative Coding
Explorations in Creative CodingExplorations in Creative Coding
Explorations in Creative Coding
 
Creative coding with d3.js
Creative coding with d3.jsCreative coding with d3.js
Creative coding with d3.js
 
Physical Computing in the Real World
Physical Computing in the Real WorldPhysical Computing in the Real World
Physical Computing in the Real World
 
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
 
Smau Milano 2016 - Antonio Nicolò Iannaccone
Smau Milano 2016 - Antonio Nicolò IannacconeSmau Milano 2016 - Antonio Nicolò Iannaccone
Smau Milano 2016 - Antonio Nicolò Iannaccone
 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedplugins
 
Generative Design with Grasshopper®
Generative Design with Grasshopper®Generative Design with Grasshopper®
Generative Design with Grasshopper®
 
Grasshopper alternative
Grasshopper alternativeGrasshopper alternative
Grasshopper alternative
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live coding
 
#아두이노 초급연수
#아두이노 초급연수#아두이노 초급연수
#아두이노 초급연수
 
Thesis Digital Fabrication - SPIF
Thesis Digital Fabrication - SPIFThesis Digital Fabrication - SPIF
Thesis Digital Fabrication - SPIF
 
Interaction design methods
Interaction design methodsInteraction design methods
Interaction design methods
 
Incremental sheet forming
Incremental sheet formingIncremental sheet forming
Incremental sheet forming
 
Preparing Students for the 4th Industrial Revolution Implications for Scien...
Preparing Students for the 4th Industrial Revolution   Implications for Scien...Preparing Students for the 4th Industrial Revolution   Implications for Scien...
Preparing Students for the 4th Industrial Revolution Implications for Scien...
 

Ähnlich wie Live coding

From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
elliando dias
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
WooKyoung Noh
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
Edge AI and Vision Alliance
 

Ähnlich wie Live coding (20)

Baby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language FunctionBaby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language Function
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
 
[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds
 
LiveCoding Package for Pharo
LiveCoding Package for PharoLiveCoding Package for Pharo
LiveCoding Package for Pharo
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
 
The hangover: A "modern" (?) high performance approach to build an offensive ...
The hangover: A "modern" (?) high performance approach to build an offensive ...The hangover: A "modern" (?) high performance approach to build an offensive ...
The hangover: A "modern" (?) high performance approach to build an offensive ...
 
Music as data
Music as dataMusic as data
Music as data
 
My first FOSDEM experience
My first FOSDEM experienceMy first FOSDEM experience
My first FOSDEM experience
 
Java on the GPU: Where are we now?
Java on the GPU: Where are we now?Java on the GPU: Where are we now?
Java on the GPU: Where are we now?
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
 
Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1
 
C101 – Intro to Programming with C
C101 – Intro to Programming with CC101 – Intro to Programming with C
C101 – Intro to Programming with C
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
 
What is clooca
What is cloocaWhat is clooca
What is clooca
 
GSoC2014 - Uniritter Presentation May, 2015
GSoC2014 - Uniritter Presentation May, 2015GSoC2014 - Uniritter Presentation May, 2015
GSoC2014 - Uniritter Presentation May, 2015
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA University
 
Practicing at the Cutting Edge
Practicing at the Cutting EdgePracticing at the Cutting Edge
Practicing at the Cutting Edge
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
Iron Languages - NYC CodeCamp 2/19/2011
Iron Languages - NYC CodeCamp 2/19/2011Iron Languages - NYC CodeCamp 2/19/2011
Iron Languages - NYC CodeCamp 2/19/2011
 
Interaction and OpenGL 3D graphics using Microsoft Kinect and Cycling ’74 Max...
Interaction and OpenGL 3D graphics using Microsoft Kinect and Cycling ’74 Max...Interaction and OpenGL 3D graphics using Microsoft Kinect and Cycling ’74 Max...
Interaction and OpenGL 3D graphics using Microsoft Kinect and Cycling ’74 Max...
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Live coding

  • 2. Agenda ● Introduction ● TOPLAP ● Live Coding Environments ● What is (fluxus)? ● Quick Demo ● What is Scheme? ● More about (fluxus) ● Q&A
  • 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. 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. 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. What is (fluxus)? ● Open source ● Live coding environment ● 3D graphics ● Rapid prototype ● Scheme language ● Cross platform
  • 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. 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. 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. 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. 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. 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/