Permute is a library and UI for quickly generating large numbers of variations of audio files.
There is a small library of signal processors, terminal tools and a UI for randomly chaining processors together.
permute-core is the Rust audio processing library
audio-info generates waveform SVGs
permute-tauri is the desktop UI (Tauri + React)
Only works on macOS. Download package
Clone the repo, build in Rust. You may need to install libsndfile.
cd permute-tauri
npm install
npm run tauri devUniversal macOS binary (arm64 + x86_64):
cd permute-tauri
npm run build:universalThe .app and .dmg are output to permute-tauri/src-tauri/target/universal-apple-darwin/release/bundle/.
Pre-built binaries are included in libsndfile-binaries/. The build system picks up libsndfile_universal.dylib automatically.
To rebuild from source:
- Install libsndfile: https://github.com/bastibe/libsndfile-binaries
- Run
autogen.sh - Move the newly created
libsndfile/src/.libsto./libsndfile-src
- Multiple instances of granular stretching and pitch shifting can create very large audio files
- Chaining processes can quickly dramatically affect volume levels — enabling normalise is recommended
