Metadata-Version: 2.3
Name: wavppm
Version: 0.1.0
Summary: wavppm is a zero-dependency CLI app for representing a wavetable as an image, or vice versa
Author: Gregory Lee Newsome
Author-email: Gregory Lee Newsome <gregoryleenewsome@gmail.com>
Requires-Python: >=3.9
Description-Content-Type: text/markdown

wavppm
======

![wavppm representation of sine-16384.wav](assets/sine-16384.png)
![wavppm representation of voice_a.wav](assets/voice_a.png)

Overview
--------

wavppm is a zero-dependency CLI app for representing a wavetable as an image, or vice versa.

The leftmost image above is a single cycle of a sine wave, while the image on the right is `voice_a.wav` from the [WaveEdit](https://synthtech.com/waveedit/) library.

Requirement
-----------

Python 3.9.6 or later.

Audio

- file type: wav
- bit depth: 16-bit integer
- channel count: 1
- sample count: 16384
- sample rate: 44100 kHz

Image

- file type: ppm
- dimension: 128 px × 128 px
- RGB range: 0-255

Usage
-----

wavppm must receive a source path argument and a target path argument:

`wavppm source target`

Audio to Image

`wavppm 303.wav 303.ppm` (file to file)\
`wavppm path/to/audio/dir path/to/image/dir` (dir to dir)

Image to Audio

`wavppm 303.ppm 303.wav`\
`wavppm path/to/image/dir path/to/audio/dir`

License
-------

wavppm is available under the [MIT License](https://opensource.org/license/mit).

Copyright
---------

© [Gregory Lee Newsome](http://gregoryleenewsome.ca/) 2026
