SlideShare a Scribd company logo
Introduction to the Impromptu
     livecoding environment
             2011 Libre Software Meeting
              Strasbourg, France, 9/7/11




Michele Pasin
Department of Digital Humanities
Kings College, London

michele.pasin@kcl.ac.uk
www.michelepasin.org/
Quick Facts #1



1. OSx.      Impromptu is an OSX programming language and
environment for composers, sound artists, VJ's and graphic artists with
an interest in live or interactive programming (developed by Andrew
Sorensen, since 2006-7)

2. Scheme.       Impromptu is a Scheme language environment, a
member of the Lisp family of languages.



3. AudioUnits. Impromptu is a programmable AudioUnit host.
Musical material can be precisely scheduled for performance by
any AudioUnit instrument node and parameters, program changes
and presets can be programmatically changed on-the-fly as well as
directly via the AU's user interface.
Quick Facts #2


4. On-the-fly programming.                 Write, modify, compile and
hot swap custom signal processing code - an ability that allows you to
write low level sound synthesis code during live performance. This
functionality is designed to interoperate with the AudioUnit signal
graph allowing you to freely mix your favorite AudioUnits with custom
synthesis code.

5. Graphics.          Graphics routines can be applied with the same
temporal accuracy as audio material allowing artists to tightly
integrate audio and visual components. Eg OpenGL, live video
processing, vector drawing routines, image rendering, CoreImage
filters, text rendering and quicktime movie support


6. ObjC bridge. Impromptu also includes a bidirectional
ObjC-Bridge allowing Scheme to instantiate and call ObjC objects
and ObjC objects to call back into the Scheme interpreter.
Useful Resources :: the website




2. Approach. DJFacet, a multi-result dynamic
taxonomies search system
Useful Resources :: other stuff


- Mailing List



- Wiki




- Google Group
Extempore: opening up Impromptu



- Open Source - Open Platform: Extempore currently
builds on both OSX and Linux platforms and should easily port to any
UNIX environment. The project intends to also extend to the Windows
platform at some point in the not to distant future.



- Very recent development..
 get involved if interested!
Example: play a note
Example: a function that creates chords
Example: chords function.. with a touch of
randomness
Example: generating high notes for Dmin7
... thanks!


  	
     	
     	
  

More Related Content

PDF
Security System with PIR sensor and Raspberry Pi
ODP
#Make01
PDF
Intro to Jupyter Notebooks
KEY
Speech Class #2 09 Copy
PPTX
Semantic Technology in Publishing & Finance
PDF
Semantic Technology: State of the arts and Trends
PDF
LiveCoding Package for Pharo
ODP
Presentation on LMMS
Security System with PIR sensor and Raspberry Pi
#Make01
Intro to Jupyter Notebooks
Speech Class #2 09 Copy
Semantic Technology in Publishing & Finance
Semantic Technology: State of the arts and Trends
LiveCoding Package for Pharo
Presentation on LMMS

More from Michele Pasin (16)

PDF
Designing great dashboards: a slidedeck for dashboard developers
PDF
STI 2022 - Generating large-scale network analyses of scientific landscapes i...
PDF
ODI Summit 2016 - Linked Open Data at Springer Nature
PDF
Linked Data Experiences at Springer Nature
PDF
How do philosophers think their own disciplines?
PDF
The Nature.com ontologies portal - Linked Science 2015
PDF
Linked data experience at Macmillan: Building discovery services for scientif...
PDF
Exploring highly interconnected humanities data: are faceted browsers always ...
PDF
Semantic Web Approaches in Digital History: an Introduction
PDF
Prosopography and Computer Ontologies: Towards a Formal Representation of the...
PDF
Digital Humanities 2009 - Laying out the conceptual foundations for data inte...
PDF
An Ontological View of Canonical Citations
PDF
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
PDF
Introducing FRBR-OO (CCH KR workshop 2.2)
PDF
Introducing CIDOC-CRM (Cch KR workshop #2.1)
PDF
KR Workshop 1 - Ontologies
Designing great dashboards: a slidedeck for dashboard developers
STI 2022 - Generating large-scale network analyses of scientific landscapes i...
ODI Summit 2016 - Linked Open Data at Springer Nature
Linked Data Experiences at Springer Nature
How do philosophers think their own disciplines?
The Nature.com ontologies portal - Linked Science 2015
Linked data experience at Macmillan: Building discovery services for scientif...
Exploring highly interconnected humanities data: are faceted browsers always ...
Semantic Web Approaches in Digital History: an Introduction
Prosopography and Computer Ontologies: Towards a Formal Representation of the...
Digital Humanities 2009 - Laying out the conceptual foundations for data inte...
An Ontological View of Canonical Citations
DH11: Browsing Highly Interconnected Humanities Databases Through Multi-Resul...
Introducing FRBR-OO (CCH KR workshop 2.2)
Introducing CIDOC-CRM (Cch KR workshop #2.1)
KR Workshop 1 - Ontologies
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
KodekX | Application Modernization Development
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KodekX | Application Modernization Development
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Ad

Livecoding with impromptu

  • 1. Introduction to the Impromptu livecoding environment 2011 Libre Software Meeting Strasbourg, France, 9/7/11 Michele Pasin Department of Digital Humanities Kings College, London michele.pasin@kcl.ac.uk www.michelepasin.org/
  • 2. Quick Facts #1 1. OSx. Impromptu is an OSX programming language and environment for composers, sound artists, VJ's and graphic artists with an interest in live or interactive programming (developed by Andrew Sorensen, since 2006-7) 2. Scheme. Impromptu is a Scheme language environment, a member of the Lisp family of languages. 3. AudioUnits. Impromptu is a programmable AudioUnit host. Musical material can be precisely scheduled for performance by any AudioUnit instrument node and parameters, program changes and presets can be programmatically changed on-the-fly as well as directly via the AU's user interface.
  • 3. Quick Facts #2 4. On-the-fly programming. Write, modify, compile and hot swap custom signal processing code - an ability that allows you to write low level sound synthesis code during live performance. This functionality is designed to interoperate with the AudioUnit signal graph allowing you to freely mix your favorite AudioUnits with custom synthesis code. 5. Graphics. Graphics routines can be applied with the same temporal accuracy as audio material allowing artists to tightly integrate audio and visual components. Eg OpenGL, live video processing, vector drawing routines, image rendering, CoreImage filters, text rendering and quicktime movie support 6. ObjC bridge. Impromptu also includes a bidirectional ObjC-Bridge allowing Scheme to instantiate and call ObjC objects and ObjC objects to call back into the Scheme interpreter.
  • 4. Useful Resources :: the website 2. Approach. DJFacet, a multi-result dynamic taxonomies search system
  • 5. Useful Resources :: other stuff - Mailing List - Wiki - Google Group
  • 6. Extempore: opening up Impromptu - Open Source - Open Platform: Extempore currently builds on both OSX and Linux platforms and should easily port to any UNIX environment. The project intends to also extend to the Windows platform at some point in the not to distant future. - Very recent development.. get involved if interested!
  • 8. Example: a function that creates chords
  • 9. Example: chords function.. with a touch of randomness
  • 10. Example: generating high notes for Dmin7
  • 11. ... thanks!