Metadata-Version: 2.3
Name: wavppm
Version: 0.1.1
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 visualization of sine-16384.wav](https://raw.githubusercontent.com/gln/wavppm/main/assets/sine-16384.png)
![wavppm visualization of voice_a.wav](https://raw.githubusercontent.com/gln/wavppm/main/assets/voice_a.png)

Overview
--------

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

The first image above is a single-cycle sine wave, while the second image 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 × 128 px
- RGB range: 0-255

Installation
------------

`pip install wavppm`

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
