SlideShare a Scribd company logo
1 of 32
Download to read offline
Computer Vision Techniques for
        Musical Interaction
                          Using Processing



                     Computer Music Doctoral Program
             http://www.artes.ucp.pt/si/doutoramento/index.html

16-05-2009                        Jorge Cardoso                   1
2


                                     Topics
• Introduction to session
    – What (is this session about)
    – How (the session will go through)
    – Who (am I)
• Techniques – Examples and live demos
    –   Brightness/Color detection
    –   Background subtraction
    –   Movement detection
    –   Movement estimation
    –   Face Detection
• Techniques – Code Overview
    – (Depending on time left)
    – Mixed Initiative (tell me what you want to see in more detail)


16-05-2009    Jorge Cardoso    Computer Music Doctoral Program
3


                                           What
• Overview of some computer vision techniques
     – How they work and what are the main limitations
     – How to use them in Processing
• Some –very simple(istic)– examples of how they can
  be used for musical interaction

“Computer vision is the science and technology of machines that
  see. As a scientific discipline, computer vision is concerned with the
  theory for building artificial systems that obtain information from
  images” – Computer vision. (2009, April 24). In Wikipedia, The Free Encyclopedia. Retrieved 11:53,
    May 9, 2009, from http://en.wikipedia.org/w/index.php?title=Computer_vision&oldid=285848177

16-05-2009      Jorge Cardoso          Computer Music Doctoral Program
4


                                 What
• Techniques
    – Color detection (where in the image, does a given color
      appear – can be used for tracking objects)
    – Brightness detection (what is the position of the
      brightest pixels)
    – Background subtraction for object vectorization
    – Movement detection (where –coordinates– in the
      image has movement occurred)
    – Movement estimation (what direction are the objects
      moving)
    – Face detection (is there a face in the image? where?)
16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
5


                                  How
• General overview of how those CV techniques work
    – Will try not to dwelve much into code in this phase
• Examples of what can be accomplished with the
  techniques
    – Vídeos
    – Live demos
• Depending on time left
    – Tell me if you want to see something in more detail
    – More detailed description of code (libraries needed, etc)


16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
6


                                 Who
