# PixelAudio

A Library by Paul Hertz for the Processing programming environment.
Last update, 08/29/2024.

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, such as a diagonal zigzag or a Hilbert curve. PixelAudio provides a template to design your own mappings, and methods to translate values between audio and pixel data.
Feel free to replace this paragraph with a description of the Library.
Contributed Libraries are developed, documented, and maintained by members of the Processing community. Further directions are included with each Library. For feedback and support, please post to the Discourse. We strongly encourage all Libraries to be open source, but not all of them are.

## Download

Download PixelAudio version 0.8.0a (1) in .zip format.

## Installation

Unzip and put the extracted PixelAudio folder into the libraries folder of your Processing sketches. Reference and examples are included in the PixelAudio folder.

Keywords. ?

Reference. Have a look at the javadoc reference here. A copy of the reference is included in the .zip as well.

Source. The source code of PixelAudio is available at GitHub, and its repository can be browsed here.

## Examples

Find a list of examples in the current distribution of PixelAudio, or have a look at them by following the links below.

- LookupTables: intro to a core concept in PixelAudio. Start here.
- Starter: how to create a PixelMapGen instance and plug it into PixelAudioMapper.
- QuickAnimation: a simple way to animate a bitmap using PixelAudioMapper.
- TransformPimage: affine transforms in the BitmapTransform class.
- MultiGenDemo: chain PixelMapGens together to generate a large image.
- BuildFromPathGenDemo: read and write PixelMapGen data in JSON format.
- LoadAudioToImage: transcode an audio file to an image and play audio samples.
- LoadImageToAudio: read, write, play, and mix channels of images and audio files.
- LoadImageToAudioOSC: adds UDP hooks and a Max patch to LoadImageToAudio.
- AudioCapture: capture streaming or live audio and turn it into a bitmap.
- SimpleWaveSynth: basics of creating a WaveSynth animation.
- JSONWaveSynth: read and write JSON data to configure a WaveSynth.
- BigWaveSynth: use a WaveSynth with a large bitmap mapped to a MultiGen.
- GenerateAndSaveAudio: WaveSynth generates audio and animation simultaneously.

## Tested

Platform osx,windows
Processing 4.3
Dependencies minim audio library, install with Processing, other libraries required in example code