Multi-Platform Development of Audiovisual and Kinetic Installations

Iannis Zannos

Proceedings of the International Conference on New Interfaces for Musical Expression

  • Year: 2008
  • Location: Genoa, Italy
  • Pages: 261–264
  • Keywords: kinetic art, audiovisual installations, python, SuperCollider, Processing, algorithmic art, tools for multi-platform development
  • DOI: 10.5281/zenodo.1177459 (Link to paper)
  • PDF link

Abstract:

In this paper, we describe the development of multi-platform tools for Audiovisual and Kinetic installations. These involve the connection of three development environments: Python, SuperCollider and Processing, in order to drive kinetic art installations and to combine these with digital synthesis of sound and image in real time. By connecting these three platforms via the OSC protocol, we enable the control in real time of analog physical media (a device that draws figures on sand), sound synthesis and image synthesis. We worked on the development of algorithms for drawing figures and synthesizing images and sound on all three platforms and experimented with various mechanisms for coordinating synthesis and rendering in different media. Several problems were addressed: How to coordinate the timing between different platforms? What configuration to use? Clientserver (who is the client who the server?), equal partners, mixed configurations. A library was developed in SuperCollider to enable the packaging of algorithms into modules with automatic generation of GUI from specifications, and the saving of configurations of modules into session files as scripts in SuperCollider code. The application of this library as a framework for both driving graphic synthesis in Processing and receiving control data from it resulted in an environment for experimentation that is also being used successfully in teaching interactive audiovisual media.

Citation:

Iannis Zannos. 2008. Multi-Platform Development of Audiovisual and Kinetic Installations. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.5281/zenodo.1177459

BibTeX Entry:

  @inproceedings{Zannos2008,
 abstract = {In this paper, we describe the development of multi-platform tools for Audiovisual and Kinetic installations. These involve the connection of three development environments: Python, SuperCollider and Processing, in order to drive kinetic art installations and to combine these with digital synthesis of sound and image in real time. By connecting these three platforms via the OSC protocol, we enable the control in real time of analog physical media (a device that draws figures on sand), sound synthesis and image synthesis. We worked on the development of algorithms for drawing figures and synthesizing images and sound on all three platforms and experimented with various mechanisms for coordinating synthesis and rendering in different media. Several problems were addressed: How to coordinate the timing between different platforms? What configuration to use? Clientserver (who is the client who the server?), equal partners, mixed configurations. A library was developed in SuperCollider to enable the packaging of algorithms into modules with automatic generation of GUI from specifications, and the saving of configurations of modules into session files as scripts in SuperCollider code. The application of this library as a framework for both driving graphic synthesis in Processing and receiving control data from it resulted in an environment for experimentation that is also being used successfully in teaching interactive audiovisual media. },
 address = {Genoa, Italy},
 author = {Zannos, Iannis},
 booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression},
 doi = {10.5281/zenodo.1177459},
 issn = {2220-4806},
 keywords = {kinetic art, audiovisual installations, python, SuperCollider, Processing, algorithmic art, tools for multi-platform development },
 pages = {261--264},
 title = {Multi-Platform Development of Audiovisual and Kinetic Installations},
 url = {http://www.nime.org/proceedings/2008/nime2008_261.pdf},
 year = {2008}
}