karlstav / cava

Cross-platform Audio Visualizer
MIT License
4.27k stars 231 forks source link

Gradient looks blocky #251

Closed ahloiscreamo closed 5 years ago

ahloiscreamo commented 5 years ago

Hi, gradient look off on my system (fedora29 i3wm) I use Tilix terminal, the gradient also look off with another terminal (urxvt,termite,etc) I use Cava from fedora repositories,

screenshot from 2019-01-02 23-12-06

I don't know is there something wrong about my config but here it is-


## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.

[general]

# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
 mode = normal

# Accepts only non-negative values.
 framerate = 60

# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
 autosens = 1
; overshoot = 20

# Manual sensitivity in %. Autosens must be turned off for this to take effect.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100

# The number of bars (0-200). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
; bar_width = 2
; bar_spacing = 1

# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000

[input]

# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
# 
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
 method = pulse
 source = auto

; method = alsa
; source = hw:Loopback,1

; method = fifo
; source = /tmp/mpd.fifo

; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF

[output]

# Ouput method. Can be 'ncurses', 'noncurses' or 'raw'. 
# 'noncurses' is for systems that does not suport ncurses.
# 'raw' is a 16 bit data stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
 method = ncurses

# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' averages both channels and outputs left to right lowest to highest frequencies.
 channels = stereo

# Raw output target. A fifo will be created if target does not exist.
; raw_target = /dev/stdout

# Raw data format. Can be 'binary' or 'ascii'.
 data_format = binary

# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
 bit_format = 16bit

# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000

# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10

[color]

# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires a
# terminal that can change color definitions such as Gnome-terminal or rxvt.
; background = black
; foreground = cyan

# Gradient mode, only hex defined colors are supported, background must also be defined in hex
# or remain commented out. 1 = on, 0 = off. Warning: for certain terminal emulators cava will
# not able to restore color definitions on exit, simply restart your terminal to restore colors.
 gradient = 1
 gradient_count = 2
 gradient_color_1 = '#1DE9B6'
 gradient_color_2 = '#F50057'

[smoothing]

# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
 integral = 70

# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. 
 monstercat = 1
; waves = 0;

# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
; gravity = 100

# In bar height, bars that would have been lower that this will not be drawn.
; ignore = 0

[eq]

# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more then one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble
karlstav commented 5 years ago

how is it off? If you are referring to the poor resolution, you can try to reduce the font size in the terminal.

ahloiscreamo commented 5 years ago

Sorry about being unclear. what i mean is the gradient look blocky, they appear like there are rectangle between the gradient.. is it suppose to look like that? i did change my font size, it still look like that. When i see other user configuration, their cava look smooth like this one 2obpgzywqim01 i suppose my eyes is bad combining with my old monitor, no good. i will close the issues.Thanks!

karlstav commented 5 years ago

Because cava is simply text, the resolution is limited to the number of lines. So the gradient will appear blocky if the font is large. Just try reducing it even more. You might also try to chose colours that are more similar. You don't have to close it just yet, more people is most likely having the same issue. I will add a note about it in the readme or config file.

iamsubhranil commented 5 years ago

@ahloiscreamo that screenshot is mine posted on unixporn. @karlstav has given all the details that you need to know. and that happens to me also, especially when colors are too distant from each other, like the top part of the following, the transitioning from yellow to red : screenshot

Bfgeshka commented 5 years ago

One text symbol can have only one colour, thus it is a technical limitation. If you want to have smoother gradient then make font size smaller or make terminal columns longer.