Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eye-wave/wavetable-to-image

This is a command-line tool that converts WAV files into images.
https://github.com/eye-wave/wavetable-to-image

audio audio-analyser audio-processing audio-visualizer image image-processing music wavetable wavetable-synthesizer wavetable-visualizer

Last synced: about 1 month ago
JSON representation

This is a command-line tool that converts WAV files into images.

Awesome Lists containing this project

README

        

# Wavetable to Image Converter
![Static Badge](https://img.shields.io/badge/rust-000?style=for-the-badge&logo=rust&logoColor=fff)

## Description
*[Serum](https://xferrecords.com/products/serum/) can turn images into wavetables, but how would wavetables look as images?* ~ someone probably

This is a command-line tool that converts WAV files into images. It's useful for generating wavetable images for synths like [Serum](https://xferrecords.com/products/serum/). It generates them based on samples, not spectrum data.

*Maybe i'll expand this cli in the future* so you could import images to synths like [Harmor](https://www.image-line.com/fl-studio-news/introducing-harmor/) too...

### Examples
![](./assets/fm-sine-sine.png)

![](./assets/hyperwave.png)

## Builting from source

Make sure you have cargo and make installed. Clone this repository and run:

```sh
make build
```

To uninstall, remove `wavetable-to-image` from ~/.local/bin
```sh
rm ~/.local/bin/wavetable-to-image
```

## Usage

```sh
wavetable-to-image --input --output -n
```

- `--input `: Path to the input WAV file.
- `--output `: Path to save the output image file.
- `-n `: Number of sample skips per iteration. Adjust this to control the length of the output image.

## Example

```sh
wavetable-to-image --input test.wav --output test.png -n 32
```

This command converts `test.wav` into `test.png`, skipping 32 samples per iteration.

### Batch Conversion
*(temporary workaround)*
```sh
find -type f -name '*.wav' | while read f
do
wavetable-to-image $f "/$(basename "${f%.wav}.png")" 16
done
```

## Roadmap

- use wgpu library
- image to audio conversion

## License

This project is licensed under the GPL 3.0 License. See the [LICENSE](LICENSE) file for details.