Giter VIP home page Giter VIP logo

catnip's Introduction

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

catnip's People

Contributors

alizarazotellez avatar diamondburned avatar noriah avatar zoemcc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

catnip's Issues

[feature request] option to visualize on logarithmic scale

It'd also be cool to have a toggle/setting that flips between logarithmic and linear axis scales, since right now I think the low frequencies are being squished together.

For reference, here's what an audio spectrum with a logarithmic scale looks like:
image
, versus a linear scale like
image

, which is what the visualizer looks like right now.

README has Google link

I almost clicked on that link before seeing the tooltip. Please switch it from Google to something like a SearX mirror or at least DuckDuckGo/Qwant/Startpage

Error on Tmux.

Apparently the underlying library has no compatibility with Tmux (although it is only superficial), this is because Tmux sets the environment variable to tmux-256color, so it will end up with an unknown terminal error, instead, if the environment variable is changed to xterm-256color, the program works as expected.

This is the error I get:

failed to run catnip:  termbox: error while reading terminfo data: termbox: unsupported terminal

But if I run it this way, the problem is solved:

TERM=xterm-256color catnip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.