cavasik

Audio visualizer based on CAVA

https://github.com/thewisker/cavasik

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary

Keywords

audio audio-visualizer cava eye-candy flatpak gnome python
Last synced: 6 months ago · JSON representation ·

Repository

Audio visualizer based on CAVA

Basic Info
Statistics
  • Stars: 149
  • Watchers: 1
  • Forks: 6
  • Open Issues: 3
  • Releases: 8
Topics
audio audio-visualizer cava eye-candy flatpak gnome python
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Support Authors

README.md

Cavasik

Audio visualizer based on CAVA

Index

[Description][description] [Features][features] [Screenshots][screenshots] [Videos][videos] [Installation][installation] [Dependencies][dependencies] [Usage][usage] [Contributions][contributions] [Translations][translations] [Metrics][metrics] [License][license] [Code of Conduct][coc] [Credits][credits]

Description []

This is an audio visualizer based on CAVA with extended capabilities.

Features []

The visualizer features:

  • Five normal drawing modes!
  • Two circle drawing modes!
  • Five mirror drawing modes!
  • Four drawing directions!
  • Customizable LibAdwaita interface!
  • Set a single color or up to a 10 color linear gradient for background and foreground!
  • Select different foreground colors for the mirrored images in mirror mode!
  • Set up a color animation that changes the colors gradually in a loop!
  • Configure smoothing, noise reduction and a few other CAVA settings!
  • Change background and foreground colors through a DBus interface!
  • Change background and foreground colors on startup by reading them from a file!

Screenshots []

Waves mode

Levels mode

Particles mode

Spine mode

Bars mode

Waves mode + Circle shape

Bars mode + Circle shape

Normal mirror + Waves mode

Normal mirror + Bars mode

Normal mirror + Levels mode

Normal mirror + Waves mode + No Fill

Inverted mirror + Waves mode

Inverted mirror + Bars mode

Inverted mirror + Levels mode

Inverted mirror + Waves mode + No Fill

Overlapping mirror + Waves mode

Overlapping mirror + Bars mode

Overlapping+Normal mirror + Waves mode

Overlapping+Normal mirror + Bars mode

Overlapping+Reverse mirror + Waves mode

Overlapping+Reverse mirror + Bars mode

Direction top-bottom + Overlapping mirror + Waves mode + No Fill

Videos []

https://github.com/user-attachments/assets/baa70104-322b-4712-867c-dd14efbd93c8 https://github.com/user-attachments/assets/e4615c5d-0267-4f8c-b20a-bcd974b282dc https://github.com/user-attachments/assets/d219c28f-99de-4c72-8fdd-aaaae9d94d97 https://github.com/user-attachments/assets/098dfd5e-0ac0-4f46-a914-a441b476549b https://github.com/user-attachments/assets/57bdb7cd-1dad-48cf-bc8e-5080a0f75d60 https://github.com/user-attachments/assets/60bb6732-8792-4fec-90f5-e7ad8288b9c1 https://github.com/user-attachments/assets/7c6e9ab7-704a-4118-b35b-63f1cf9caf41 https://github.com/user-attachments/assets/d72f859f-c0f4-4bdb-bef3-ebf67cf45767 https://github.com/user-attachments/assets/4703e0fc-1455-498b-93d3-76eea3f286af

Installation []

Flathub

You can install the Cavasik app from Flathub in its app page.

  • For information on how to setup a flatpak on any distro read this.

Snap Store

You can install the Cavasik app from Snap Store in its app page.

  • For information on how to setup a snap on any distro read this.

Arch Linux

You can install Cavasik from the AUR repository in its app page:

  • For information on how to install an AUR package read this wiki.

Manually

To manually install Cavasik start by downloading a release. Then, uncompress the downloaded release into a resulting folder. Make sure you have all the dependencies needed. Then, proceed to run the following commands:

```

BUILD

arch-meson Cavasik build meson compile -C build

TEST

meson test -C build --print-errorlog

INSTALL

meson install -C build install -Dm644 Cavasik/LICENSE -t "/usr/share/licenses/cavasik" ```

