# All Classes and Interfaces

Class
Description
ADSRParams
Value object for Minim ADSR parameters.
ADSRUtils
Utility functions for ADSRParams.
AffineTransformType
The AffineTransformType enum defines the types of affine transformations that can be applied to bitmaps in the PixelAudio library using only rotation and reflection.
Argosy
ArgosyMixer
ArgosyMixer demonstrates use of the Argosy class to create and animate patterns and save them to video.
AudioBrush
Abstract class for combining gesture data from PACurveMaker with audio synthesis parameters from GestureGranularConfig.Builder.
AudioBrushFileNamer
Generate JSON filenames for AudioBrush "session" format, with gesture and audio synth settings.
AudioBrushFileNamer.Result
AudioBrushLibraryLoader
Read AudioBrush library JSON format.
AudioBrushLibraryLoader.BrushData
AudioBrushLibraryLoader.LoadResult
AudioBrushSessionIO
Session manifest writer/reader for brush sets.
AudioBrushSessionIO.BrushAdapter<B>
AudioBrushSessionIO.BrushFactory<B>
AudioBrushSessionIO.BrushRecord
AudioBrushSessionIO.SessionData<B>
AudioBrushSessionIO.SessionMeta
AudioBrushSessionLoader
Read AudioBrush session data form JSON files.
AudioBrushSessionLoader.BrushData
AudioBrushSessionLoader.JsonFileType
AudioBrushSessionLoader.LoadResult
AudioColorTranscoder
Experimental helper class for PixelAudioMapper and other classes or methods that transcode audio and color values.
AudioScheduler<H>
AudioScheduler: A sample-accurate scheduler for things that should occur at specific times in an audio stream.
AudioScheduler.LatePolicy
Policy for point events whose sampleTime is already in the past when processed.
AudioScheduler.PointEvent<H>
A one-shot event that occurs at an absolute sample index.
AudioScheduler.PointHandler<H>
AudioScheduler.SpanEvent<H>
A duration event active on [startSample, endSample) where endSample is exclusive.
AudioScheduler.SpanHandler<H>
AudioUtility
Utility conversions for audio.
AudioUtility.NormalizationMode
Bagatelle
Experimental real time performance application based on PixelAudio, with an editing GUI, Presets, and saving and loading JSON-format files for brushstroke and granular configuration data.
Bagatelle.ActiveDot
Bagatelle.BrushHit
Simple container for a brush hit-test result.
Bagatelle.CueResult
Bagatelle.DrawingMode
Bagatelle.Happening
Future Development: Barebones interface for "something that happens at a certain point", and then in AudioScheduler the time-when-something-happens gets connected to the-room-where-it-happens and the entire cast of Hamilton steps in, if you let them.
Bagatelle.InstrumentLoop
Bagatelle.PerformancePreset
Presets are applied to each new brush at the moment drawing is completed by releasing the mouse button and calling makeBrush(), the bottleneck method for all brush creation.
Bagatelle.SamplerPointHappening
BigWaveSynth
BigWaveSynth shows how you can load a WaveSynth into the pixel array of a MultiGen.
BigWaveSynthAudio
BigWaveSynthAudio shows how you can load the color output of WaveSynth into the pixel array of a MultiGen and play the WaveSynth's audio output with a PASamplerInstrument.
BitmapTransform
Provides static methods for rotating and reflecting 2D integer arrays using index remapping.
BoustropheGen
BoustropheGen generates a signal path that starts at (0,0) and reads left-to-right to (width-1, 0).
BuildFromPathGen
A PixelMapGen that loads data from an external `PixelMapGen.pixelMap`, such as might be saved in a JSON file.
DeadBodyWorkFlow
DeadBodyWorkFlow.ActiveDot
DeadBodyWorkFlow.BrushHit
Simple container for a brush hit-test result.
DeadBodyWorkFlow.CueResult
DeadBodyWorkFlow.DrawingMode
DeadBodyWorkFlow.Happening
Future Development: Barebones interface for "something that happens at a certain point", and then in AudioScheduler the time-when-something-happens gets connected to the-room-where-it-happens and the entire cast of Hamilton steps in, if you let them.
DeadBodyWorkFlow.InstrumentLoop
DeadBodyWorkFlow.PerformancePreset
Presets are applied to each new brush at the moment drawing is completed by releasing the mouse button and calling makeBrush(), the bottleneck method for all brush creation.
DeadBodyWorkFlow.SamplerPointHappening
DiagonalZigzagGen
GestureEventParams
Immutable, schedule-aligned per-event parameters for gesture playback where each event accepts a buffer sample index and optional pan, gain, and pitch modifiers.
GestureEventParams.Builder
GestureGranularConfig
Class for storing core parameters for both granular and sample synthesis engine events, used extensively in PixelAudio examples.
GestureGranularConfig.Builder
GestureGranularConfig.HopMode
GestureGranularConfig.PathMode
GestureGranularConfig.TimeTransform
GestureGranularConfig.WarpShape
GestureGranularConfigIO
JSON read/write support for GestureGranularConfig.Builder.
GestureGranularConfigIO.InstrumentType
GestureGranularConfigIO.Meta
GestureGranularConfigIO.Result
GestureGranularParams
Immutable core parameters for gesture-driven granular playback.
GestureGranularParams.Builder
GestureGranularParams.HopMode
GestureGranularParams.TimeTransform
UI preset hint for timing.
GestureGranularParams.WarpShape
GesturePerformer
Deprecated.
GestureSchedule
Data container for a `PAGesture` with immutable points and times and an optional start time (in milliseconds).
GestureScheduleBuilder
Build schedules for classes that implement PAGesture or use PAGesture implementers, for example to to build, interpolate, and warp time and point lists.
GestureTransformState
Stores optional affine-transform state for a gesture/curve.
GranularBrush
AudioBrush subclass for PAGranularInstrument.
HilbertGen
Generates coordinates and LUTs for a Hilbert curve over a square bitmap starting at (0,0) and ending at (width-1, 0).
JSONWaveSynth
Demo of how to set and save WaveSynth parameters from JSON files.
Lindenmayer
Implements a simple Lindenmeyer system (L-system), a so-called DOL-system: deterministic and context-free.
LoadAudioToImage
LoadAudioToImage shows how you can open audio files and transcode their image data to an image.
LoadImageToAudio
LoadImageToAudio shows how to load an image and turn it into an audio file that can be played by clicking on the image.
LookupTables
PixelAudio Core Concept: Mapping The LookupTables example shows how to map a 1D audio signal onto a 2D bitmap, using lookup tables (LUTs) to create a one-to-one correspondence between audio samples and RGB pixels.
MooreGen
Generates a Moore curve over a square bitmap starting at (width/2 - 1, 0) and ending at (width/2, 0).
MultiGen
A PixelMapGen child class that combines multiple PixelMapGen instances with a single signal path.
MultiGenDemo
MultiGenDemo: How to Combine Gens into a MultiGen
MultiGenLookupTables
The LookupTables example shows how a central element of PixelAudio, the lookup table, connects a 1D audio signal with a 2D bitmap, putting audio samples and RGB pixels in one-to-one correspondence within a single PixelMapGen instance such as a Hilbert, Moore, or DiagonalZigzag.
OpenSimplex2
K.jpg's OpenSimplex 2, faster variant from https://github.com/KdotJPG/OpenSimplex2
OverlapUtil
OverlapUtil Small helper for computing overlap between a span [spanStart, spanEnd) and a block [blockStart, blockStart+blockSize).
OverlapUtil.Slice
PABezShape
Class to store a path composed of lines and Bezier curves, along with fill, stroke, weight and opacity values.
PABezVertex
Provides storage for a cubic Bezier curves's control points and anchor point.
PABoundsPolicy
Boundary policy for mapping gesture points into a rectangular domain.
PABoundsPolicy.PABoundaryMode
Provides descriptors for PABoundsPolicy: CLIP, WRAP, REFLECT, SKIP_TIME, KEEP_TIME.
PABurstGranularSource
Core class in the PAGranularInstrumentDirector granular synthesis processing chain, provides windowed granular synthesis with normalization.
Calling chain: PAGranularInstrumentDirector -> PAGranularInstrument -> PAGranularSampler -> PAGranularVoice,
with PABurstGranularSource handling the complexities of the granular synthesis sample by sample.
PAControlCurve
Minimal interface for interpolated curves.
PACurveMaker
PACurveMaker is a utility and storage class for gestures and curve modeling, with point reduction and drawing to on-screen PApplets or off-screen PGraphics.
PACurveMaker.PointsMutator
Simple Processing-friendly callback interface.
PACurveMakerIO
JSON read/write support for PACurveMaker.
PACurveMakerIO.Meta
PACurveMakerIO.Result
PACurveUtility
A class to maintain static versions of point reduction and curve-modeling methods.
PAFloatSource
PAFloatSource Minimal, library-agnostic "audio source" abstraction for PixelAudio voices.
PAGesture
PAGesture provides a definitional interface for "gestures": 1) a list of points and 2) a list of time offsets where 3) both lists have the same cardinality and 4) time offsets are monotonically non-dereasing.
PAGestureParametric
Treats a gesture defined by (time, x, y) samples as a parametric curve.
PAGestureParametric.Sample
Data storage class for PAGestureParametric.
PAGestureWriter
Reduced set of Adobe Illustrator 3.0 (ancient but still useful) path operators for recording curves.
PAGranularInstrument
PAGranularInstrument High-level granular instrument wrapper.
PAGranularInstrumentDirector
The top-level entry point for Granular Synthesis in the PixelAudio library, PAGranularInstrumentDirector acts as a facade to `PAGranularInstrument`, calling PAGranularInstrument.play(...) with a `PABurstGranularSource` instance as a PASource and all necessary gesture and timing data.
PAGranularSampler
PAGranularSampler UGen-based multi-voice granular sampler.
PAGranularSampler.ScheduledPlay
PAGranularVoice
PAGranularVoice A single granular "voice" driven by a PASource.
PAIndexParametric
PAIndexParametric Parametric view of an indexed offset list, typically into a float[] buffer (for example, an audio signal or lookup table).
PAKeyframeControlCurve
Models piecewise-linear scalar control curve defined by keyframes.
PALineVertex
Stores a line vertex consisting of a single point.
PANetworkClientINF
Interface for applications extending PApplet that use NetworkDelegate to send and receive UDP messages.
PAPathParametric
PAPathParametric Parametric view of a polyline path (e.g., polygonized Bezier).
PAPlayable
Generic interface for anything that can be "played." Provides a minimal playback API plus backward-compatible overloads for sampler instruments and other PAPlayable classes.
PASampler
Backend engine contract for sampler implementations.
PASamplerInstrument
PASamplerInstrument Represents a playable instrument that uses a PASampler instantiated as a PASharedBufferSampler to trigger audio playback from a shared buffer that is (currently) a Minim MultiChannelBuffer.
PASamplerInstrumentPool
PASamplerInstrumentPool Manages a group of PASamplerInstruments sharing the same source buffer and audio output.
PASamplerInstrumentPoolMulti
PASamplerInstrumentPoolMulti Manages multiple PASamplerInstrumentPool instances, each keyed by name.
PASamplerPlayable
Specialized playable interface for sample-based instruments.
PASamplerVoice
PASamplerVoice — a single playback "voice" reading from a shared mono buffer.
PASharedBufferSampler
UGen-based sampler that plays multiple PASamplerVoice instances from a single shared mono buffer (channel 0 of a MultiChannelBuffer) which is an array of floating point samples over (-1.0..1.0).
PASharedBufferSampler.MixProfile
PASource
PASource A PAFloatSource with an additional pitch policy hint.
PAVertex2DINF
Interface for line and curve vertices.
PitchPolicy
PitchPolicy determines how PASamplerInstrument / PASamplerVoice should interpret their pitch parameter in combination with a given PASource.
PixelAudio
PixelAudioMapper
PixelAudioMapper is designed to handle one-to-one mappings between 1D "signal" arrays formatted as floating point values in the range [-1.0, 1.0] and 2D "image" arrays formatted as RGBA integer pixel data.
PixelAudioMapper.ChannelNames
List of available color channels, "L" for lightness, since "B" for brightness is taken.
PixelAudioMapper.ChannelNames.ChannelExtractor
PixelMapGen
Abstract class for handling coordinates and LUT generation for PixelAudioMapper.
PlaybackInfo
Holds information about a triggered playback event.
RandomContinousGen
Deprecated.
SamplerBrush
AudioBrush subclass for PASamplerInstrument.
SamplerBrushEvent
Stores values used for SamplerBrush event staging, used in tutorial examples such as `TutorialOne_03_Drawing`.
ScaledSimplex
A wrapper for OpenSimplex2, adapted from Christian Maher's code at https://cmaher.github.io/posts/working-with-simplex-noise/
SimpleADSR
SimpleADSR — software envelope generator with optional exponential curves.
SimpleADSR.Stage
SimpleAnimation
This is the Starter example with animation added.
SimpleWaveSynth
Starter
TimedLocation
Used to schedule or track events that take place at specific coordinate locations.
TransformPImage
TransformPImage demonstrates some of the commands available in the BitmapTransform class.
TutorialOne_01_FileIO
The first tutorial opens audio or image files and loads either file type to both the image display and the audio buffer.
TutorialOne_02_Animation
This example sketch builds on TutorialOne_01_FileIO, which provided commands to open and display audio and image files, transcode image pixel data to audio samples, transcode audio samples to image pixel data, and save audio and image files.
TutorialOne_03_Drawing
NEW FEATURES
TutorialOne_03_Drawing.AudioBrushLite
A light-weight version of the `AudioBrush` class for combining gestures and audio synthesis.
TutorialOne_03_Drawing.BrushConfig
Defines the curve drawing model for a brush using PACurveMaker.
TutorialOne_03_Drawing.BrushHit
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
TutorialOne_03_Drawing.BrushOutput
TutorialOne_03_Drawing.HopMode
TutorialOne_03_Drawing.PathMode
TutorialOne_04_Network
NETWORKING WITH UDP
TutorialOne_04_Network.AudioBrushLite
A light-weight version of the AudioBrush class for combining gestures and audio synthesis.
TutorialOne_04_Network.BrushConfig
Defines the curve drawing model for a brush using PACurveMaker.
TutorialOne_04_Network.BrushHit
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
TutorialOne_04_Network.BrushOutput
TutorialOne_04_Network.HopMode
TutorialOne_04_Network.PathMode
TutorialOne_05_GesturePlayground
GesturePlayground uses a GUI to provide a tour of curve drawing with an interface to the two audio synthesis engines available in PixelAudio: the Sampler synth and the Granular synth.
TutorialOne_05_GesturePlayground.ActiveDot
TutorialOne_05_GesturePlayground.BrushHit
Simple container for a brush hit-test result.
TutorialOne_05_GesturePlayground.DrawingMode
TutorialOne_05_GesturePlayground.Happening
Future Development: Barebones interface for "something that happens at a certain point", and then in AudioScheduler the time-when-something-happens gets connected to the-room-where-it-happens and the entire cast of Hamilton steps in, if you let them.
TutorialOne_05_GesturePlayground.SamplerPointHappening
TutorialOne_06_WB_Retrofit
TutorialOne_06_WB_Retrofit A continuation of TutorialOne_03_Drawing that keeps the drawing, brush, sampler, granular, bounds, and envelope code from TutorialOne_03_Drawing, but changes the audio source model: - anthemSignal / anthemBuffer hold the entire loaded audio file.
TutorialOne_06_WindowBuffer
TutorialOne_06_WindowBuffer
TutorialOne_06_WindowBuffer.AudioBrushLite
A light-weight version of the `AudioBrush` class for combining gestures and audio synthesis.
TutorialOne_06_WindowBuffer.BrushConfig
Defines the curve drawing model for a brush using PACurveMaker.
TutorialOne_06_WindowBuffer.BrushHit
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
TutorialOne_06_WindowBuffer.BrushOutput
TutorialOne_06_WindowBuffer.HopMode
TutorialOne_06_WindowBuffer.PathMode
TutorialOneWindowBuffer
Deprecated, for removal: This API element is subject to removal in a future version.
WaveData
Data storage for WaveSynth operator data.
WaveData.WaveState
WaveSynth
Implements a combination of color organ and additive audio synth.
WaveSynthBuilder
Utilities for generating WaveSynth "instruments" and working with WaveSynth data.
WaveSynthEditor
Additive audio synthesis engine produces colorful animated patterns and electronic synth sounds.
WaveSynthSequencer
Example sketch shows how to create an audio synth sequencer with the WaveSynth.
WindowCache
WindowCache Simple cache for windowFunction.generateCurve(length) results.
WindowCache.Key
WindowedBuffer
A windowed buffer class to permit loading large audio sources into memory and stepping through them.