In Pendaphonics installations, Gametraks are mounted on the ceiling, and their tethers carry balls or other objects (Pendaphones) as counterweights to the reels' spring-return force. As for a diver at neutral buoyancy, the player stops working against a constant force and controls the bob's inertia instead.
Each Pendaphone can be raised and lowered between 0 and 3 metres, and its swing controls the sound from a loudspeaker mounted above it.
More loudspeakers, to spread the sounds around the space (optional)
A board to read the sensors (optional): the installations used CREATE USB Interface (CUI) boards, four Pendaphones to a board
Ceiling mounts for the Gametraks and the loudspeakers, professionally rigged
Tools
A screwdriver and a soldering iron, for Set Up a Gametrak for Music, or to wire a board that reads the sensors
A ladder or lift, to reach the rigged Gametrak and loudspeakers
A scale, to weigh the bobs
A tape measure, to set the bobs' heights
Skills
Mapping controller data to sound
Instructions
Have the Gametrak mounted on the ceiling by a professional rigger, with its tethers pointing down.
Attach a ball or other object to each tether as its bob, heavy enough to balance the reel's pull (about 1/2 lb, or 0.23 kg), so that the bob stays where it is put.
Set each bob at a height between 0 and 3 metres, with its amplified loudspeaker rigged above it.
From each tether's two angles and extension, compute the bob's position, the direction and speed of its circling, and its height.
Map the swing to sound. For example, as a turntable: circling clockwise plays a rhythmic soundtrack forward, circling counter-clockwise plays it backward, and the speed of circling sets the playback speed.
A bob with a projected 3D environment; three suspended Pendaphones; a child plucking the tether while holding the bob steady. From the SMC 2009 paper.
Variations
Percussion ring: play a percussion sound every 30 degrees of the swing, its pitch set by the bob's height and a filter set by its acceleration.
Soundscape: let the swing generate tones that mix into a pre-composed soundscape (at the Platform4 event, a piece by Mads Weitling).
Put a loudspeaker in the bob itself, for natural Doppler and Leslie effects.
Pluck a Pendaphone's tether to set up later events or trigger effects.
Put an accelerometer in the bob, to sense players handling it while the tether is still.
Sense how two or more bobs move relative to each other.
Throw and catch sounds between Pendaphones, locally or over a network.
A prompt to give a coding assistant, to start the code for this activity. Copy the box, answer its questions about your board and pins, and test what comes back on the bench before you rely on it.
Write a Max or Pd patch, or a program, for a Gametrak mounted on the ceiling with a bob hanging from each tether. From each tether's two angles and extension, compute the bob's position, the direction and speed of its circling, and its height. State the geometry you assume for the angles, and check it against a measured position.
Map the swing to sound, for example as a turntable: circling clockwise plays a rhythmic soundtrack forward, circling counter-clockwise plays it backward, and the speed of circling sets the playback speed.
Libraries to explore:
o.io.gametrak (CNMAT MMJ Depot): CNMAT's Max patch for the Gametrak: it opens the device and outputs /left/x, /left/y, /left/z, /right/x, /right/y, /right/z and /footswitch, the angles scaled from -1 to 1 and the extensions from 0 to 1 (https://github.com/CNMAT/CNMAT-MMJ-Depot/tree/master/patchers/io/gametrak)
odot (CNMAT): the o. objects for Max and Pd that o.io.gametrak is built from, with OSC bundles as their data type (https://github.com/CNMAT/CNMAT-odot)
Before writing anything, ask me what I am using: the board and its pins, or the software (such as Max, Pd or Python), and check its documentation for what this needs. Put the pin numbers, ranges and other settings in one block at the top, each with a comment. Say which of the libraries above you use, and why. Start with a test that shows the raw readings, so that I can check the wiring and the ranges before the rest.
This activity by Adrian Freed is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0): you may share and adapt it with attribution, for non-commercial purposes such as personal projects and teaching, and you must share adaptations under the same licence. Product names and links belong to their suppliers.