• Jorge Cardoso (http://jorgecardoso.eu)
• Teacher of Interactive Video Art course
  (School of Arts)
    – Mainly computer vision techniques for (full) body
      interaction with screen projections
    – Students use Processing and CV techniques for
      interactive art projects



16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
7


                       Color detection



• Isolate color regions in an image
• Procedure:
    – Go through the image, pixel by pixel
    – Calculate the distance between the color of the current
      pixel and the reference color
    – If distance is smaller than a given threshold, keep the pixel
16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
8


                         Color Detection
• Q: How do we calculate the “distance” between two
  pixels?
• A: Simple version: euclidean distance.
    – Take a color as a point in 3D space (RGB -> XYZ)
    – Calculate the distance between the two points
             • Subtract each component (dR = R1-R2, dG = G1-G2, dB = B1-B2)
             • Dist = Sqrt(dR*dR + dG*dG + dB*dB)

• A1: Slightly (perceptively) better version:
  weight each component differently:
             • Dist = Sqrt(2*dR*dR + 4*dG*dG + 3*dB*dB)
16-05-2009      Jorge Cardoso   Computer Music Doctoral Program
9


                      Color Detection
• Q: What’s it good for?

• A:
    –   Catch of the day [video]
    –   Play-doh as Piano Keyboard [video]
    –   ColorDifferenceInstrument [live demo]
    –   ColorDifferenceDistanceInstrument [live demo]
    –   ColorDifferenceAngleInstrument [live demo]

16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
10


               Brighteness detection




• Slight variation on color detection when we’re only interested
  in tracking bright pixels
    – For example, to track a light
• Procedure:
    – Same as color detection but extract the brightness of each pixel and
      keep only the highest

16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
11


                   Brighteness detection
• Q: How do we calculated the “brightness” of a
  color?
• A:
    – In RGB:
             • (perceptive) Brightness = (0.2126*R) + (0.7152*G) + (0.0722*B)
             • (physical/energy) Brightness = (R+G+B)/3
             • …
    – In HSB:
             • Brightness = B ☺
    – Just use the brightness() function in whatever language…


16-05-2009      Jorge Cardoso     Computer Music Doctoral Program
12


               Brighteness detection
• Q: Why not just color detection?
• A:
    – Brightness detection is more robust (i.e., less
      influenced by lighting conditions)
    – You don’t care about color, just the brightness
      (for example to detect a lantern)




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
13


               Brighteness detection
• Q: What’s it good for?
• A:
    – Drawing With Light [video]
    – Burning the Sound [video]




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
14


              Background subtraction
• If we have a fixed camera, and a background image
  for reference, we can subtract the background to
  each frame to isolate new objects

       This                   -             This                    =   This




16-05-2009    Jorge Cardoso       Computer Music Doctoral Program
15


             Background subtraction
• Q: How do we “subtract” two images?
• A: Pixel by pixel

• Q: How do we “subtract” two pixels?
• A: Channel by channel (color component by
  color component, usually R, G and B)



16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
16


             Background subtraction
• Pixel subtraction alone doesn’t work very well
  due to noise or shadows in the image
• The resulting subtraction must be thresholded
  to eliminate noise




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
17


             Background subtraction
• After subtracting and thresholding, we can
  binarize the image to get a mask




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
18


             Background Subtraction
• Q: What’s it good for?
• A: Isolating objects in a scene. The mask can
  be vectorized, giving us access to it’s contour
  (polygon).
    –   Bg Subtraction [Live demo]
    –   Position Through Background [Video]
    –   BouncingBalls [Live demo]
    –   SoundingPolygon [Live demo]

16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
19


                Movement Detection
• If we subtract two consecutive video frames, threshold and
  binarize it, we get a rough view of the movement in the video
• Since we don’t need a reference frame, this technique is more
  rubost in face of lighting conditions




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
20


                Movement Detection
• Q: What’s it good for?
• A:
    – WebCam Piano [video]
    – Air Piano [live demo]




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
21


 Motion Estimation (aka Optical Flow)
• Estimate the movement
  vectors of blocks in a
  sequence of two images
• Procedure
    – Divide both images into
      blocks
    – For each block in image
      one, find the closest (more
      similar) block in image two             Image: http://grauonline.de/wordpress/wp-content/uploads/ovscreenshot1.png




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
22


                    Motion Estimation
• Q: What’s it good for?
• A:
    – BryanChung Example [video]
    – OpticalFlowMidi [live demo]




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
23


                         Face detection
• Not recognition!
• Needs a configuration file
  that determins what to
  detect (front faces, side faces,
  body, etc)
• Returns the position and size
  of detected faces




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
24


                        Face Detection
• Q: What’s it good for?
• A:
    – Face Detection With A Smiley [video]
    – Funny Eyes [video] [live demo]




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
25


                             Summary
• Color detection
    – Needs good lighting
    – Can track (several) objects by color
• Brighteness detection
    – Robust, needs only slightly controled lighting
      conditions (low light)
    – High accuracy of position and movement
    – Can track several objects at the same time (with
      some restrictions)
16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
26


                             Summary
• Background subtraction
    – Needs initial setup on startup (reference frame)
    – Needs highly controled lighting conditions.
    – Isolates objects without any marker (color or light)
    – Can be used to determine distance to camera (without
      great accuracy)
    – Can be used to detect movement




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
27


                             Summary
• Movement Detection/Estimation
    –   No startup configuration
    –   Doesn’t need very controlled lighting conditions
    –   Determins regions where movement occured
    –   Hard to determine number of objects moving




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
28


                             Summary
• Face detection
    – Needs relatively controlled lighting conditions
    – Needs relatively controlled positioning of people
      (near and looking directly at the camera)
    – Detects position and size (approximate) of faces




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
29


                             References
• Videos
    – Catch of the day: http://www.youtube.com/watch?v=G8-Nvyx0xtk
    – Play-Doh as Piano Keyboard!: http://vimeo.com/465726?pg=embed&sec=
    – Drawing with Light: http://www.youtube.com/watch?v=VDP3e20uYMI
    – Burning the Sound: http://www.vimeo.com/3096584
    – Position through background subtraction:
        http://www.youtube.com/watch?v=yyc8aionno4
    – Webcam piano: http://www.vimeo.com/1219327?pg=embed&sec=1219327
    – Bryan Chung optical flow:
      http://www.youtube.com/watch?v=WCdQ8KQ_Wyo&
    – Face detection with a smiley: http://www.youtube.com/watch?v=r4XArSFPwPc
    – Funny Eyes: http://www.youtube.com/watch?v=9WXLs4qQ5nk

16-05-2009   Jorge Cardoso    Computer Music Doctoral Program
30


                             References
• Webpages
    – Computer vision techniques for artists (by Golan Levin):
      http://www.flong.com/texts/essays/essay_cvad/
    – Processing Website: http://processing.org/
    – Processing Books: http://processing.org/learning/books/
    – Portuguese Processing Forum: http://processing.jorgecardoso.eu
    – Color metrics: http://www.compuphase.com/cmetric.htm
    – Bryan Chung (Optical Flow videos):
      http://www.bryanchung.net/?p=262
    – OpenCV Processing library: http://ubaa.net/shared/processing/opencv/




16-05-2009   Jorge Cardoso    Computer Music Doctoral Program
Stuff you need to make the examples                           31



                  run
• Processing
• OpenCV processing library
• Webcam




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program
32

                               The End

• Code Overview – anything in particular?
• Questions?
• …




16-05-2009   Jorge Cardoso   Computer Music Doctoral Program

More Related Content

What's hot

Compressive Light Field Displays
Compressive Light Field DisplaysCompressive Light Field Displays
Compressive Light Field DisplaysGordon Wetzstein
 
Generating a time shrunk lecture video by event
Generating a time shrunk lecture video by eventGenerating a time shrunk lecture video by event
Generating a time shrunk lecture video by eventYara Ali
 
VR2.0: Making Virtual Reality Better Than Reality?
VR2.0: Making Virtual Reality Better Than Reality?VR2.0: Making Virtual Reality Better Than Reality?
VR2.0: Making Virtual Reality Better Than Reality?StanfordComputationalImaging
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2StanfordComputationalImaging
 
Regeneration of hologram from a slice
Regeneration of hologram from a sliceRegeneration of hologram from a slice
Regeneration of hologram from a sliceDheeraj Yadav
 
Detection Tracking and Recognition of Human Poses for a Real Time Spatial Game
Detection Tracking and Recognition of Human Poses for a Real Time Spatial GameDetection Tracking and Recognition of Human Poses for a Real Time Spatial Game
Detection Tracking and Recognition of Human Poses for a Real Time Spatial GameWolfgang Hürst
 
Troyer patent charts 101413
Troyer patent charts 101413Troyer patent charts 101413
Troyer patent charts 101413Diane Troyer
 
Hive Holographic Immersive Virutal Laser Projector Troyer
Hive Holographic Immersive Virutal Laser Projector TroyerHive Holographic Immersive Virutal Laser Projector Troyer
Hive Holographic Immersive Virutal Laser Projector TroyerDiane Troyer
 
Metatroy HIVE proposal 91212
Metatroy HIVE proposal 91212Metatroy HIVE proposal 91212
Metatroy HIVE proposal 91212Diane Troyer
 
CG OpenGL line & area-course 3
CG OpenGL line & area-course 3CG OpenGL line & area-course 3
CG OpenGL line & area-course 3fungfung Chen
 
Laser projector opportunity (MetaZtron Vision)
Laser projector opportunity (MetaZtron Vision)Laser projector opportunity (MetaZtron Vision)
Laser projector opportunity (MetaZtron Vision)Diane Troyer
 
MetaZtron holographic Z depth factor
MetaZtron holographic Z depth factorMetaZtron holographic Z depth factor
MetaZtron holographic Z depth factorDiane Troyer
 
Keynote at 23rd International Display Workshop
Keynote at 23rd International Display WorkshopKeynote at 23rd International Display Workshop
Keynote at 23rd International Display WorkshopChristian Sandor
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...PyData
 
CS 354 Global Illumination
CS 354 Global IlluminationCS 354 Global Illumination
CS 354 Global IlluminationMark Kilgard
 

What's hot (19)

Compressive Light Field Displays
Compressive Light Field DisplaysCompressive Light Field Displays
Compressive Light Field Displays
 
Generating a time shrunk lecture video by event
Generating a time shrunk lecture video by eventGenerating a time shrunk lecture video by event
Generating a time shrunk lecture video by event
 
The Light Field Stereoscope | SIGGRAPH 2015
The Light Field Stereoscope | SIGGRAPH 2015The Light Field Stereoscope | SIGGRAPH 2015
The Light Field Stereoscope | SIGGRAPH 2015
 
VR2.0: Making Virtual Reality Better Than Reality?
VR2.0: Making Virtual Reality Better Than Reality?VR2.0: Making Virtual Reality Better Than Reality?
VR2.0: Making Virtual Reality Better Than Reality?
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
 
Regeneration of hologram from a slice
Regeneration of hologram from a sliceRegeneration of hologram from a slice
Regeneration of hologram from a slice
 
Detection Tracking and Recognition of Human Poses for a Real Time Spatial Game
Detection Tracking and Recognition of Human Poses for a Real Time Spatial GameDetection Tracking and Recognition of Human Poses for a Real Time Spatial Game
Detection Tracking and Recognition of Human Poses for a Real Time Spatial Game
 
Lecture 05: Vision
Lecture 05: VisionLecture 05: Vision
Lecture 05: Vision
 
Troyer patent charts 101413
Troyer patent charts 101413Troyer patent charts 101413
Troyer patent charts 101413
 
Hive Holographic Immersive Virutal Laser Projector Troyer
Hive Holographic Immersive Virutal Laser Projector TroyerHive Holographic Immersive Virutal Laser Projector Troyer
Hive Holographic Immersive Virutal Laser Projector Troyer
 
CS 354 Lighting
CS 354 LightingCS 354 Lighting
CS 354 Lighting
 
Raskar Mar09 Nesosa
Raskar Mar09 NesosaRaskar Mar09 Nesosa
Raskar Mar09 Nesosa
 
Metatroy HIVE proposal 91212
Metatroy HIVE proposal 91212Metatroy HIVE proposal 91212
Metatroy HIVE proposal 91212
 
CG OpenGL line & area-course 3
CG OpenGL line & area-course 3CG OpenGL line & area-course 3
CG OpenGL line & area-course 3
 
Laser projector opportunity (MetaZtron Vision)
Laser projector opportunity (MetaZtron Vision)Laser projector opportunity (MetaZtron Vision)
Laser projector opportunity (MetaZtron Vision)
 
MetaZtron holographic Z depth factor
MetaZtron holographic Z depth factorMetaZtron holographic Z depth factor
MetaZtron holographic Z depth factor
 
Keynote at 23rd International Display Workshop
Keynote at 23rd International Display WorkshopKeynote at 23rd International Display Workshop
Keynote at 23rd International Display Workshop
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
 
CS 354 Global Illumination
CS 354 Global IlluminationCS 354 Global Illumination
CS 354 Global Illumination
 

Similar to Computer Vision For Computer Music

“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...Edge AI and Vision Alliance
 
Ray casting algorithm by mhm
Ray casting algorithm by mhmRay casting algorithm by mhm
Ray casting algorithm by mhmMd Mosharof Hosen
 
NVIDIA effects GDC09
NVIDIA effects GDC09NVIDIA effects GDC09
NVIDIA effects GDC09IGDA_London
 
Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Shigeru Kobayashi
 
Video Fingerprinting and Applications: A Review
Video Fingerprinting and Applications: A ReviewVideo Fingerprinting and Applications: A Review
Video Fingerprinting and Applications: A ReviewJian Lu
 
Towards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time NotationTowards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time Notationchrismcclelland
 
TAAI 2016 Keynote Talk: It is all about AI
TAAI 2016 Keynote Talk: It is all about AITAAI 2016 Keynote Talk: It is all about AI
TAAI 2016 Keynote Talk: It is all about AIYi-Shin Chen
 
Remixable Media Week 5 Seminar
Remixable Media Week 5 SeminarRemixable Media Week 5 Seminar
Remixable Media Week 5 SeminarMichela Ledwidge
 

Similar to Computer Vision For Computer Music (12)

“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
“CMOS Image Sensors: A Guide to Building the Eyes of a Vision System,” a Pres...
 
Processing
ProcessingProcessing
Processing
 
Ray casting algorithm by mhm
Ray casting algorithm by mhmRay casting algorithm by mhm
Ray casting algorithm by mhm
 
NVIDIA effects GDC09
NVIDIA effects GDC09NVIDIA effects GDC09
NVIDIA effects GDC09
 
Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009Ubiquitous Content Symposium 2009
Ubiquitous Content Symposium 2009
 
Powerpint
PowerpintPowerpint
Powerpint
 
Video Fingerprinting and Applications: A Review
Video Fingerprinting and Applications: A ReviewVideo Fingerprinting and Applications: A Review
Video Fingerprinting and Applications: A Review
 
Towards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time NotationTowards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time Notation
 
TAAI 2016 Keynote Talk: It is all about AI
TAAI 2016 Keynote Talk: It is all about AITAAI 2016 Keynote Talk: It is all about AI
TAAI 2016 Keynote Talk: It is all about AI
 
Powerpint
PowerpintPowerpint
Powerpint
 
Remixable Media Week 5 Seminar
Remixable Media Week 5 SeminarRemixable Media Week 5 Seminar
Remixable Media Week 5 Seminar
 
3d scanning techniques
3d scanning techniques3d scanning techniques
3d scanning techniques
 

More from Jorge Cardoso

Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...Jorge Cardoso
 
Criação de Ambientes de Realidade Virtual usando A-Frame
Criação de Ambientes  de Realidade Virtual  usando A-FrameCriação de Ambientes  de Realidade Virtual  usando A-Frame
Criação de Ambientes de Realidade Virtual usando A-FrameJorge Cardoso
 
Journal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJournal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJorge Cardoso
 
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationEvaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationJorge Cardoso
 
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...Jorge Cardoso
 
Digital tools for exploring roman mosaic
Digital tools for exploring roman mosaicDigital tools for exploring roman mosaic
Digital tools for exploring roman mosaicJorge Cardoso
 
Interaction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityInteraction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityJorge Cardoso
 
Interacção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualInteracção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualJorge Cardoso
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentationJorge Cardoso
 
Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Jorge Cardoso
 
Evaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsEvaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsJorge Cardoso
 
Interaction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artInteraction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artJorge Cardoso
 
PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012Jorge Cardoso
 
PuReWidgets toolkit
PuReWidgets toolkit PuReWidgets toolkit
PuReWidgets toolkit Jorge Cardoso
 
Assessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionAssessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionJorge Cardoso
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Jorge Cardoso
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing Jorge Cardoso
 
Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Jorge Cardoso
 

More from Jorge Cardoso (20)

Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
 
Criação de Ambientes de Realidade Virtual usando A-Frame
Criação de Ambientes  de Realidade Virtual  usando A-FrameCriação de Ambientes  de Realidade Virtual  usando A-Frame
Criação de Ambientes de Realidade Virtual usando A-Frame
 
Journal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJournal of Science and Technology of the Arts
Journal of Science and Technology of the Arts
 
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationEvaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
 
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
 
Digital tools for exploring roman mosaic
Digital tools for exploring roman mosaicDigital tools for exploring roman mosaic
Digital tools for exploring roman mosaic
 
Interaction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityInteraction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual reality
 
Interacção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualInteracção em ambientes de realidade virtual
Interacção em ambientes de realidade virtual
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentation
 
Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...
 
Evaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsEvaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applications
 
Interaction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artInteraction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive art
 
PuReWidgets toolkit
PuReWidgets toolkitPuReWidgets toolkit
PuReWidgets toolkit
 
PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012
 
PuReWidgets toolkit
PuReWidgets toolkit PuReWidgets toolkit
PuReWidgets toolkit
 
Assessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionAssessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared Interaction
 
Oop java
Oop javaOop java
Oop java
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 
Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)
 

