# README
catnip
^ click for a fun videoterminal audio visualizer for linux/unix/macOS/windows*
it supports audio backends
- ALSA (linux FFmpeg)
- AVFoundation (macOS FFmpeg)
- DirectShow (windblows FFmpeg)
- Pipewire (pw-cat)
- PortAudio (linux/macOS/windblows (maybe))
- PulseAudio (parec/FFmpeg)
it depends on
-
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 it
# 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
run it
- 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
question it
catnip?
# Packages
No description provided by the author
Package dsp provides audio analysis
Some notes:
https://dlbeer.co.nz/articles/fftvis.html https://www.cg.tuwien.ac.at/courses/WissArbeiten/WS2010/processing.pdf https://github.com/hvianna/audioMotion-analyzer/blob/master/src/audioMotion-analyzer.js#L1053 https://dsp.stackexchange.com/questions/6499/help-calculating-understanding-the-mfccs-mel-frequency-cepstrum-coefficients https://stackoverflow.com/questions/3694918/how-to-extract-frequency-associated-with-fft-values-in-python - https://stackoverflow.com/a/27191172.
Package fft provides generic abstractions around fourier transformers.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author