love made-with-go betamax-was-a-thing
^ click for a fun videoterminal audio visualizer for linux/unix/macOS/windows*
A visualization of catnip over time
- ALSA (linux FFmpeg)
- AVFoundation (macOS FFmpeg)
- DirectShow (windblows FFmpeg)
- Pipewire (pw-cat)
- PortAudio (linux/macOS/windblows (maybe))
- PulseAudio (parec/FFmpeg)
-
go modules
- github.com/nsf/termbox-go
- github.com/integrii/flaggy
- github.com/pkg/errors
- github.com/noisetorch/pulseaudio
- gonum.org/v1/gonum
-
binaries
- ffmpeg (required for FFmpeg backends)
- parec (required for PulseAudio backend with parec)
- pw-cat, pw-link (required for Pipewire backend)
-
c libraries (optional, requires CGO -
CGO_ENABLED=1
)- fftw (fftw3) (enable with
-tags fftw
) - portaudio (portaudio-2.0) (enable with
-tags portaudio
)
- fftw (fftw3) (enable with
# get source git clone https://github.com/noriah/catnip.git # cd to dir cd catnip # build and install catnip go install ./cmd/catnip # with portaudio go install ./cmd/catnip -tags portaudio # with fftw3 go install ./cmd/catnip -tags fftw # with both portaudio and fftw3 go install ./cmd/catnip -tags portaudio,fftw
- use
catnip list-backends
to show available backends - use
catnip -b {backend} list-devices
to show available devices - use
catnip -b {backend} -d {device}
to run - use the full device name - use
catnip -h
for information on several more customizations