Recently uploaded

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 

Recently uploaded (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

Computer Vision For Computer Music

  • 1. Computer Vision Techniques for Musical Interaction Using Processing Computer Music Doctoral Program http://www.artes.ucp.pt/si/doutoramento/index.html 16-05-2009 Jorge Cardoso 1
  • 2. 2 Topics • Introduction to session – What (is this session about) – How (the session will go through) – Who (am I) • Techniques – Examples and live demos – Brightness/Color detection – Background subtraction – Movement detection – Movement estimation – Face Detection • Techniques – Code Overview – (Depending on time left) – Mixed Initiative (tell me what you want to see in more detail) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 3. 3 What • Overview of some computer vision techniques – How they work and what are the main limitations – How to use them in Processing • Some –very simple(istic)– examples of how they can be used for musical interaction “Computer vision is the science and technology of machines that see. As a scientific discipline, computer vision is concerned with the theory for building artificial systems that obtain information from images” – Computer vision. (2009, April 24). In Wikipedia, The Free Encyclopedia. Retrieved 11:53, May 9, 2009, from http://en.wikipedia.org/w/index.php?title=Computer_vision&oldid=285848177 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 4. 4 What • Techniques – Color detection (where in the image, does a given color appear – can be used for tracking objects) – Brightness detection (what is the position of the brightest pixels) – Background subtraction for object vectorization – Movement detection (where –coordinates– in the image has movement occurred) – Movement estimation (what direction are the objects moving) – Face detection (is there a face in the image? where?) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 5. 5 How • General overview of how those CV techniques work – Will try not to dwelve much into code in this phase • Examples of what can be accomplished with the techniques – Vídeos – Live demos • Depending on time left – Tell me if you want to see something in more detail – More detailed description of code (libraries needed, etc) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 6. 6 Who • Jorge Cardoso (http://jorgecardoso.eu) • Teacher of Interactive Video Art course (School of Arts) – Mainly computer vision techniques for (full) body interaction with screen projections – Students use Processing and CV techniques for interactive art projects 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 7. 7 Color detection • Isolate color regions in an image • Procedure: – Go through the image, pixel by pixel – Calculate the distance between the color of the current pixel and the reference color – If distance is smaller than a given threshold, keep the pixel 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 8. 8 Color Detection • Q: How do we calculate the “distance” between two pixels? • A: Simple version: euclidean distance. – Take a color as a point in 3D space (RGB -> XYZ) – Calculate the distance between the two points • Subtract each component (dR = R1-R2, dG = G1-G2, dB = B1-B2) • Dist = Sqrt(dR*dR + dG*dG + dB*dB) • A1: Slightly (perceptively) better version: weight each component differently: • Dist = Sqrt(2*dR*dR + 4*dG*dG + 3*dB*dB) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 9. 9 Color Detection • Q: What’s it good for? • A: – Catch of the day [video] – Play-doh as Piano Keyboard [video] – ColorDifferenceInstrument [live demo] – ColorDifferenceDistanceInstrument [live demo] – ColorDifferenceAngleInstrument [live demo] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 10. 10 Brighteness detection • Slight variation on color detection when we’re only interested in tracking bright pixels – For example, to track a light • Procedure: – Same as color detection but extract the brightness of each pixel and keep only the highest 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 11. 11 Brighteness detection • Q: How do we calculated the “brightness” of a color? • A: – In RGB: • (perceptive) Brightness = (0.2126*R) + (0.7152*G) + (0.0722*B) • (physical/energy) Brightness = (R+G+B)/3 • … – In HSB: • Brightness = B ☺ – Just use the brightness() function in whatever language… 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 12. 12 Brighteness detection • Q: Why not just color detection? • A: – Brightness detection is more robust (i.e., less influenced by lighting conditions) – You don’t care about color, just the brightness (for example to detect a lantern) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 13. 13 Brighteness detection • Q: What’s it good for? • A: – Drawing With Light [video] – Burning the Sound [video] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 14. 14 Background subtraction • If we have a fixed camera, and a background image for reference, we can subtract the background to each frame to isolate new objects This - This = This 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 15. 15 Background subtraction • Q: How do we “subtract” two images? • A: Pixel by pixel • Q: How do we “subtract” two pixels? • A: Channel by channel (color component by color component, usually R, G and B) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 16. 16 Background subtraction • Pixel subtraction alone doesn’t work very well due to noise or shadows in the image • The resulting subtraction must be thresholded to eliminate noise 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 17. 17 Background subtraction • After subtracting and thresholding, we can binarize the image to get a mask 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 18. 18 Background Subtraction • Q: What’s it good for? • A: Isolating objects in a scene. The mask can be vectorized, giving us access to it’s contour (polygon). – Bg Subtraction [Live demo] – Position Through Background [Video] – BouncingBalls [Live demo] – SoundingPolygon [Live demo] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 19. 19 Movement Detection • If we subtract two consecutive video frames, threshold and binarize it, we get a rough view of the movement in the video • Since we don’t need a reference frame, this technique is more rubost in face of lighting conditions 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 20. 20 Movement Detection • Q: What’s it good for? • A: – WebCam Piano [video] – Air Piano [live demo] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 21. 21 Motion Estimation (aka Optical Flow) • Estimate the movement vectors of blocks in a sequence of two images • Procedure – Divide both images into blocks – For each block in image one, find the closest (more similar) block in image two Image: http://grauonline.de/wordpress/wp-content/uploads/ovscreenshot1.png 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 22. 22 Motion Estimation • Q: What’s it good for? • A: – BryanChung Example [video] – OpticalFlowMidi [live demo] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 23. 23 Face detection • Not recognition! • Needs a configuration file that determins what to detect (front faces, side faces, body, etc) • Returns the position and size of detected faces 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 24. 24 Face Detection • Q: What’s it good for? • A: – Face Detection With A Smiley [video] – Funny Eyes [video] [live demo] 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 25. 25 Summary • Color detection – Needs good lighting – Can track (several) objects by color • Brighteness detection – Robust, needs only slightly controled lighting conditions (low light) – High accuracy of position and movement – Can track several objects at the same time (with some restrictions) 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 26. 26 Summary • Background subtraction – Needs initial setup on startup (reference frame) – Needs highly controled lighting conditions. – Isolates objects without any marker (color or light) – Can be used to determine distance to camera (without great accuracy) – Can be used to detect movement 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 27. 27 Summary • Movement Detection/Estimation – No startup configuration – Doesn’t need very controlled lighting conditions – Determins regions where movement occured – Hard to determine number of objects moving 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 28. 28 Summary • Face detection – Needs relatively controlled lighting conditions – Needs relatively controlled positioning of people (near and looking directly at the camera) – Detects position and size (approximate) of faces 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 29. 29 References • Videos – Catch of the day: http://www.youtube.com/watch?v=G8-Nvyx0xtk – Play-Doh as Piano Keyboard!: http://vimeo.com/465726?pg=embed&sec= – Drawing with Light: http://www.youtube.com/watch?v=VDP3e20uYMI – Burning the Sound: http://www.vimeo.com/3096584 – Position through background subtraction: http://www.youtube.com/watch?v=yyc8aionno4 – Webcam piano: http://www.vimeo.com/1219327?pg=embed&sec=1219327 – Bryan Chung optical flow: http://www.youtube.com/watch?v=WCdQ8KQ_Wyo& – Face detection with a smiley: http://www.youtube.com/watch?v=r4XArSFPwPc – Funny Eyes: http://www.youtube.com/watch?v=9WXLs4qQ5nk 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 30. 30 References • Webpages – Computer vision techniques for artists (by Golan Levin): http://www.flong.com/texts/essays/essay_cvad/ – Processing Website: http://processing.org/ – Processing Books: http://processing.org/learning/books/ – Portuguese Processing Forum: http://processing.jorgecardoso.eu – Color metrics: http://www.compuphase.com/cmetric.htm – Bryan Chung (Optical Flow videos): http://www.bryanchung.net/?p=262 – OpenCV Processing library: http://ubaa.net/shared/processing/opencv/ 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 31. Stuff you need to make the examples 31 run • Processing • OpenCV processing library • Webcam 16-05-2009 Jorge Cardoso Computer Music Doctoral Program
  • 32. 32 The End • Code Overview – anything in particular? • Questions? • … 16-05-2009 Jorge Cardoso Computer Music Doctoral Program