CrossBox

an audio effect box with live visual controls

CrossBox is an audio effect box with live visual controls built for live performances. It is built using Bela micro controller with I2C sensors. The program runs on Bela API using C++ and could be booted on Bela to be performed as a standalone device. 

The box uses two audio input signals and applies cross-synthesis to modulate one signal with the other. The cross-synthesis algorithm is adapted from The Audio Programming Book by Richard Boulanger, and the code uses Bela’s FFT library with auxiliary tasks to run in real time.

The Trill Captive Sensors controls effects including spectral gating , feedback delay, flanger, and a low-pass resonant filter. LEDs are added around the Trill Ring sensor to imply finger touch position when the user controls the delay time.

An Adafruit BNO-055 gyroscope is added to control the bit-crusher effect. The Trill sensors are designed to control live visual effects in TouchDesigner through OSC. Electronic components are soldered on solder board to assure stability and performance. 

CrossBox is aimed to give the performer an intuitive control over audio and visual effects. The performer is allowed to interact with sound and visual using body gestures and finger touches. The design is proved to work well with real time audio in a live performance with modular synth. 

Project URL:

For project source code and design details, please visit github page.

before assembling

Bno-055 gyroscope with Trill Hub

Granulator

an granular instrument made using Csound with Bela mini Controller

Granulator is an in-progress project made using Csound with Bela mini. It is a granular instrument that granulizes audio using potentiometers, push buttons and an audio input.

User could plug in a synth to the audio input and use the push button to start record and playback. LED are used every time the user start/stop buffer recording and playback. After recording, the user could use the third push button to enable granulation and use separate potentiometers for controlling audio grain size and grain rate.

The code running on the Bela mini is written using Csound. User-define opcode Bufrecord and Bufplay is used for recording and playback audio. The Partikkel opcode is used for granulizing audio.

The project is being tested on the integration with sensors and further designs are being considered for final present.

Project URL:

For project source code and design details, please visit github page.

image of prototype

Csound Code Excerpt