Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noriah/catnip
terminal audio visualizer for linux/unix/macOS/windblows*
https://github.com/noriah/catnip
audio audio-visualizer catnip ffmpeg go golang music music-visualizer pipewire portaudio pulseaudio sound sound-visualizer terminal visualization visualizer
Last synced: 16 days ago
JSON representation
terminal audio visualizer for linux/unix/macOS/windblows*
- Host: GitHub
- URL: https://github.com/noriah/catnip
- Owner: noriah
- License: mit
- Created: 2020-09-16T05:46:29.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-27T01:17:47.000Z (8 months ago)
- Last Synced: 2024-06-18T20:16:27.956Z (5 months ago)
- Topics: audio, audio-visualizer, catnip, ffmpeg, go, golang, music, music-visualizer, pipewire, portaudio, pulseaudio, sound, sound-visualizer, terminal, visualization, visualizer
- Language: Go
- Homepage:
- Size: 2.61 MB
- Stars: 199
- Watchers: 2
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# catnip
[![love][withlove]][noriah-dev]
[![made-with-go][withgo]][go-dev]
[![betamax-was-a-thing][betamax]][betawhat]> terminal audio visualizer for linux/unix/macOS/windows*
^ click for a fun video[![A visualization of catnip over time](https://img.youtube.com/vi/sU3fkOB5HZ8/0.jpg)](https://youtu.be/sU3fkOB5HZ8)
## 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`)## get it
```sh
# 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?
[long story, short explanation][speakers][update][speakers-2]
[noriah-dev]: https://noriah.dev
[go-dev]: https://go.dev
[betawhat]: https://google.com/search?q=betamax
[speakers]: https://github.com/noriah/catnip/commit/b1dc3840fa0ed583eba40dbaaa2c0c34c425e26e
[speakers-2]: https://github.com/noriah/catnip/commit/d3c13fb16742184d7c506a567b938045f3be1c1a[withlove]: https://forthebadge.com/images/badges/built-with-love.svg
[withgo]: https://forthebadge.com/images/badges/made-with-go.svg
[betamax]: https://forthebadge.com/images/badges/compatibility-betamax.svg
[preview-0]: https://i.imgur.com/TfMrNpe.gifv