karlstav / cava

Cross-platform Audio Visualizer
MIT License
4.23k stars 232 forks source link

Still shows spectrum after the sound is turned off #185

Closed yurivict closed 4 years ago

yurivict commented 6 years ago

It never goes to zero, just cycles through something, likely the last sound segment.

karlstav commented 6 years ago

Haven't seen this before, I need some more info about your setup and system.

yurivict commented 6 years ago

I need some more info about your setup and system.

xfce4 terminal. Using pulseaudio.

How to repeat:

karlstav commented 6 years ago

sorry, can't reproduce... the bars all fall down like they are supposed to. using pulseaudio 8.0 on mint.

yurivict commented 6 years ago

pulseaudio-10.0

karlstav commented 6 years ago

maybe there is something there, nothing in the release notes immediately stands out, but maybe diabling this memfd thing can help:

from 9.0:

"Memfd is a simple memory sharing mechanism, added by the systemd/kdbus developers, to share pages between processes in an anonymous, no global registry needed, no mount-point required, relatively secure, manner. Memfd support in PulseAudio has the potential of improving security in sandboxing use cases by preventing applications from accessing each other's audio streams."

from 10.0:

"The memfd-based shared memory mechanism that was implemented in 9.0 is now enabled by default. "

"If desired, the feature can still be disabled by setting "enable-memfd = no" either in daemon.conf (for disabling it at the server side) or in client.conf (for disabling it at the client side)."

karlstav commented 6 years ago

@yurivict have you tried setting "enable-memfd = no" ? To see if it helps.

hahuang65 commented 6 years ago

I'm having a similar, if not related, issue. When I stop output from my computer, the visualizer continues moving. In fact, it looks like it's picking up environmental ambient sounds from the mic or something. When I speak or type, I can see it spike based on the sounds I'm making.

karlstav commented 6 years ago

@hahuang65 you have probably specified the mic as source. How is the input configured in the config? Do you know if you are using pulse or alsa?

hahuang65 commented 6 years ago

I hadn't configured anything. It's the default generated config as far as I know

hahuang65 commented 6 years ago
## 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' or 'fifo'.
# 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.
; method = pulse
; source = auto

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

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

