Skip to content

chair

chair is a Pure Data library containing abstractions and utilities for audio processing, synthesis, and sensor/parameter mapping developed by CHAIR (Center for Haptic Audio Interaction Research) for use with interactive audio and haptic hardware like the Tickle.

Contributors

People who contribute to this project.

Objects

  • chair.14bit-ctlin chair.14bit-ctlin reads 14-bit MIDI controller values.
  • chair.angle chair.angle calculates the angle between two vectors in Cartesian coordinates.
  • chair.chrismoore-reverb~ chair.chrismoore-reverb~ is a Pd Vanilla implementation of the Chris Moore reverb, intended to add reverberation to an audio signal.
  • chair.dc-offset~ chair.dc-offset~ separates an input signal into a DC-filtered signal at its left outlet and the isolated DC offset at its right outlet.
  • chair.distance chair.distance is a simple calculator for the distance between two points.
  • chair.dynamics~ chair.dynamics~ is a combined compressor and expander for processing an audio signal, with controls for compression/expansion thresholds, attack, release, makeup gain, dry/wet mix, lookahead, and peak or RMS envelope detection.
  • chair.encoders chair.encoders is a helper abstraction for three rotary encoders, routing encoder data for indices 0, 1, and 2.
  • chair.feedback-cancellation~ chair.feedback-cancellation~ helps reduce acoustic feedback when sound from speakers is picked up by a microphone by applying a uniform frequency shift rather than a pitch shift.
  • chair.gain~ chair.gain~ provides audio gain control from -30 to +30 dB and includes a clipping warning.
  • chair.gesture chair.gesture processes touch-gesture data to provide additional control.
  • chair.hex-hold chair.hex-hold blocks note changes when no new touch is detected.
  • chair.hex-mapping chair.hex-mapping converts x and y positions on the Tickle hexagon pattern into field IDs.
  • chair.hex-tuning chair.hex-tuning converts a hexagon ID into a MIDI note according to a tuning defined in a text file, enabling custom mappings for a hexagonal pattern.
  • chair.increment chair.increment maintains a numeric value and changes it in response to numeric messages, as illustrated with -1 and 1.
  • chair.mtocv~ chair.mtocv~ converts MIDI note values to a virtual control-voltage representation for pitch control.
  • chair.peak-env~ chair.peak-env~ is a peak-envelope generator for an incoming audio signal.
  • chair.rotary-limit-range chair.rotary-limit-range is an abstraction for rotary encoders that increments toward a minimum or maximum and outputs a normalized float from 0 to 1.
  • chair.rotary-relative chair.rotary-relative turns a MIDI rotary control into a relative controller.
  • chair.singleton chair.singleton ensures that only one instance of a specified abstraction is instantiated.
  • chair.speed chair.speed measures how fast position coordinates are changing.
  • chair.stereogain~ chair.stereogain~ controls the gain of a stereo audio signal in decibels and provides an integrated clipping warning.
  • chair.touchgate~ chair.touchgate~ is a simple abstraction that gates an audio signal with fade-in and fade-out transitions.
  • chair.transpose-oct chair.transpose-oct transposes MIDI notes up or down by octaves.
  • chair.vfreeverb~ chair.vfreeverb~ is a Freeverb reverb effect implemented using Pd vanilla objects.