karlstav / cava

Cross-platform Audio Visualizer
MIT License
4.3k stars 234 forks source link

Reacting to microphone (input), instead of speakers (output) #422

Closed Ilovemyhous closed 2 years ago

Ilovemyhous commented 2 years ago

When/where was the bug introduced?

Describe the bug cava is reacting to the microphone, instead of the speakers. https://user-images.githubusercontent.com/50217071/144102743-7aae3bad-1460-4dc5-ad9f-0db2826784b2.mp4

To Reproduce Steps to reproduce the behavior:

  1. Used Octopi to install cava (0.7.4)
  2. Then ran cava.

Expected behavior I expected cava to react to the output, not the input.

Screenshots Look video above

Desktop (please complete the following information): image

Terminal emulator Alacritty (0.9.0) and fish (3.3.1)

Additional context Might be because I use PipeWire, instead of PulseAudio. I already tried with PulseAudio, but it bricked my audio.

I already looked this issue, but it was an user issue.

karlstav commented 2 years ago

hi @Ilovemyhous

i am pretty sure pipewire is the reason behind this. since cava does not have a native pipewire input module but would rely on the pulseaudio support in pipewire. However I tried to reproduce this by installing pipewire on my ubunyu 21.10 setup and it worked fine.

do you know if you are running pipewire-pulse?

if so, you could run pactl list sources, find the .monitor source for your output device and set it as the 'source' in the '[input]' section of the cava config.

Ilovemyhous commented 2 years ago

Hi! I indeed have _pipewirepulse (look image). image

For the .monitor I found two entries. One from the audio card, and one from Nvidia. I took the audio card, but still not working. :/ image

I might have put the wrong name in the cava config.

karlstav commented 2 years ago

You need to remove the ; in front of the line you are trying to edit. Remove the ; before method = pulse also. Just so we are sure that we are using pulseaudio.

Ilovemyhous commented 2 years ago

Tried with # 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 = alsa_output.pci-0000_05_00.6.analog-stereo.monitor

along with removing the ; in front of the source but it didn't worked either.

karlstav commented 2 years ago

hmm well, you don't by any chance have the sound from your mic in your speakers as well? That would explain it. Other than that, I am not sure here.

Ilovemyhous commented 2 years ago

If you mean, that I hear like, my own voice, no.

But I'll try to install cava on Linux Mint.

Ilovemyhous commented 2 years ago

Hi! So, I apparently already installed cava on my Mint distro, but it uses Pulseaudio. I'll try to switch on Pulseaudio on Garuda too, and hope it won't break my audio outputs.

Ilovemyhous commented 2 years ago

Hey! Some updates, so I finally had time to give PulseAudio a new try, and it worked, along with cava.

James-hoerr commented 2 years ago

I am using pipewire and experiencing the same issue. Is there any way to troubleshoot this further?

James-hoerr commented 2 years ago

I actually was able to solve this for anyone who finds this:

When getting the sources from: pactl list sources Instead of using the monitor name use the source number

Source #65584
    State: IDLE
    Name: alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y80P36N9A849F2-00.analog-stereo.monitor
    Description: Monitor of Scarlett 2i2 Camera Analog Stereo

So for the above:

 method = pulse
 source = alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y80P36N9A849F2-00.analog-stereo.monitor

Does not work, but the below does

 method = pulse
 source = 65584
Tupu4545 commented 2 years ago

I am using pipewire and I have changed the source to the source number listed in the pactl list sources instead of the .monitor but still I am facing the same issue

IdreesM0 commented 2 years ago

Hi! Not opening new issue since mine is very similar to this one. I actually had the same setup working on my other laptop. I have the bars but they just do not respond to the music stream and if I unmute the mic, the high end has kinda have brain of its own. I have cave and pulseeffects-legacy installed from AUR. My system: image

pactl list sources

