Giter VIP home page Giter VIP logo

barva's Introduction

Barva is a modular audio visualizer, which aims to be cross-platform and implement multiple frontends, e.g. bars, pulse, milkdrop-like.

As of now, only GNU/Linux (PulseAudio) is supported. The "pulse" frontend is implemented and the "bars" one is being developed. Despite being unfinished, this version of Barva has already superseded the functionality of the old Barva, which is written in C and lives in the legacy branch.

IMPORTANT: The "pulse" frontend can, in theory, harm people sensitive to flashing. Please, don't use it if you have such condition.

Installation

pip install barva

Usage

$ barva --help
usage: barva [-h] visualizer ...

positional arguments:
  visualizer
    pulse-fire
               Draw a fire-like animation.
    pulse-hex  Yield a hex color that pulses.
    pulse-term
               Pulse this terminal.
    pulse-terms
               Pulse all terminals.
    pulse-bspwm
               Pulse the window borders (requires BSPWM).

optional arguments:
  -h, --help   show this help message and exit

Each subcommand also has its own help message, e.g. barva pulse-fire --help.

If Barva doesn't seem to work, it's likely that it hasn't guessed which audio sink to monitor correctly. In this case, make sure that some music is already being played through the right speakers/headphones when you start Barva.

barva's People

Contributors

kharacternyk avatar plexvola avatar puzzlemoondev avatar ryderstanley 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

barva's Issues

Add option to increase sensitivity

I tried barva on my ArchLinux with default configuration and it only set terminal background to black.

I inspected the content of the buffer after get_samples(s, sample_chunk_size, buffer); in src/main.c, the values are all below 0.01 even if the music is reasonably loud, i.e.:

0.004364
0.005371
0.006134
0.006500
0.007019
0.007416
0.007568
0.007629

Maybe the reason is I'm using headphones. As a result, queue_mean is less than 0.01, color_mean always returns 0 or 1 and the background is set to black or almost black.

If I multiply the value in src/color.c by 100, it works like a charm. Since it works for others as is, I propose to add an option to specify the sensitivity โ€“ the multiplier of the value.

Unable to get it working in qterminal

When I execute barva in qterminal, the background just stays in the original color. I executed export BARVA_SOURCE=$(/usr/share/barva/pa-get-default-monitor.sh). When I try for example rxvt-unicode, it does work.

Lagging sometimes occurs while Spotify desktop is playing.

Lagging looks like as if BARVA_FPS were set to something very small.

Observations:

  • Running simultaneously with cava magically fixes the lagging.
  • Playing some music from a web browser and then switching to Spotify fixes the lagging for a short period of time.
  • Spotify Web is unaffected.

Not working on URXVT

i'm using Arch + i3, i've already set the variables

on Konsole when i start barva everything work just fine, but on URXVT, nothing happens

here some comparison, on left up there's konsole with barva, left down default konsole and on right it's URXVT with barva started but no difference from normal

barva

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.