Tethered Theremin

Series: alt.ctrl activities; builds on Gametrak and Theremin

A first exercise in calibrating, mapping and scaling Gametrak gestures. The gloves are worn as intended. One hand's sideways position stands in for its distance from a theremin's upright pitch antenna; the other hand's tether extension stands in for its distance from the volume loop.

A person wearing Gametrak gloves stands behind a Gametrak on a table. Arrows mark the x axis (side to side), the y axis (toward and away) and the z axis (up) at one tether.
The Tethered Theremin's control axes, from the SMC 2009 paper.

Materials

ItemAmazoneBay
A Gametrak controller (originally sold with two gloves and a footswitch)search
A computer with Max/MSP or Pd

Tools

Skills

  • Mapping and scaling controller data in Max/MSP or Pd

Instructions

  1. Set the Gametrak up as in Set Up a Gametrak for Music. Put on the gloves.
  2. Calibrate: record the range of each reading you will use, from one end of a comfortable gesture to the other.
  3. Map one hand's x axis, its sideways position, to the pitch of an oscillator.
  4. Map the other hand's z axis, how far its tether is pulled out, to the volume.
  5. Scale both: choose the pitch range, and the curves from position to pitch and from extension to loudness.

Variations

  • Map the pitch hand's y axis to a wave-shaping filter.
  • The Tethertonium and the Ondestrak take the same idea toward the trautonium and the Ondes Martenot.

Related resources

Coding Prompt Build Block

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 "Tethered Theremin", the activity at https://adrianfreed.com/tethered-theremin.html.

Write a Max or Pd patch, or a program, that plays a theremin from a Gametrak's readings, read as in the activity Set Up a Gametrak for Music. Calibrate: record the range of each reading used, from one end of a comfortable gesture to the other. Map one hand's x axis, its sideways position, to an oscillator's pitch, and the other hand's z axis, how far its tether is pulled out, to the volume.

Make the pitch range, and the curves from position to pitch and from extension to loudness, easy to change while playing.

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.