Series: alt.ctrl activities; builds on Gametrak; Spatial arrangement
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.

| Item | Amazon | eBay |
|---|---|---|
| A Gametrak controller: each has two tethers | search | |
| Balls or other objects, for the bobs | ||
| An amplified loudspeaker for each Pendaphone | ||
| 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-mounting hardware, rated for the load: to be specified. | ||

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.
I am building "Pendaphone", the activity at https://adrianfreed.com/pendaphone.html.
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:
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.