[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 = 0
; gradient_color_1 = '#0099ff'
; gradient_color_2 = '#ff3399'

[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 6 years ago

Look like the default config file alright.

Could you give me the output of your pacmd list-sources and pacmd list-sinks?

hahuang65 commented 6 years ago
$ pacmd list-sources
2 source(s) available.
  * index: 1
    name: <alsa_input.pci-0000_00_1f.3.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: 
    priority: 9039
    volume: front-left: 10093 /  15% / -48.75 dB,   front-right: 10093 /  15% / -48.75 dB
            balance 0.00
    base volume: 6554 /  10% / -60.00 dB
    volume steps: 65537
    muted: no
    current latency: 2.97 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 1
    linked by: 1
    configured latency: 16.00 ms; range is 4.00 .. 2000.00 ms
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 6
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC3271 Analog"
        alsa.id = "ALC3271 Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xdc428000 irq 136"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d71"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "front:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Built-in Audio Analog Stereo"
        alsa.mixer_name = "Realtek ALC3271"
        alsa.components = "HDA:10ec0299,102807e6,00100002 HDA:8086280b,80860101,00100000"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headphone-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headset-mic: Headset Microphone (priority 8800, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
    active port: <analog-input-internal-mic>
    index: 92
    name: <alsa_output.pci-0000_00_1f.3.hdmi-stereo.monitor>
    driver: <module-alsa-card.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 1030
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    monitor_of: 91
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 6
    properties:
        device.description = "Monitor of Built-in Audio Digital Stereo (HDMI)"
        device.class = "monitor"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xdc428000 irq 136"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d71"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "0"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
$ pacmd list-sinks
1 sink(s) available.
  * index: 91
    name: <alsa_output.pci-0000_00_1f.3.hdmi-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9030
    volume: front-left: 17029 /  26% / -35.12 dB,   front-right: 17029 /  26% / -35.12 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 92
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 1
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 6
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "HDMI 0"
        alsa.id = "HDMI 0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "3"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xdc428000 irq 136"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d71"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "hdmi:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "hdmi-stereo"
        device.profile.description = "Digital Stereo (HDMI)"
        device.description = "Built-in Audio Digital Stereo (HDMI)"
        alsa.mixer_name = "Realtek ALC3271"
        alsa.components = "HDA:10ec0299,102807e6,00100002 HDA:8086280b,80860101,00100000"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
            properties:
                device.icon_name = "video-display"
                device.product.name = "ASUS PB287Q"
    active port: <hdmi-output-0>
karlstav commented 6 years ago

you can try changing:

; method = pulse
; source = auto

to

method = pulse
source = alsa_output.pci-0000_00_1f.3.hdmi-stereo.monitor

in the config file.

hahuang65 commented 6 years ago

It's a latpop though, so that source will change when I unplug it from the HDMI monitor right?

yurivict commented 6 years ago

For me, it just shows animation when there is no sound at all.

$ cat ~/.config/cava/config 
method = pulse
source = oss_output.dsp3

Where does it take it?

I can't create the FreeBSD port because its behavior is just unreasonable. :)

yurivict commented 6 years ago

When config file is like this:

method = fifo
source = /tmp/mpd.fifo

it doesn't even try to open this file /tmp/mpd.fifo.

karlstav commented 6 years ago

@hahuang65 yes, seems to be some issues in making this run smoothly when plugging unplugging hdmi. maybe related to #198

karlstav commented 6 years ago

@yurivict, I'm not sure about your problem, you will have to be more specific.

yurivict commented 6 years ago

Is there a verbose option? It takes signal not from what config file says.

karlstav commented 6 years ago

you can try to specify path to config file with -p

hahuang65 commented 6 years ago

@karlstav this has kind of split into two issues. Initially I thought my issue was related to @yurivict but it is not. So I'm sorry for hi-jacking his thread. Should I start a new issue?

yurivict commented 6 years ago

@karlstav

you can try to specify path to config file with -p

Yes. It certainly reads the config file, but the sound that it shows is unrelated. Also with source=/tmp/mpd.fifo I would have expected it to hang, but it still shows the same pattern and doesn't even open this file.

yurivict commented 6 years ago

Here is how it looks like regardless of actual sound played on this computer: https://streamable.com/ooam3

karlstav commented 6 years ago

@yurivict that looks like ambient noise, can you confirm that it is using sound from microphone?

also if this is your entire config file:

$ cat ~/.config/cava/config 
method = pulse
source = oss_output.dsp3

it will not work. The parameters need to be stored in their respective sections such as [input]. Look at the example file for help.

yurivict commented 6 years ago

My complete config file:

$ cat ~/.config/cava/config
method = fifo
source = /tmp/mpd.fifo

There is no such file /tmp/mpd.fifo.

karlstav commented 6 years ago

try

[input]
method = fifo
source = /tmp/mpd.fifo

it will run even if there is no /tmp/mpd.fifo. I think it has to do with the fact that it isn't expecting a file but a fifo.

yurivict commented 6 years ago

You closed this, but how can I make it work? It doesn't seem to read this file at all.

karlstav commented 6 years ago

please read my last two comments

yurivict commented 6 years ago

Yes, but it failed with a fifo. So far, I only see some random signal, unrelated to any real sound that I have playing.

yurivict commented 6 years ago

If it expects fifo, and doesn't find one, it should fail with an error message. Once method=fifo is set, it should either work through fifo, or fail, or possibly hang because of data unavailability.

Currently it doesn't do any such things. It just always plays some test signal.

karlstav commented 6 years ago

Since it is a fifo and not a file, I am not sure if that is the right behavior. Maybe you want to start cava before mpd (mpd creates the fifo), or you want to restart mpd without cava crashing etc.. But maybe you are right I will look into that.

However that is not the central issue here. The issue here is cava shoving some visualization even if there is no sound playing. I haven't been able to reproduce this on either Fedora or Mint, but you are using FreeBSD am i right?

Are you seeing exactly the same behavior when using method=fifo as when using method=pulse? (starting cava without audio playing shows some animation)

Is it the same animation every time? Is it a continuous loop or is it random? if it is a loop, how long is it, can you describe it?

yurivict commented 6 years ago

Here is how it looks like: https://streamable.com/ooam3 in rev. 554cbfd

Version 0.6.0 behaves differently: it loops forever over some fragment when the music stops, but shows nothing when restarted.

rev. 554cbfd though always shows the pattern as in the above URL.

karlstav commented 6 years ago

looks like ambient noise, can you confirm that it is not using sound from your microphone?

jollyplant commented 6 years ago

I am having the exact same issue that @yurivict shows in his streamable.com link. This is on the latest Raspbian 4.9, using Alsa with source hw:CARD=Device,DEV=0 (I'm using a USB to 3.5mm mic adapter from Adafruit). I can confirm that when I completely unplug the device, it looks like sound is still coming in. If I have the USB adapter plugged in with nothing playing, it looks flat but after a few seconds it builds up and looks like sound is coming in from somewhere, but it's not. Any files I can paste to help identify this issue?

karlstav commented 6 years ago

The cava config file and the output of 'arecord -l' would be nice for a start.

Cava would automatically adjust sensitivity until peaking (autosens). So what you describe is expected when using a mic/line-in. Try turning of autosens and setting sensitivity manually to avoid this.

jollyplant commented 6 years ago

arecord -l outputs:

**** List of CAPTURE Hardware Devices ****
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Interestingly, when I disable autosens I can't run cava anymore. I get a "malloc(): memory corruption" error. Here is my cava config:

## 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 = 0
;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 = 1

# 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 = 1
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 = 400
higher_cutoff_freq = 6000

[input]

# Audio capturing method. Possible methods are: 'pulse', 'alsa' or 'fifo'.
# 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.

;method = pulse
;source = auto

method = alsa
source = plughw:CARD=Device,DEV=0
#source = hw:CARD=Device,DEV=0

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

[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 = mono

# 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 = 2

# 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 = green

# 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_color_1 = 'r#0099ff'
;gradient_color_2 = '#ff3399'

[smoothing]

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

# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. 
monstercat = 0
;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 = 200

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

[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
2 = 1
3 = 1
4 = 1
5 = 1
jollyplant commented 6 years ago

Is there anything I can put into this config file or somewhere else, that will tell Cava to set all bars to 0 if there is no input detected for a few seconds? I think this would solve the issue for me.

karlstav commented 6 years ago

Looks like you stumbled upon a bug! I'll look into it when I have more time (might be a while).

For the other issues it sounds like ambient noise being picked up from microphone. You can look in the readme under capturing audio on how to capture directly from output. If not picking up from microphone is what you want.

karlstav commented 6 years ago

Well if it was no sound at all it would have been at 0. Your problem is that it is actually something there. Maybe there could have been an "ignore values lower than" option, but there isn't anything like that right now I'm afraid.

jollyplant commented 6 years ago

Thank you very much for your replies, and your work on this excellent program! I'll keep digging around and update here if I solve it

ghost commented 6 years ago

currently experiencing the same issue on Void Linux

ghost commented 6 years ago

Nevermind, I just built cava from source instead of using the version provided in the void repo and it works as intended.

yurivict commented 6 years ago

built cava from source instead of using the version provided in the void repo and it works as intended

Same on FreeBSD. When built from source, it has this problem, but the package doesn't. This means that there is the problem in sources.

Kabouik commented 4 years ago

I built and packaged cava from sources on Sailfish OS and I am having a similar problem, also confirmed by others who used the package. cava picks ambient sound from the microphone with these settings:

cava.conf:

## 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 = scientific

# 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 = 3

# 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 = 1
; 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

# FFT buffer is set in the exponent of 2 and must be between 8 - 16, 8 = 256, 16 = 65536
# this is the audio buffer used to create the spectrum
# increasing the will improve the accuracy of the visualization,
# but will also make it slower and increase CPU usage
# anything below 10 and above 13 is considered experimental.
; FFTbufferSize = 12;

[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
; sample_rate = 44100
; sample_bits = 16

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

; method = portaudio
; source = auto

[output]

# Ouput method. Can be 'ncurses', 'noncurses' or 'raw'.
# 'noncurses' is for systems that does not suport ncurses.
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) 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' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
; channels = stereo
; mono_option = average

# 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 = yellow

# 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 = '#0099ff'
; gradient_color_2 = '#ff3399'

[smoothing]

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

# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0
; 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

We tried using different outputs in config file with no success, but we're not 100% sure we used the correct names in listed sources. What would you recommend from the following list please?

$ pacmd list-sources
5 source(s) available.
    index: 0
    name: <sink.primary_output.monitor>
    driver: <module-droid-card.c>
    flags: DECIBEL_VOLUME LATENCY 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 8.00 ms
    monitor_of: 0
    card: 0 <droid_card.primary>
    module: 1
    properties:
        device.description = "Monitor of Droid sink primary_output"
        device.class = "monitor"
        droid.hw_module = "primary"
        device.icon_name = "audio-card"
    index: 1
    name: <sink.deep_buffer.monitor>
    driver: <module-droid-card.c>
    flags: DECIBEL_VOLUME LATENCY 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 80.00 ms
    monitor_of: 1
    card: 0 <droid_card.primary>
    module: 1
    properties:
        device.description = "Monitor of Droid sink deep_buffer"
        device.class = "monitor"
        droid.hw_module = "primary"
        device.icon_name = "audio-card"
  * index: 2
    name: <source.droid>
    driver: <module-droid-card.c>
    flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME 
    state: RUNNING
    suspend cause: (none)
    priority: 9000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 4
    linked by: 4
    fixed latency: 20.14 ms
    card: 0 <droid_card.primary>
    module: 1
    properties:
        device.description = "Droid source droid"
        device.class = "sound"
        device.api = "droid-hal"
        droid.input.external = "true"
        droid.input.builtin = "true"
        droid.hw_module = "primary"
        device.icon_name = "audio-card"
    ports:
        input-builtin_mic: Input from builtin mic (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-bluetooth_sco_headset: Input from bluetooth sco headset (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-wired_headset: Input from wired headset (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-voice_call: Input from voice call (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-back_mic: Input from back mic (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-usb_device: Input from usb device (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-fm_tuner: Input from fm tuner (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-default: Input from default (priority 200, latency offset 0 usec, available: yes)
            properties:

        input-parking: Parking port (priority 50, latency offset 0 usec, available: yes)
            properties:

    active port: <input-builtin_mic>
    index: 3
    name: <sink.null.monitor>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 375 KiB
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    monitor_of: 2
    module: 8
    properties:
        device.description = "Monitor of Null Output"
        device.class = "monitor"
        device.icon_name = "audio-input-microphone"
    index: 4
    name: <source.null>
    driver: <module-null-source.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 375 KiB
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 9
    properties:
        device.description = "Null Input"
        device.class = "abstract"
        device.icon_name = "audio-input-microphone"
$ pacmd list-sinks
3 sink(s) available.
  * index: 0
    name: <sink.primary_output>
    driver: <module-droid-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY FLAT_VOLUME 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 0
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 8.00 ms
    card: 0 <droid_card.primary>
    module: 1
    properties:
        device.description = "Droid sink primary_output"
        device.class = "sound"
        device.api = "droid-hal"
        droid.flags = "AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST"
        droid.hw_module = "primary"
        device.icon_name = "audio-card"
        droid.output.primary = "true"
        droid.output.low_latency = "true"
        droid.output.media_latency = "false"
    ports:
        output-earpiece: Output to earpiece (priority 200, latency offset 0 usec, available: yes)
            properties:

        output-speaker: Output to speaker (priority 300, latency offset 0 usec, available: yes)
            properties:

        output-wired_headset: Output to wired headset (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-wired_headphone: Output to wired headphone (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-bluetooth_sco: Output to bluetooth sco (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-sco_headset: Output to sco headset (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-sco_carkit: Output to sco carkit (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp: Output to a2dp (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp_headphones: Output to a2dp headphones (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp_speaker: Output to a2dp speaker (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-aux_digital: Output to aux digital (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-usb_device: Output to usb device (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-line: Output to line (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-fm: Output to fm (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-proxy: Output to proxy (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-speaker+wired_headphone: Output to speaker+wired headphone (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-parking: Parking port (priority 50, latency offset 0 usec, available: yes)
            properties:

    active port: <output-speaker>
    index: 1
    name: <sink.deep_buffer>
    driver: <module-droid-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY FLAT_VOLUME 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 1
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 1
    fixed latency: 80.00 ms
    card: 0 <droid_card.primary>
    module: 1
    properties:
        device.description = "Droid sink deep_buffer"
        device.class = "sound"
        device.api = "droid-hal"
        droid.flags = "AUDIO_OUTPUT_FLAG_DEEP_BUFFER"
        droid.hw_module = "primary"
        device.icon_name = "audio-card"
        droid.output.media_latency = "true"
        x-maemo.mode = "ihf"
        x-maemo.accessory_hwid = ""
    ports:
        output-earpiece: Output to earpiece (priority 200, latency offset 0 usec, available: yes)
            properties:

        output-speaker: Output to speaker (priority 300, latency offset 0 usec, available: yes)
            properties:

        output-wired_headset: Output to wired headset (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-wired_headphone: Output to wired headphone (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-bluetooth_sco: Output to bluetooth sco (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-sco_headset: Output to sco headset (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-sco_carkit: Output to sco carkit (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp: Output to a2dp (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp_headphones: Output to a2dp headphones (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-a2dp_speaker: Output to a2dp speaker (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-aux_digital: Output to aux digital (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-usb_device: Output to usb device (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-line: Output to line (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-proxy: Output to proxy (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-speaker+wired_headphone: Output to speaker+wired headphone (priority 100, latency offset 0 usec, available: yes)
            properties:

        output-parking: Parking port (priority 50, latency offset 0 usec, available: yes)
            properties:

    active port: <output-speaker>
    index: 2
    name: <sink.null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 375 KiB
    max rewind: 375 KiB
    monitor source: 3
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 8
    properties:
        device.description = "Null Output"
        device.class = "abstract"
        device.icon_name = "audio-card"
karlstav commented 4 years ago

Do you have pulseaudio instead? if not cava uses alsa and then this will be expected behavior when nothing is configured.

Please read the readme on capturing audio.

Karl

On 30 May 2020, at 12:29, Kabouik notifications@github.com wrote:

 I built and packaged cava from sources on Sailfish OS and I am having a similar problem, also confirmed by others who used the package. cava by picks ambient sound from the microphone with these settings:

cava.conf:

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 = scientific

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 = 3

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 = 1 ; 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

FFT buffer is set in the exponent of 2 and must be between 8 - 16, 8 = 256, 16 = 65536

this is the audio buffer used to create the spectrum

increasing the will improve the accuracy of the visualization,

but will also make it slower and increase CPU usage

anything below 10 and above 13 is considered experimental.

; FFTbufferSize = 12;

[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 ; sample_rate = 44100 ; sample_bits = 16

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

; method = portaudio ; source = auto

[output]

Ouput method. Can be 'ncurses', 'noncurses' or 'raw'.

'noncurses' is for systems that does not suport ncurses.

'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) 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' outputs left to right lowest to highest frequencies.

'mono_option' set mono to either take input from 'left', 'right' or 'average'.

; channels = stereo ; mono_option = average

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 = yellow

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 = '#0099ff' ; gradient_color_2 = '#ff3399'

[smoothing]

Percentage value for integral smoothing. Takes values from 0 - 100.

Higher values means smoother, but less precise. 0 to disable.

; integral = 77

Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.

; monstercat = 0 ; 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 We tried using different outputs in config file with no success, but we're not 100% sure we used the correct names in listed sources. What would you recommend from the following list please?

(will edit with the list in 2 min from device, please wait)

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.

Kabouik commented 4 years ago

Yes, pulseaudio is installed, and I build cava it with pulseaudio-dev installed. See the installed packages here:

devel-su zypper search pulseaudio
Password: 
Loading repository data...
Reading installed packages...

S  | Name                                      | Summary                                                 | Type      
---+-------------------------------------------+---------------------------------------------------------+-----------
   | alsa-plugins-pulseaudio                   | Alsa to PulseAudio backend                              | package   
i  | droid-config-t5-pulseaudio-settings       | PulseAudio settings for t5 hw                           | package   
i+ | pulseaudio                                | General purpose sound server                            | package   
   | pulseaudio                                | General purpose sound server                            | srcpackage
   | pulseaudio-debuginfo                      | Debug information for package pulseaudio                | package   
   | pulseaudio-debugsource                    | Debug sources for package pulseaudio                    | package   
i+ | pulseaudio-devel                          | PulseAudio Development headers and libraries            | package   
   | pulseaudio-doc                            | Documentation for pulseaudio                            | package   
i  | pulseaudio-module-keepalive               | PulseAudio keepalive module                             | package   
   | pulseaudio-module-keepalive               | PulseAudio keepalive module                             | srcpackage
   | pulseaudio-module-keepalive-debuginfo     | Debug information for package pulseaudio-module-keepa-> | package   
   | pulseaudio-module-keepalive-debugsource   | Debug sources for package pulseaudio-module-keepalive   | package   
i  | pulseaudio-modules-droid                  | PulseAudio Droid HAL modules                            | package   
i  | pulseaudio-modules-droid-common           | Common libs for the PulseAudio droid modules            | package   
   | pulseaudio-modules-droid-debuginfo        | Debug information for package pulseaudio-modules-droid  | package   
   | pulseaudio-modules-droid-debugsource      | Debug sources for package pulseaudio-modules-droid      | package   
   | pulseaudio-modules-droid-devel            | Development files for PulseAudio droid modules          | package   
i  | pulseaudio-modules-droid-hidl             | PulseAudio Droid HIDL module                            | package   
   | pulseaudio-modules-droid-hidl-debuginfo   | Debug information for package pulseaudio-modules-droi-> | package   
   | pulseaudio-modules-droid-hidl-debugsource | Debug sources for package pulseaudio-modules-droid-hidl | package   
   | pulseaudio-modules-nemo                   | PulseAudio modules for Nemo                             | srcpackage
i  | pulseaudio-modules-nemo-common            | Common libs for the Nemo PulseAudio modules             | package   
   | pulseaudio-modules-nemo-debuginfo         | Debug information for package pulseaudio-modules-nemo   | package   
   | pulseaudio-modules-nemo-debugsource       | Debug sources for package pulseaudio-modules-nemo       | package   
   | pulseaudio-modules-nemo-devel             | Development files for modules.                          | package   
i  | pulseaudio-modules-nemo-mainvolume        | Mainvolume module for PulseAudio                        | package   
   | pulseaudio-modules-nemo-music             | Music module for PulseAudio                             | package   
i  | pulseaudio-modules-nemo-parameters        | Algorithm parameter manager module for PulseAudio       | package   
   | pulseaudio-modules-nemo-record            | Cmtspeech module for PulseAudio                         | package   
   | pulseaudio-modules-nemo-sidetone          | Sidetone module for PulseAudio                          | package   
i  | pulseaudio-modules-nemo-stream-restore    | Modified version of the original stream-restore modul-> | package   
   | pulseaudio-modules-nemo-test              | Test module for PulseAudio                              | package   
   | pulseaudio-modules-nemo-voice             | Voice module for PulseAudio                             | package   
i  | pulseaudio-policy-enforcement             | Pulseaudio module for enforcing policy decisions in t-> | package   
   | pulseaudio-policy-enforcement             | Pulseaudio module for enforcing policy decisions in t-> | srcpackage
   | pulseaudio-policy-enforcement-debuginfo   | Debug information for package pulseaudio-policy-enfor-> | package   
   | pulseaudio-policy-enforcement-debugsource | Debug sources for package pulseaudio-policy-enforcement | package   
i  | qt5-qtmultimedia-plugin-audio-pulseaudio  | Qt Multimedia - Pulse Audio plugin                      | package   

I tried before with uncommented method = pulse and source = auto too, I should have posted that configuration instead, sorry. However cava would still use the microphone with those settings uncommented and after compilation with pulseaudio-dev installed.

karlstav commented 4 years ago

Strange, can you give me the output off "pacmd list-sinks" "pacmd list-sources" and "pacmd list-clients" while cava is running.

- Karl

On 30 May 2020, at 15:58, Kabouik notifications@github.com wrote:

 Yes, pulseaudio is installed, and I build it wit pulseaudio-dev installed. See the installed packages here:

devel-su zypper search pulseaudio Password: Loading repository data... Reading installed packages...

S | Name | Summary | Type
---+-------------------------------------------+---------------------------------------------------------+----------- | alsa-plugins-pulseaudio | Alsa to PulseAudio backend | package
i | droid-config-t5-pulseaudio-settings | PulseAudio settings for t5 hw | package
i+ | pulseaudio | General purpose sound server | package
| pulseaudio | General purpose sound server | srcpackage | pulseaudio-debuginfo | Debug information for package pulseaudio | package
| pulseaudio-debugsource | Debug sources for package pulseaudio | package
i+ | pulseaudio-devel | PulseAudio Development headers and libraries | package
| pulseaudio-doc | Documentation for pulseaudio | package
i | pulseaudio-module-keepalive | PulseAudio keepalive module | package
| pulseaudio-module-keepalive | PulseAudio keepalive module | srcpackage | pulseaudio-module-keepalive-debuginfo | Debug information for package pulseaudio-module-keepa-> | package
| pulseaudio-module-keepalive-debugsource | Debug sources for package pulseaudio-module-keepalive | package
i | pulseaudio-modules-droid | PulseAudio Droid HAL modules | package
i | pulseaudio-modules-droid-common | Common libs for the PulseAudio droid modules | package
| pulseaudio-modules-droid-debuginfo | Debug information for package pulseaudio-modules-droid | package
| pulseaudio-modules-droid-debugsource | Debug sources for package pulseaudio-modules-droid | package
| pulseaudio-modules-droid-devel | Development files for PulseAudio droid modules | package
i | pulseaudio-modules-droid-hidl | PulseAudio Droid HIDL module | package
| pulseaudio-modules-droid-hidl-debuginfo | Debug information for package pulseaudio-modules-droi-> | package
| pulseaudio-modules-droid-hidl-debugsource | Debug sources for package pulseaudio-modules-droid-hidl | package
| pulseaudio-modules-nemo | PulseAudio modules for Nemo | srcpackage i | pulseaudio-modules-nemo-common | Common libs for the Nemo PulseAudio modules | package
| pulseaudio-modules-nemo-debuginfo | Debug information for package pulseaudio-modules-nemo | package
| pulseaudio-modules-nemo-debugsource | Debug sources for package pulseaudio-modules-nemo | package
| pulseaudio-modules-nemo-devel | Development files for modules. | package
i | pulseaudio-modules-nemo-mainvolume | Mainvolume module for PulseAudio | package
| pulseaudio-modules-nemo-music | Music module for PulseAudio | package
i | pulseaudio-modules-nemo-parameters | Algorithm parameter manager module for PulseAudio | package
| pulseaudio-modules-nemo-record | Cmtspeech module for PulseAudio | package
| pulseaudio-modules-nemo-sidetone | Sidetone module for PulseAudio | package
i | pulseaudio-modules-nemo-stream-restore | Modified version of the original stream-restore modul-> | package
| pulseaudio-modules-nemo-test | Test module for PulseAudio | package
| pulseaudio-modules-nemo-voice | Voice module for PulseAudio | package
i | pulseaudio-policy-enforcement | Pulseaudio module for enforcing policy decisions in t-> | package
| pulseaudio-policy-enforcement | Pulseaudio module for enforcing policy decisions in t-> | srcpackage | pulseaudio-policy-enforcement-debuginfo | Debug information for package pulseaudio-policy-enfor-> | package
| pulseaudio-policy-enforcement-debugsource | Debug sources for package pulseaudio-policy-enforcement | package
i | qt5-qtmultimedia-plugin-audio-pulseaudio | Qt Multimedia - Pulse Audio plugin | package
I tried before with uncommented methode = pulse and source = auto, but cava would still use the microphone.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.

Kabouik commented 4 years ago

Here are the outputs: pacmdlistclients.txt pacmdlistsources.txt pacmdlistsinks.txt

karlstav commented 4 years ago

Try using "sink.primary_output.monitor" as source or any of the other "names" listed under sources, without the "<>".

- Karl

On 30 May 2020, at 18:55, Kabouik notifications@github.com wrote:

 Here are the outputs: pacmdlistclients.txt pacmdlistsources.txt pacmdlistsinks.txt

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.

Kabouik commented 4 years ago

Unfortunately I think I've tried them all, and still the same behaviour. What is weird is cava is picking ambient sound with all sources I've tried in input, as if cava was still using Alsa as default (and the two pulse settings are uncommented, no :). The Readme says that cava needs to be built with pulseaudio-devel installed to enable pulse, which I did, but is there a way to check if cava detected it properly and has support for it now?