A simple Electron-based GUI for linuxwave, a command-line tool to generate music from bytes of files (default: /dev/urandom). This app lets you easily run linuxwave and post-process the output with sox, providing a user-friendly interface for random music generation.
- Enter BPM, key, and duration to generate music.
- Runs linuxwave and sox with your chosen parameters.
- Displays status updates when generation is complete.
- Requires linuxwave and sox to be installed on your system.
- Any Linux Distro (recommended: Arch, Ubuntu, etc.)
- linuxwave (install from source or download a release)
- sox (install via your package manager)
- Node.js (v16+ recommended)
- Clone this repository:
git clone https://github.com/Arcmyx/linuxwavegui.git cd linuxwavegui - Install dependencies:
npm install
- Make sure
linuxwaveandsoxare installed and available in your PATH. - Start the Electron app:
npm start
- Enter your desired BPM, key, and duration, then click Generate.
- When finished,
output.wavandoutput.midwill be generated in the project directory. Note thatoutput.midwill be a little bit different from the audio. This is to be expected - I used the best tool I could find for pitch detection onnpm. It still sounds cool, though.
- This app only works on Linux, as linuxwave and sox are Linux-only tools.
- The GUI is not intended to be run in a web browser. Always launch with Electron, or the execution of programs will fail.
- If you encounter issues with permissions or missing dependencies, ensure all prerequisites are installed and accessible.
GPLv3
Author: Arcmyx