Usage []

Simply start the application on your PC and enjoy. It will react to any sound your system makes, so play some music or something!

Configuration

The configuration is purely graphical. To configure Cavasik, simply press , usually , having it focused or click on the menu button located on the top-left corner of the window and then Preferences. Everything is documented there, I believe its pretty straightforward but if you don't understand something or believe it could be explained better open an Issue or a PR!

Startup Colors

To have the colors of Cavasik change on startup, simply enable this option in the settings and specify a file to get the colors from. The file must contain only one color per line in RGB format, like, for example:

0,0,0 160,160,160 255,255,255

Changing the colors overwrites default profile.

⚠️ Snap Package Warning: When using the Snap version of Cavasik, the app cannot access hidden files in your home directory (like ~/.cache/wal/colors.rgb) due to Snap confinement.

To enable theme coloring at startup, make sure a copy or symbolic link of your color file exists under:

  • $XDG_CONFIG_HOME/cavasik or ~/.config/cavasik

Example:

sh mkdir -p ~/.config/cavasik ln -s ~/.cache/wal/colors.rgb ~/.config/cavasik/colors.rgb

DBus Interface

Cavasik also provides a DBus Interface to change the colors like we can do on startup but on demand. This interface allows us to set the foreground or background colors by sending a signal to Cavasik's DBus interface and specifying a file to get the colors from.

The color file must have the same structure that the startup colors one.

The interface has the following structure:

xml <interface name='io.github.TheWisker.Cavasik'> <method name='set_fg_colors'> <arg type='s' name='path' direction='in'/> <arg type='b' name='state' direction='out'/> </method> <method name='set_bg_colors'> <arg type='s' name='path' direction='in'/> <arg type='b' name='state' direction='out'/> </method> </interface>

So, we can use this in a script to dynamically and on demand set Cavasik's colors, like:

```bash

Must be called under same user that started Cavasik

dbus-send \ --session \ --type=methodcall \ --dest="io.github.TheWisker.Cavasik" \ "/io/github/TheWisker/Cavasik" "io.github.TheWisker.Cavasik.setfgcolors" \ # Use 'setbg_colors' for background colors string:"${HOME}/.cache/wal/colors.rgb" ```

Changing the colors overwrites default profile.

Command line

Cavasik also features a simple command line:

Usage: cavasik [OPTIONS]

Help with OPTIONS:

--version: Prints the current version.

--set-fg [FILE]: Sets the foreground to the colors read from the file.

--set-bg [FILE]: Sets the background to the colors read from the file.

--help: Prints this help.

The color file must have the same structure that the startup colors one.

Changing the colors overwrites default profile.

Pywal Integration

You can easily make Cavasik follow your Pywal colorscheme. Simply enable startup colors, as to make the colors change on startup, and set the startup colors file to be ~/.cache/wal/colors.rgb, for example. Now, you need to add a Pywal template file that will be used to generate the colorscheme in a way Cavasik understands and using your desired colors. For this, simply create a file under ~/.config/wal/templates with the same name as the one you set under ~/.cache/wal/, for example, colors.rgb. Then, write the colors into the file in RGB format, for example:

bash {color1.rgb} {color2.rgb} {color3.rgb}

These will be substituted when Pywal runs. You can use more or less colors and any of {color0} to {color15} and {background} or {foreground}, ending with .rgb. Now, if you run Pywal before starting Cavasik, it will pick up Pywal's colors. If you also intend to run Pywal when Cavasik is running and don't want to have to restart it, you need to make use of the DBus Interface. Simply create a bash script and add inside it:

```bash

Must be called under same user that started Cavasik

dbus-send \ --session \ --type=methodcall \ --dest="io.github.TheWisker.Cavasik" \ "/io/github/TheWisker/Cavasik" "io.github.TheWisker.Cavasik.setfg_colors" \ string:"${HOME}/.cache/wal/colors.rgb" # Or whatever you called it ```

