All Classes and Interfaces
Class
Description
Value object for Minim ADSR parameters.
Utility functions for ADSRParams.
The AffineTransformType enum defines the types of affine transformations that
can be applied to bitmaps in the PixelAudio library using only rotation and
reflection.
ArgosyMixer demonstrates use of the Argosy class to create and animate patterns
and save them to video.
Abstract class for combining gesture data from PACurveMaker with audio synthesis parameters
from GestureGranularConfig.Builder.
Generate JSON filenames for AudioBrush "session" format, with gesture and audio synth settings.
Read AudioBrush library JSON format.
Session manifest writer/reader for brush sets.
Read AudioBrush session data form JSON files.
Experimental helper class for PixelAudioMapper and other classes or methods that transcode audio and color values.
AudioScheduler: A sample-accurate scheduler for things that should occur at specific times in an audio stream.
Policy for point events whose sampleTime is already in the past when processed.
A one-shot event that occurs at an absolute sample index.
A duration event active on [startSample, endSample) where endSample is exclusive.
Utility conversions for audio.
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.
Simple container for a brush hit-test result.
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.
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.
BigWaveSynth shows how you can load a WaveSynth into the pixel array of a
MultiGen.
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.
Provides static methods for rotating and reflecting 2D integer arrays using
index remapping.
BoustropheGen generates a signal path that starts at (0,0) and reads left-to-right to (width-1, 0).
A PixelMapGen that loads data from an external
PixelMapGen.pixelMap, such as might be saved in a JSON file.Simple container for a brush hit-test result.
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.
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.
Immutable, schedule-aligned per-event parameters for gesture playback where each event
accepts a buffer sample index and optional pan, gain, and pitch modifiers.
Class for storing core parameters for both granular and sample synthesis engine events, used extensively in
PixelAudio examples.
JSON read/write support for GestureGranularConfig.Builder.
Immutable core parameters for gesture-driven granular playback.
UI preset hint for timing.
Deprecated.
Data container for a
PAGesture with immutable points and times
and an optional start time (in milliseconds).Build schedules for classes that implement PAGesture or use PAGesture implementers, for example to
to build, interpolate, and warp time and point lists.
Stores optional affine-transform state for a gesture/curve.
AudioBrush subclass for PAGranularInstrument.
Generates coordinates and LUTs for a Hilbert curve over a square bitmap starting at (0,0)
and ending at (width-1, 0).
Demo of how to set and save WaveSynth parameters from JSON files.
Implements a simple Lindenmeyer system (L-system), a so-called DOL-system:
deterministic and context-free.
LoadAudioToImage shows how you can open audio files and transcode their image data to an image.
LoadImageToAudio shows how to load an image and turn it into an audio file
that can be played by clicking on the image.
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.
Generates a Moore curve over a square bitmap starting at (width/2 - 1, 0) and ending at (width/2, 0).
A PixelMapGen child class that combines multiple PixelMapGen instances with a single signal path.
MultiGenDemo: How to Combine Gens into a MultiGen
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.
K.jpg's OpenSimplex 2, faster variant
from https://github.com/KdotJPG/OpenSimplex2
OverlapUtil
Small helper for computing overlap between a span [spanStart, spanEnd)
and a block [blockStart, blockStart+blockSize).
Class to store a path composed of lines and Bezier curves, along with fill, stroke, weight and opacity values.
Provides storage for a cubic Bezier curves's control points and anchor point.
Boundary policy for mapping gesture points into a rectangular domain.
Provides descriptors for PABoundsPolicy: CLIP, WRAP, REFLECT, SKIP_TIME, KEEP_TIME.
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.
Calling chain: PAGranularInstrumentDirector -> PAGranularInstrument -> PAGranularSampler -> PAGranularVoice,
with PABurstGranularSource handling the complexities of the granular synthesis sample by sample.
Minimal interface for interpolated curves.
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.
Simple Processing-friendly callback interface.
JSON read/write support for PACurveMaker.
A class to maintain static versions of point reduction and curve-modeling methods.
PAFloatSource
Minimal, library-agnostic "audio source" abstraction for PixelAudio voices.
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.
Treats a gesture defined by (time, x, y) samples as a parametric curve.
Data storage class for PAGestureParametric.
Reduced set of Adobe Illustrator 3.0 (ancient but still useful) path operators for
recording curves.
PAGranularInstrument
High-level granular instrument wrapper.
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
UGen-based multi-voice granular sampler.
PAGranularVoice
A single granular "voice" driven by a PASource.
PAIndexParametric
Parametric view of an indexed offset list, typically into a float[] buffer
(for example, an audio signal or lookup table).
Models piecewise-linear scalar control curve defined by keyframes.
Stores a line vertex consisting of a single point.
Interface for applications extending PApplet that use NetworkDelegate to send and receive UDP messages.
PAPathParametric
Parametric view of a polyline path (e.g., polygonized Bezier).
Generic interface for anything that can be "played."
Provides a minimal playback API plus backward-compatible overloads
for sampler instruments and other PAPlayable classes.
Backend engine contract for sampler implementations.
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
Manages a group of PASamplerInstruments sharing the same source buffer
and audio output.
PASamplerInstrumentPoolMulti
Manages multiple PASamplerInstrumentPool instances, each keyed by name.
Specialized playable interface for sample-based instruments.
PASamplerVoice — a single playback "voice" reading from a shared mono buffer.
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).
PASource
A PAFloatSource with an additional pitch policy hint.
Interface for line and curve vertices.
PitchPolicy determines how PASamplerInstrument / PASamplerVoice should interpret
their pitch parameter in combination with a given PASource.
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.
List of available color channels, "L" for lightness, since "B" for brightness is taken.
Abstract class for handling coordinates and LUT generation for PixelAudioMapper.
Holds information about a triggered playback event.
Deprecated.
AudioBrush subclass for PASamplerInstrument.
Stores values used for SamplerBrush event staging, used in tutorial examples
such as
TutorialOne_03_Drawing.A wrapper for OpenSimplex2, adapted from Christian Maher's code at
https://cmaher.github.io/posts/working-with-simplex-noise/
SimpleADSR — software envelope generator with optional exponential curves.
This is the Starter example with animation added.
Used to schedule or track events that take place at specific coordinate locations.
TransformPImage demonstrates some of the commands available in the BitmapTransform class.
The first tutorial opens audio or image files and loads either file type to both the image
display and the audio buffer.
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.
NEW FEATURES
A light-weight version of the
AudioBrush
class for combining gestures and audio synthesis.Defines the curve drawing model for a brush using PACurveMaker.
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
NETWORKING WITH UDP
A light-weight version of the AudioBrush class for combining gestures and
audio synthesis.
Defines the curve drawing model for a brush using PACurveMaker.
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
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.
Simple container for a brush hit-test result.
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_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
A light-weight version of the
AudioBrush
class for combining gestures and audio synthesis.Defines the curve drawing model for a brush using PACurveMaker.
A class to store a hit-test result, recording an AudioBrushLite instance and its index in brush list.
Deprecated, for removal: This API element is subject to removal in a future version.
Data storage for WaveSynth operator data.
Implements a combination of color organ and additive audio synth.
Utilities for generating WaveSynth "instruments" and working with WaveSynth data.
Additive audio synthesis engine produces colorful animated patterns and electronic synth sounds.
Example sketch shows how to create an audio synth sequencer with the WaveSynth.
WindowCache
Simple cache for windowFunction.generateCurve(length) results.
A windowed buffer class to permit loading large audio sources into memory and stepping through them.