Digital Art

Technologies for creative and artistic applications


Programming with aesthetic intent

Community-developed, free and open source library for professional-quality creative coding with aesthetic intent to create in C++. It allows programming graphics, audio, video, networking, image processing and computational geometry. Cinder is cross-platform and supports different operating systems. It is comparable to OpenFramworks, but it uses more system-specific libraries for better performance, resulting in less control and transparency.


Interactive visualizations

A JavaScript library for producing dynamic, interactive data visualizations in web browsers. It combines powerful visualization components and a data-driven approach to manipulate documents. It makes use of Web standards, Scalable Vector Graphics, HTML5 and CSS.


Creative dynamics of improvised interaction library

The DYCI2 library contains a collection of generative agents and tools for smart composition and human-machine co-improvisation. It integrates the results of the DYCI2 project and shapes a next-generation software with regard to OMax.


Machine learning in the creative process

Open source research project exploring the role of machine learning as a tool in the creative process. Magenta features deep learning and reinforcement learning algorithms for generating songs, images, drawings, and other materials. It provides smart tools and interfaces that allow artists and musicians to extend their processes using these models.


Creative coding in C++

Community-developed cross platform toolkit for creative coding in C++. It provides simplified interface to powerful libraries for media, hardware and communication. Similar to Processing, but based on C++ instead of Java.


Learning to code for visual art

Flexible software sketchbook and a language for learning how to code within the context of the visual arts. It provides a free graphical library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context. Processing uses the Java language, with additional simplifications.


Visual programming for music and multimedia

Free real-time computer music system that enables musicians, visual artists, performers, researchers, and developers to create software graphically without writing lines of code. It can be used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI. It is suitable for learning basic multimedia processing and visual programming methods as well as for realizing complex systems for large-scale projects.

Python OSC

Python library for implementing OSC (Open Sound Control)

Python-osc implements a server and client for Open Sound Control. It allows a python access to a versatile protocol used in many musical instruments, controller hardware and control applications.


Real time video synthesis

Hybrid visual/textual live-programming environment for easy prototyping and development. It facilitates real-time video synthesis and the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.