Don't forget to make it executable: chmod +x /path/to/script

Then, simply when running Pywal use its script execute option, or execute it manually after Pywal:

bash wal -o /path/to/script OTHER_ARGS

Or

bash wal OTHER_ARGS /path/to/script

I recommend you save the script under /.config/wal/scripts.

Now you have set up Cavasik to use Pywal's colors!

Dependencies []

Buildtime

The Cavasik application has the following buildtime dependencies:

Runtime

The Cavasik application has the following runtime dependencies:

Contributions []

First and foremost, all contributions are welcome! The steps involved when making a contribution are explained in the CONTRIBUTING.md file. We look forward to your contributions!

  • The contributors list is located here.

Translations []

Secondly, all translations are also welcome! The steps involved when making a translation are explained in the CONTRIBUTING.md file. More specific steps can be found in the CONTRIBUTING.md file in the /lang folder. We look forward to your translations!

  • The credits of the translators are located here.

Metrics []

License []

Code of Conduct []

This project follows the Contributor Covenant Code of Conduct.

Credits []

| Author | Forked From | | ------------- | ------------- | | | | | TheWisker | Fsobolev |

Owner

  • Name: Wisker
  • Login: TheWisker
  • Kind: user

I don't know why it works

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software in your work, or make a fork of it, please cite it using the following metadata."
authors:
- given-names: "TheWisker"
title: "Cavasik Project"
version: 3.2.0
date-released: 2023-06-18
url: "https://github.com/TheWisker/Cavasik"

GitHub Events

Total
  • Create event: 5
  • Release event: 6
  • Issues event: 12
  • Watch event: 50
  • Delete event: 2
  • Issue comment event: 41
  • Push event: 286
  • Pull request review event: 2
  • Pull request review comment event: 1
  • Pull request event: 2
  • Fork event: 4
Last Year
  • Create event: 5
  • Release event: 6
  • Issues event: 12
  • Watch event: 50
  • Delete event: 2
  • Issue comment event: 41
  • Push event: 286
  • Pull request review event: 2
  • Pull request review comment event: 1
  • Pull request event: 2
  • Fork event: 4

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,022
  • Total Committers: 10
  • Avg Commits per committer: 102.2
  • Development Distribution Score (DDS): 0.189
Past Year
  • Commits: 364
  • Committers: 1
  • Avg Commits per committer: 364.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
TheWisker T****r@p****m 829
Fyodor Sobolev 1****v 125
gregorni 1****i 45
albanobattistella 3****a 9
$username $****l 6
Heimen Stoffels v****s@f****m 4
rene-coty i****n@e****l 1
Mattia Borda m****a@i****m 1
Kian-Meng Ang k****g@c****g 1
Santiago F sf@s****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 3
  • Average time to close issues: 2 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 13
  • Total pull request authors: 3
  • Average comments per issue: 2.72
  • Average comments per pull request: 1.67
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 1
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 days
  • Issue authors: 6
  • Pull request authors: 1
  • Average comments per issue: 1.67
  • Average comments per pull request: 3.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Twig6943 (4)
  • MylesGit (2)
  • Myzel394 (2)
  • matytyma (1)
  • d3cryptofc (1)
  • tsday123 (1)
  • ForceConstant (1)
  • LiquidZulu (1)
  • RaduTek (1)
  • benmordecai (1)
  • ilobilo (1)
  • jhorner6511 (1)
Pull Request Authors
  • kianmeng (1)
  • yakushabb (1)
Top Labels
Issue Labels
enhancement (11) bug (3) invalid (1)
Pull Request Labels
typo (1)

Dependencies

.github/workflows/aur_update.yml actions
  • TheWisker/aur-update master composite
.github/workflows/aur_update_git.yml actions
  • TheWisker/aur-update-git master composite
.github/workflows/github_metrics.yml actions
  • TheWisker/GitHubMetrics master composite
  • actions/checkout v3 composite