`Source #0 State: IDLE Name: alsa_output.usb-FiiO_FiiO_BTR5-00.analog-stereo.monitor Description: Monitor of FiiO BTR5 Analog Stereo Driver: module-alsa-card.c Sample Specification: s32le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 7 Mute: no 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 Monitor of Sink: alsa_output.usb-FiiO_FiiO_BTR5-00.analog-stereo Latency: 0 usec, configured 2000000 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Monitor of FiiO BTR5 Analog Stereo" device.class = "monitor" alsa.card = "2" alsa.card_name = "FiiO BTR5" alsa.long_card_name = "FiiO FiiO BTR5 at usb-0000:00:14.0-3, high speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "pci-0000:00:14.0-usb-0:3:1.0" sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/sound/card2" udev.id = "usb-FiiO_FiiO_BTR5-00" device.bus = "usb" device.vendor.id = "2972" device.vendor.name = "FiiO Electronics Technology" device.product.id = "0047" device.product.name = "FiiO BTR5" device.serial = "FiiO_FiiO_BTR5" device.string = "2" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" Formats: pcm

Source #1 State: SUSPENDED Name: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor Description: Monitor of Built-in Audio Analog Stereo Driver: module-alsa-card.c Sample Specification: s32le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 8 Mute: no 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 Monitor of Sink: alsa_output.pci-0000_00_1f.3.analog-stereo Latency: 0 usec, configured 0 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Monitor of Built-in Audio Analog Stereo" device.class = "monitor" alsa.card = "0" alsa.card_name = "HDA Intel PCH" alsa.long_card_name = "HDA Intel PCH at 0x6203108000 irq 161" 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 = "06c8" device.product.name = "Comet Lake PCH cAVS" device.form_factor = "internal" device.string = "0" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" Formats: pcm

Source #2 State: RUNNING Name: alsa_input.pci-0000_00_1f.3.analog-stereo Description: Built-in Audio Analog Stereo Driver: module-alsa-card.c Sample Specification: s32le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 8 Mute: yes Volume: front-left: 30421 / 46% / -20.00 dB, front-right: 30421 / 46% / -20.00 dB balance 0.00 Base Volume: 6554 / 10% / -60.00 dB Monitor of Sink: n/a Latency: 1845 usec, configured 40000 usec Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY Properties: alsa.resolution_bits = "32" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "ALC295 Analog" alsa.id = "ALC295 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 0x6203108000 irq 161" 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 = "06c8" device.product.name = "Comet Lake PCH cAVS" device.form_factor = "internal" device.string = "front:0" device.buffering.buffer_size = "768000" device.buffering.fragment_size = "384000" device.access_mode = "mmap+timer" device.profile.name = "analog-stereo" device.profile.description = "Analog Stereo" device.description = "Built-in Audio Analog Stereo" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" Ports: analog-input-mic: Microphone (type: Mic, priority: 8700, availability unknown) Active Port: analog-input-mic Formats: pcm

Source #3 State: RUNNING Name: PulseEffects_apps.monitor Description: Monitor of PulseEffects(apps) Driver: module-null-sink.c Sample Specification: float32le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 26 Mute: no 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 Monitor of Sink: PulseEffects_apps Latency: 0 usec, configured 10000 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Monitor of PulseEffects(apps)" device.class = "monitor" device.icon_name = "audio-input-microphone" Formats: pcm

Source #4 State: SUSPENDED Name: PulseEffects_mic.monitor Description: Monitor of PulseEffects(mic) Driver: module-null-sink.c Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 27 Mute: no 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 Monitor of Sink: PulseEffects_mic Latency: 0 usec, configured 0 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Monitor of PulseEffects(mic)" device.class = "monitor" device.icon_name = "audio-input-microphone" Formats: pcm ` AND

pactl list sinks

