56d3c2c555 | ||
---|---|---|
cmd | ||
.gitignore | ||
COPYING | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
milkbucket
milkbucket is an audio visualizer. It uses Milkdrop preset files to generate visualizations from standard input.
Build
milkbucket depends on the
projectM library. To run
milkbucket, you'll need to install this library either by building it yourself,
or installing one of the builds from
here. (If you've
never done this before, you'll want to download one of the "shared" artifacts
for your system. Then, copy the contents of the artifact's include
folder to
/usr/local/include
and the contents of the lib
folder to /usr/local/lib
.)
After installing projectM, build milkbucket with go build
.
Usage
milkbucket reads a PCM stream from standard input to generate visualizations.
If you have an audio file and a preset in mind, you can use ffmpeg
to
generate the PCM stream, then pipe to milkbucket, like so:
ffmpeg -i $audio -ar 44100 -f s16le - | ./milkbucket -p $preset
Note that neither of these commands will output any audio! If you want to hear the audio at the same time (and assuming your machine uses pipewire), run:
ffmpeg -i $audio -ar 44100 -f s16le - | tee >(pw-play --rate=44100 --format=s16 -) | ./milkbucket -p $preset
(If you don't use pipewire try using aplay
instead of pw-play
, or some
other command for playing PCM streams.)
You can also generate a visualization from your system sound. Assuming pipewire again, and that you have audio coming from Firefox, run:
pw-record --target Firefox - | ./milkbucket -p $preset