Package net.paulhertz.pixelaudio
package net.paulhertz.pixelaudio
Package
net.paulhertz.pixelaudio blends sounds and images by mapping between
arrays of audio samples and arrays of pixel values. 1D Audio arrays are mapped onto
2D image arrays using space-filling curves and patterns. PixelAudio provides a template
to design your own mappings, and methods to translate values between audio and pixel data.
Examples provide hooks for animation, audio/image synthesis, and hooks for UDP communication
with Cycling74's Max application and other audio and video programming environments.
In many respects, PixelAudio behaves like an audio visualization widget, with one important difference: images can become sound as easily as sound becomes images. It can be treated as a basic image synthesis application, using audio signals to generate images, or as a somewhat noisy audio synthesis application, generating sound from images.
PixelAudioprovides the Processing library interface for the PixelAudio library.PixelMapGenis an abstract class for handling coordinates and LUT generation for PixelAudioMapper.DiagonalZigzagGenis a PixelMapGen child class for generating diagonal zigzag paths over an image.HilbertGenis a PixelMapGen child class for generating Hilbert curves over an image.MooreGenis a PixelMapGen child class for generating Moore curves over an image.BoustropheGenis a PixelMapGen child class for generating boustrophedon paths over an image.BuildFromPathGenis a PixelMapGen child class for generating from path coordinates stored in a JSON or similar data file.MultiGenis a PixelMapGen child class for generating a single path over multiple PixelMapGens arranged in a grid.PixelAudioMappermaps between 1D "signal" arrays of audio samples formatted as floating point values in the range [-1, 1] and 2D "image" arrays formatted as RGBA integer pixel data. It is initialized with a PixelMapGen.AffineTransformTypeis an enum for labeling basic affine transforms for reflection and 90-degree rotation.BitmapTransformprovides static methods for rotating and reflecting 2D integer arrays using index remappingWaveSynthimplements a combination of color organ and additive audio wave generation for animation and audio synthesis.WaveDataprovides storage and utility methods for WaveSynth "operators", which are audio signal generators.WaveSynthBuilderprovides utilities for generating WaveSynth "instruments" and working with WaveSynth data.Argosyprovides tools for shifting pixel patterns along the signal path of an image.Lindenmayerimplements a basic L-system for generating patterns for Argosy objects.ScaledSimplexprovides a wrapper for generating simple noise using Open Simplex.OpenSimplex2is an open source implementation of simplex noise.RandomContinousGenis a PixelMapGen child class and a work-in-progress. It will provide random paths over an image.AudioColorTranscoderis an experimental class for extending PixelAudioMapper.ChannelNames functionality.
-
ClassDescriptionStandard orientation ("NADA") for PixelMapGen puts the start point at (0,0).Experimental helper class for PixelAudioMapper and other classes or methods that transcode audio and color values.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 pixelMap, such as might be saved in a JSON file.Generates coordinates and LUTs for a Hilbert curve over a square bitmap starting at (0,0) and ending at (width-1, 0).Implements a simple Lindenmeyer system (L-system), a so-called DOL-system: deterministic and context-free.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.K.jpg's OpenSimplex 2, faster variant from https://github.com/KdotJPG/OpenSimplex2As of pre-release version 0.9.2-beta, PixelAudioMapper is substantially complete, though there are a number of features that have not been tested or demonstrated with code examples.List of available color channels, "L" for lightness, since "B" for brightness is taken.Abstract class for handling coordinates and LUT generation for PixelAudioMapper.Deprecated.A wrapper for OpenSimplex2, adapted from Christian Maher's code at https://cmaher.github.io/posts/working-with-simplex-noise/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.