`Sink #0 State: RUNNING Name: alsa_output.usb-FiiO_FiiO_BTR5-00.analog-stereo Description: FiiO BTR5 Analog Stereo Driver: module-alsa-card.c Sample Specification: s32le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 7 Mute: no 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 Monitor Source: alsa_output.usb-FiiO_FiiO_BTR5-00.analog-stereo.monitor Latency: 69735 usec, configured 90000 usec Flags: HARDWARE DECIBEL_VOLUME LATENCY Properties: alsa.resolution_bits = "32" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "USB Audio" alsa.id = "USB Audio" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "0" alsa.card = "2" alsa.card_name = "FiiO BTR5" alsa.long_card_name = "FiiO FiiO BTR5 at usb-0000:00:14.0-3, high speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "pci-0000:00:14.0-usb-0:3:1.0" sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/sound/card2" udev.id = "usb-FiiO_FiiO_BTR5-00" device.bus = "usb" device.vendor.id = "2972" device.vendor.name = "FiiO Electronics Technology" device.product.id = "0047" device.product.name = "FiiO BTR5" device.serial = "FiiO_FiiO_BTR5" device.string = "front:2" device.buffering.buffer_size = "768000" device.buffering.fragment_size = "384000" device.access_mode = "mmap+timer" device.profile.name = "analog-stereo" device.profile.description = "Analog Stereo" device.description = "FiiO BTR5 Analog Stereo" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" Ports: analog-output: Analog Output (type: Analog, priority: 9900, availability unknown) Active Port: analog-output Formats: pcm

Sink #1 State: SUSPENDED Name: alsa_output.pci-0000_00_1f.3.analog-stereo Description: Built-in Audio Analog Stereo Driver: module-alsa-card.c Sample Specification: s32le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 8 Mute: no Volume: front-left: 7864 / 12% / -55.25 dB, front-right: 7864 / 12% / -55.25 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor Latency: 0 usec, configured 0 usec Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY Properties: alsa.resolution_bits = "32" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "ALC295 Analog" alsa.id = "ALC295 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 0x6203108000 irq 161" 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 = "06c8" device.product.name = "Comet Lake PCH cAVS" device.form_factor = "internal" device.string = "front:0" device.buffering.buffer_size = "768000" device.buffering.fragment_size = "384000" device.access_mode = "mmap+timer" device.profile.name = "analog-stereo" device.profile.description = "Analog Stereo" device.description = "Built-in Audio Analog Stereo" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" Ports: analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown) analog-output-headphones: Headphones (type: Headphones, priority: 9900, not available) Active Port: analog-output-speaker Formats: pcm

Sink #2 State: RUNNING Name: PulseEffects_apps Description: PulseEffects(apps) Driver: module-null-sink.c Sample Specification: float32le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 26 Mute: no 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 Monitor Source: PulseEffects_apps.monitor Latency: 8612 usec, configured 10000 usec Flags: DECIBEL_VOLUME LATENCY SET_FORMATS Properties: device.description = "PulseEffects(apps)" device.class = "sound" device.icon_name = "audio-card" Formats: pcm

Sink #3 State: SUSPENDED Name: PulseEffects_mic Description: PulseEffects(mic) Driver: module-null-sink.c Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 27 Mute: no 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 Monitor Source: PulseEffects_mic.monitor Latency: 0 usec, configured 0 usec Flags: DECIBEL_VOLUME LATENCY SET_FORMATS Properties: device.description = "PulseEffects(mic)" device.class = "sound" device.icon_name = "audio-card" Formats: pcm `

the config file is setup for pulse as `method = pulse

source = PulseEffects_apps.monitor ` This is what cava looks like: image

I could not make sense of manjaro cinnamon audio setup. Pipewire and pulseaudio both are installed. Trying to remove any one of them spills big dependency conflicts like muffin and manjaro-cinnamon. Trying to install pipewire-pulse also fails due to conflict.

pacmd list clients is a very long list. Please let me know if any more info is required. Help is much appreciated.

RandomExplosion commented 1 year ago

I too have been experiencing a similar problem. I'm using pipewire with wireplumber and alacritty as my terminal emulator. I get blank bars as described above. Interestingly cava doesn't seem to have opened a stream whatsoever as it is not present in qpwgraph/hevlum/carla/any other patchbay:

Breakdown of screenshot: Top: Cava running in alacritty and displaying a blank spectrum Bottom Left: Carla's Patchbay Right: Big Meter lv2 plugin connected to monitor for my headphones image

karlstav commented 1 year ago

@RandomExplosion, this sounds like a separate issue. are you sure pipewire is the selected input?

Blueskygod commented 1 year ago

My Server Name : PulseAudio (on pipewire 0.3.882) terminal alacritty,kitty systemctl --user status pipewire is active (running) systemctl --user status pulseaudio is service not found cava is working fine with mpd/mpcpp but it doesn't work when i use spotify , youtube or local system music from dolphin store help me fixing it please