Technologies for creative and artistic applications
Cinder
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.
D3.js
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.
DYCI2
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.
Magenta
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.
OpenFrameworks
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.
Processing
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.
PureData
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.
vvvv
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.