^ click for a fun videoterminal audio visualizer for linux/unix/macOS/windows*
- 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