audio_painter

Crates.ioaudio_painter
lib.rsaudio_painter
version0.1.2
sourcesrc
created_at2024-10-09 08:19:57.97677
updated_at2024-11-01 16:58:37.264059
descriptionmake audio out of other audio
homepage
repository
max_upload_size
id1402133
size32,129
(grouting)

documentation

README

audio_painter

This program takes two audio files as input; a "target" and "paint". The target is split into small pieces, and the paint is searched for the closest matches to those pieces.

Usage

$ audio_painter -t <target> -p <paint>

This tool works best with very rhythmic targets; it will work reasonably well with a break, but if you are looking for something melodic you will either have to reduce the target chunk size to something tiny or provide an extremely long paint.

Additional options

  • -o specify the path for the resulting .wav file (defaults to ./out.wav)
  • -c specify the size of the chunks that the target audio should be split into (defaults to 500 samples)
  • -j specify the number of samples the search head should jump by on each iteration (defaults to 200)
  • -m specify the mix between dry and wet audio when rendering the output (defaults to 0)
  • -n normalize the target and paint audio

Limitations

Dynamic chunk duration currently not implemented, meaning the chunks are all of uniform length. This means that some interesting audio elements will be truncated, potentially causing clicking and other audio artefacts.

There's currently only support for 16 bit wav files. I'll add support for more formats in due course.

Things that are coming

  1. Dynamic chunk duration
  2. Support for more wave formats
  3. Gradient descent searching
Commit count: 0

cargo fmt