Skip to content

A Processing library that helps you create live, audio-reactive visuals with BPM-synced animations, Arduino controls, and real-time motion driven by music.

License

Notifications You must be signed in to change notification settings

vincentsijben/vjmotion-processing

Repository files navigation

VJMotion library for Processing

TL;DR documentation

Introduction

VJMotion is a small library for Processing that provides easy to use additional functions for creating animated visuals. This Processing library is designed for live performance, combining BPM-synced animations, real-time audio analysis, and physical input via Arduino. Whether you're building generative art for stage shows, interactive installations, or classroom performances, this toolkit makes it easy to connect sound, motion, and control into one expressive visual experience.

You could animate (grow or shrink) shapes in any amount of beats, or delay shrinking a shape to start after 6 beats. Or have a shape change it's color using an Arduino potentiometer or based on the volume of some microphone input. The library builds upon 2 existing libraries: Arduino (Firmata) by David A. Mellis and Minim by Damien Di Fede and Anderson Mills.

Context

This library was originally created in 2023 for the Maastricht Institute of Arts - GenArt exposition. Students were showcasing their generative art work that could be controlled with a custom built Arduino controller. The work was BPM based; a live band performed on stage while students acted as VJ's, controlling their own digital work through the Arduino controller and with most of the visuals animating based on a set BPM. For the exposition and performance of 2024, this library was expanded with 2 additional classes: ArduinoControls (providing additional methods like running code once when someone presses a button) and FrequencyAnalyzer (providing normalized methods for animations based on volume or frequencies).

Generative Art Exposition and Performance in Maastricht 2023
GenArt Expo 2023 (Dutch version)
Generative Art Exposition and Performance in Maastricht 2024
GenArt Expo 2024 (English version)

Students collaborated with several artists in 2024. Click the thumbnail for more information on the artists:

Triana y Luca
Artist Triana y Luca
Ananya Samyt
Artist Ananya Samyt
Gogo
Artist Gogo

Installation

Install the library by downloading the latest release through the Processing Contribution Manager. Open Processing and go to Sketch > Import Library... > Manage Libraries... , search for VJMotion and click install. Once installed, check out all the examples in File > Examples > Contributed Libraries > VJ Motion.

Please read the documentation website for more information on how to use this library.

About

A Processing library that helps you create live, audio-reactive visuals with BPM-synced animations, Arduino controls, and real-time motion driven by music.

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages