Repositories

sigv.js repo: github.com/magfoto/sigv.js
sigview repo: github.com/magfoto/sigview

Overview and Techniques
Experiment Videos Hello Monde
Module Pages
Grid Lights Model Tilde Switch Lorenz Experiment

sigview/sigv.js

Abstract

This research explores live coding performance of both visuals and sound, by making a custom tool for controlling various software instruments.

Introduction

The making of sigv.js was inspired by the need to make a custom environment for live coding sound and image. Improvisation, the semantics behind live coding, and modular synthesis were the premise behind the making of sigv.js and its components. the modular approach taken with sigv.js was to make the adding of modules quick and easy during live performance, allowing the performer to start with the necessary modules they want or need, and alter that configuration as they perform.

Methodology

The modules are grouped into two main categories: primitives (visual) and systems environment modules.

sigv.js module groups. The primitives refer to geometry modules, such as grid, model, and wave. In the systems-env group you'll find modules such as light, tilde, midi, and grain.

graph TD A[sigv.js] --> B[primitives] A --> C[systems-env]

The first group, primitives, refer to the seven base visual primitives. wave is the first one, also called the parametric wave and denotes an oscilloscope style wave. Another more common primitive is model and represents externally imported geometry.

Primitives such as grid, consists of two meshes morphed together, that can be modified independently or together as one. terra and proc are procedural primitives whereas graph and sketch are OpenGL based primitives.

Finally the systems environment modules consists of modules for adding lights that move around autonomously, light, for displaying specs on certain objects and processes specs, or a module to communicate with a granular synthesizer called EC2.

The osc module is for sending out Open Sound Control (OSC) messages, however, it is currently setup to beta test shiftr. The midi module is for communicating with both software and hardware MIDI instruments.

Results / Conclusion

For future direction, the modular design of sigv.js will allow for additional modules to be added. From this, further workflows can be generated making sigv.js more of a general purpose tool for composition and/or live performance.