Hi, I'm AUVERN. Nice to meet you.
Scroll down for technical and contact info
Main control is through a Python script, which inputs data from Kinect sensor. This script is then responsible for controlling all other devices, including calculating data for laser, all MIDI output for music control, and all lighting and other devices.
The script has a JSON-based sequencer which can be used to program the shows. For example, turn on and off any of the devices, define any text for AUVERN to say on the terminal.
The Ableton Live software is responsible for playing the music, this includes audio tracks directly out of the computer, and also sending MIDI to control the vintage computers. Hand position is converted into MIDI control data. This data is used to either control aspects of the sound being played and is also used generatively in some sections so the user can control the actual notes being produced.
Each part of the music is stored as a ‘scene’ in Ableton Live. The Python script switches between these scenes depending on how close the user is standing to the Kinect. This allows the user to seamlessly step through all the parts of the tune as they please.
LIGHT AND EFFECTS
Laserworld RGB laser
This is controlled by hand position. Left hand controls the size of the shape the laser is drawing, and right hand controls the speed of rotation. All geometry is calculated by the main Python control script, and data is then sent over network to an Etherdream 2 which controls the laser.
Custom-built 30x24 RGB LED wall
This is built from strips of RGB WS2812 LEDs. It is controlled by an Arduino Mega, with custom built shield allowing each strip to use a separate Arduino IO. The Arduino is controlled by the main Python script over USB serial connection. Left hand controls the brightness of the LEDs, and right hand controls the speed of the changing pattern.
LED strips around Ampex monitor
These are illuminated whenever AUVERN wants to talk to the user. They are controlled by the main Python script via a Raspberry Pi (which also doubles up to control one of the monitors).
This is controlled by a Raspberry Pi Zero via a relay connected to the activation button of the smoke machine. The Pi connects over Wifi to the main Python script, which can activate it. The smoke machine is activated when the user raises both their hands over the head, to a maximum of once per minute.
Controlled by the same Pi Zero as the smoke machine, and is switched using an Energenie remote socket. This is activated when the user crosses their arms over their chest, to a maximum of once every few minutes.
Apple Mac Mini
This runs the main control script, Ableton Live and controls all the other devices.
Apple IIe (1983)
This is used as a drum machine, using DMS Drummer software and the corresponding USB to MIDI interface. It outputs audio to the mixer via a custom jack connector and circuit.
Acorn BBC Master (1986)
This is used to generate sounds for some of the melodies. It’s running a custom 6502 assembly/BBC BASIC program, along with vintage MIDI interface for control.
Vectrex produces both visuals on its screen (rotating 3D boxes), and sound for some of the melodies in the music. Both are controlled via MIDI. MIDI data is received by a Raspberry Pi, which converts it to USB serial data. This data is then fed into a Vectrex32 cartridge, which controls the sound and graphics on the Vectrex.
7 x Raspberry Pi
These control the CRT monitors, Vectrex MIDI, smoke and bubble machines.
Hitachi V-212 20MHz Oscilloscope (mid-1980s)
Used to display the audio waveform being played.
Ampex 270 Terminal (1988)
This is used as the main interaction with the user, guiding them through the experience. This is directly controlled by the main Python script, via a USB to RS232 interface.
5 x JVC CRT monitors
These all show different visualisations and data. The image for each of these is generated by a separate Raspberry Pi, which outputs to the screens via its composite video output. Each of these Pis is connected to the Mac Mini via a wired network. They each run a custom Python script which allows them to show various graphics, visualisations and text from the main script. Each of these can be controlled and updated remotely.
2 x monitors (for BBC Master and Apple IIe)
These monitors are only switched on if a user is present. They are controlled by the Pi Zero which also controls smoke and bubble machines, via an Energenie wireless mains relay.
INTERFACING AND CONTROL
X-Box Kinect sensor
This is connected to the main control computer to detect the user’s movement and position.
© AUVERN 2021