Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
/ catnip Public

terminal audio visualizer for linux/unix/macOS/windblows*

License

Notifications You must be signed in to change notification settings

noriah/catnip

Repository files navigation

catnip

love made-with-go betamax-was-a-thing

terminal audio visualizer for linux/unix/macOS/windows*

^ click for a fun video

A visualization of catnip over time

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

# 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

update

Morty Proxy This is a proxified and sanitized view of the page, visit original site.