V isu a lizador de audio multiplataforma
por Karl Stavestrand
Vídeo de demostración
que es
Instalación
De la fuente
Administradores de paquetes
Capturando audio
Pulseaudio
alambre de tubería
ALSA
MPD
Sndio
OSS
JACOBO
exprimidor
macos
ventanas
Ejecutando a través de ssh
Solución de problemas
Uso
Controles
Configuración
Uso del cava en otras aplicaciones
cavacore
Salida bruta
Contribución
Cava es un visualizador de audio de espectro de barras para terminal o escritorio (SDL).
trabaja en:
linux
FreeBSD
macos
ventanas
Este programa no está diseñado para uso científico. Está escrito para parecer responsivo y estético cuando se usa para visualizar música.
Componentes necesarios:
FFTW
libherramienta
autofabricación
autoconf-archive (necesario para configurar OpenGL)
paqueteconf
elementos esenciales de construcción
analizador inicial
Componentes recomendados:
La biblioteca de desarrollo de uno de estos marcos de audio, según su distribución:
ALSA
Pulseaudio
alambre de tubería
portaudio
Sndio
JACOBO
Componentes opcionales:
Archivos de desarrollo SDL2
Archivos de desarrollo ncursesw (incluidos en ncurses en arch)
En realidad, solo se requieren FFTW, iniparser y las herramientas de compilación para que CAVA pueda compilar, pero esto solo le dará la posibilidad de leer desde archivos quince. Para capturar audio directamente desde su sistema pipewire, se requieren archivos de desarrollo pulseaudio, alsa, sndio, jack o portaudio (dependiendo del sistema de audio que esté utilizando).
Ncurses se puede utilizar como método de salida alternativo si tiene problemas con el predeterminado. Pero no es necesario.
Todos los requisitos se pueden instalar fácilmente en todas las distribuciones principales:
FreeBSD
pkg install autoconf autoconf-archive automake fftw3 iniparser jackit libglvnd libtool pkgconf psftools sdl2 sndio
Además, ejecute estos comandos en FreeBSD antes de compilar:
export CFLAGS="-I/usr/local/include" export LDFLAGS="-L/usr/local/lib"
Debian/Ubuntu:
sudo apt install build-essential libfftw3-dev libasound2-dev libpulse-dev libtool automake autoconf-archive libiniparser-dev libsdl2-2.0-0 libsdl2-dev libpipewire-0.3-dev libjack-jackd2-dev pkgconf
ArchLinux:
pacman -S base-devel fftw alsa-lib iniparser pulseaudio autoconf-archive pkgconf
abiertoSUSE:
zypper install alsa-devel fftw3-devel libpulse-devel libtool autoconf-archive pkgconf
Fedor:
dnf install alsa-lib-devel fftw3-devel pulseaudio-libs-devel libtool autoconf-archive iniparser-devel pkgconf
MacOS:
Primero instala homebrew si aún no lo has hecho:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Luego instale los requisitos previos:
brew install fftw libtool automake autoconf-archive pkgconf portaudio iniparser
La ubicación de instalación de los paquetes Homebrew es diferente entre las Mac Intel y las Mac Apple Silicon. Como tal, los comandos serán un poco diferentes. Puedes averiguar qué tipo tienes aquí.
Para ambas máquinas, ejecute estos comandos para arreglar que macOS no encuentre libtool:
export LIBTOOL=`which glibtool` export LIBTOOLIZE=`which glibtoolize` ln -s `which glibtoolize` /usr/local/bin/libtoolize
Tenga en cuenta que el nombre del archivo puede ser un poco diferente según las versiones, pero el directorio debe ser el mismo.
Además, ejecute estos comandos en Apple Silicon Macs para que ./configure pueda encontrar los paquetes Homebrew:
export LDFLAGS="-L/opt/homebrew/lib" export CPPFLAGS="-I/opt/homebrew/include"
Instrucciones de Intel Mac probadas en macOS Big Sur.
Instrucciones de Apple Silicon probadas en macOS Ventura.
Ventanas:
consulte el archivo Léame por separado en la carpeta cava_win
.
En primer lugar, clone este repositorio y cd en él, luego ejecute:
./autogen.sh ./configure make
Si tiene instalado un componente recomendado, pero no desea usarlo (quizás si crea un binario en una máquina para usarlo en otra), entonces la función correspondiente se puede desactivar durante la configuración (consulte configure --help para obtener más detalles).
Para Windows hay un archivo de solución VS en la carpeta cava_win
.
Instale cava
en el valor predeterminado /usr/local
:
make install
O puedes cambiar PREFIX
, por ejemplo:
./configure --prefix=PREFIJO
make uninstall
Es posible que todas las fuentes de instalación específicas de la distribución estén desactualizadas. Verifique la versión antes de informar cualquier problema aquí.
pkg install cava
Los usuarios de Tumbleweed tienen cava en su repositorio. Simplemente pueden usar:
zypper in cava
Los usuarios de Leap deben agregar primero el repositorio multimedia:apps:
zypper ar -f obs://multimedia:apps/openSUSE_Leap_42.2 multimedia
Si usa otra versión, simplemente reemplace openSUSE_Leap_42.2 con openSUSE_13.2 , ajústelo a su versión.
Cava está disponible en Fedora 26 y posteriores. Puedes instalar Cava ejecutando:
dnf install cava
Cava está en AUR.
pacaur -S cava
sudo apt install cava
Harshal Sheth ha agregado CAVA a su PPA, se puede instalar con:
add-apt-repository ppa:hsheth2/ppa apt update apt install cava
El cava es casero.
brew install cava
Solo asegúrese de haber instalado los archivos de desarrollo de pulseaudio y de que cava se haya creado con soporte para pulseaudio (debería ser automático si se encuentran los archivos de desarrollo).
Si tienes suerte lo único que tendrás que hacer es regentar cava.
Si no sucede nada, es posible que tengas que utilizar una fuente diferente a la predeterminada. El valor predeterminado también podría ser su micrófono. Mire el archivo de configuración para obtener ayuda.
Colocar
method = pipewire
La fuente predeterminada es auto
y probablemente será la salida seleccionada actualmente. Si ejecuta wireplomber, puede usar wpctl
para obtener el object.path
o object.serial
del dispositivo que desea visualizar.
p.ej
source = alsa:pcm:3:front:3:playback
Colocar
method = alsa
en el archivo de configuración.
ALSA puede resultar difícil porque no existe una forma nativa de capturar audio de una salida. Si desea capturar audio directamente desde la salida (no solo el micrófono o la entrada de línea), debe crear una interfaz de loopback ALSA y luego emitir el audio simultáneamente tanto al loopback como a su interfaz normal.
Para crear una interfaz loopback simplemente ejecute:
sudo modprobe snd_aloop
Con suerte, su aplay -l
ahora debería contener una interfaz de bucle invertido.
Para hacerlo persistente durante el arranque, agregue la línea snd-aloop
a "/etc/modules". Para evitar que se cargue como la primera tarjeta de sonido, agregue la línea options snd-aloop index=1
a "/etc/modprobe.d/alsa-base.conf", esto lo cargará en '1'. Puedes reemplazar '1' con lo que tenga más sentido en tu configuración de audio.
Reproducir el audio a través de su interfaz Loopback hace posible que cava lo capture, pero no habrá sonido en sus parlantes. Para reproducir audio en la interfaz loopback y en su interfaz real, debe utilizar el multicanal ALSA.
Mire el archivo de ejemplo incluido example_files/etc/asound.conf
sobre cómo utilizar el multicanal. Pude hacer que esto funcionara con una tarjeta de sonido HDA Intel PCH, pero no tuve suerte con un DAC USB.
Lea más sobre el método ALSA aquí.
Si tiene problemas con el método alsa en Rasberry PI, intente habilitar mmap
agregando la siguiente línea a /boot/config.txt
y reinicie:
dtoverlay=i2s-mmap
@reluekiss, pude hacer que el cava funcionara con dmix. Consulte la configuración de ejemplo en example_files/etc/asound_dmix.conf
y el problema 534.
Agregue estas líneas en mpd:
audio_output { type "fifo" name "my_fifo" path "/tmp/mpd.fifo" format "44100:16:2" }
Descomente y cambie el método de entrada a fifo
en el archivo de configuración.
La ruta del quince se puede especificar con el parámetro source
.
Tuve algunos problemas con la sincronización (el visualizador estaba por delante del sonido). Reducir el buffer ALSA en mpd lo solucionó:
audio_output { type "alsa" name "My ALSA" buffer_time "50000" # (50ms); default is 500000 microseconds (0.5s) }
Colocar
method = sndio
Sndio es el marco de audio utilizado en OpenBSD, pero también está disponible en FreeBSD, NetBSD y Linux. Hasta ahora esto sólo se ha probado en FreeBSD, pero probablemente sea muy similar en otros sistemas operativos. El siguiente ejemplo demuestra cómo configurar CAVA para sndio en FreeBSD (consulte la sección OSS para obtener una explicación más detallada de los distintos dispositivos de sonido pcmX
y los dispositivos de audio /dev/dspX
correspondientes en este ejemplo).
$ gato /dev/sndstat Dispositivos instalados: pcm0: <Realtek ALC1220 (analógico trasero)> (reproducción/grabación) predeterminado pcm1: <Realtek ALC1220 (micrófono analógico frontal)> (grabación) pcm2: <audio USB> (reproducir/grabar) No se instalan dispositivos desde el espacio de usuario.
Sndio opera con descriptores de dispositivos. En general, para cada dispositivo de audio /dev/dspX
existe un descriptor de dispositivo sin formato rsnd/X
sndio correspondiente. En este ejemplo hay rsnd/0
, rsnd/1
y rsnd/2
(no están listados en /dev
, sndio usa estos descriptores para acceder internamente a los dispositivos de audio correspondientes). Sndio también maneja el descriptor de dispositivo default
implícito, que actúa como un enlace simbólico al descriptor de dispositivo sin formato correspondiente al dispositivo de audio predeterminado /dev/dsp
. En este ejemplo, actúa como un enlace simbólico a rsnd/0
porque el dispositivo de audio predeterminado /dev/dsp
enlaza simbólicamente a /dev/dsp0
. Sndio también evalúa las variables de entorno AUDIODEVICE
y AUDIORECDEVICE
. Si uno de estos está configurado ( AUDIORECDEVICE
anula AUDIODEVICE
si ambos están configurados) y un programa compatible con sndio intenta abrir el descriptor de dispositivo default
o un descriptor de dispositivo no especificado, entonces el programa utilizará el descriptor de dispositivo especificado en la variable de entorno.
Ahora para visualizar la entrada de micrófono en CAVA, el valor source
en el archivo de configuración debe establecerse en el descriptor de audio correspondiente:
source = default # default; symlink to rsnd/0 in this example; AUDIORECDEVICE and AUDIODEVICE evaluation source = # unspecified device descriptor; same as default above source = rsnd/0 # for the pcm0 mic on the rear source = rsnd/1 # for the pcm1 mic on the front source = rsnd/2 # for the pcm2 mic on the USB headset
Con source = default
se puede cambiar la visualización en la línea de comando sin cambiar el archivo de configuración nuevamente:
$ DISPOSITIVO AUDIO=rsnd/0 cava $ DISPOSITIVO AUDIO=rsnd/1 cava $ DISPOSITIVO AUDIO=rsnd/2 cava
Sndio no puede grabar el audio reproducido solo con los descriptores del dispositivo sin procesar, es decir, los sonidos de un reproductor de música o un navegador que se reproducen en los parlantes estéreo externos a través de rsnd/0
no se visualizan en CAVA. Para que esto funcione, se debe iniciar el servidor sndio y crear un subdispositivo de monitoreo. El siguiente ejemplo muestra cómo iniciar el servidor y crear un subdispositivo de monitoreo snd/0
desde rsnd/0
y luego iniciar CAVA con AUDIODEVICE
apuntando al nuevo subdispositivo de monitoreo:
$ sndiod -f rsnd/0 -m jugar,mon $ DISPOSITIVO AUDIO=snd/0 cava
Cambie entre los altavoces y los auriculares USB:
$ sndiod -f rsnd/2 -m play,mon -s usb -f rsnd/0 -m play,mon -s altavoces $ DISPOSITIVO AUDIO=snd/usb cava $ AUDIODEVICE=snd/altavoces cava
Consulte la página de manual sndiod(8)
para obtener más información sobre la configuración y el inicio de un servidor sndio.
Colocar
method = oss
El sistema de audio utilizado en FreeBSD es el Open Sound System (OSS). El siguiente ejemplo demuestra cómo configurar CAVA para OSS en FreeBSD:
$ gato /dev/sndstat Dispositivos instalados: pcm0: <Realtek ALC1220 (analógico trasero)> (reproducción/grabación) predeterminado pcm1: <Realtek ALC1220 (micrófono analógico frontal)> (grabación) pcm2: <audio USB> (reproducir/grabar) No se instalan dispositivos desde el espacio de usuario.
El sistema tiene tres dispositivos de sonido pcm
, pcm0
, pcm1
y pcm2
. pcm0
corresponde al conector de salida analógica en la parte trasera, en el que se conectan los altavoces estéreo externos, y al conector de entrada analógica, en el que se puede conectar un micrófono. Debido a que encapsula tanto la salida como la entrada, está marcado como play/rec
. También está configurado como dispositivo de sonido default
. pcm1
corresponde a otro conector de entrada analógica para un micrófono en la parte frontal y está marcado rec
. Se conecta un auricular USB con micrófono integrado a un puerto USB y el sistema ha creado el dispositivo de sonido pcm2
con capacidades play/rec
para ello.
En general, para cada dispositivo pcmX
existe un dispositivo de audio /dev/dspX
correspondiente. En este ejemplo hay /dev/dsp0
, /dev/dsp1
y /dev/dsp2
(el sistema los crea cuando es necesario, no se enumeran a través de ls /dev
si no están en uso actualmente). El sistema también crea un /dev/dsp
implícito, que actúa como un enlace simbólico al dispositivo de audio default
, en este ejemplo a /dev/dsp0
.
Ahora para visualizar la entrada de micrófono en CAVA, el valor source
en el archivo de configuración debe configurarse en el dispositivo de audio correspondiente:
source = /dev/dsp # default; symlink to /dev/dsp0 in this example source = /dev/dsp0 # for the pcm0 mic on the rear source = /dev/dsp1 # for the pcm1 mic on the front source = /dev/dsp2 # for the pcm2 mic on the USB headset
OSS no puede grabar el audio saliente por sí solo, es decir, los sonidos de un reproductor de música o un navegador que se reproducen en los parlantes estéreo externos a través de /dev/dsp0
no se visualizan en CAVA. Una solución es utilizar Virtual OSS. Puede crear dispositivos de audio virtuales a partir de dispositivos de audio existentes, en particular puede crear un dispositivo de audio en bucle invertido desde /dev/dsp0
y desde el cual el audio reproducido puede enviarse a CAVA:
$ doas paquete instala virtual_oss $ doas virtual_oss -r44100 -b16 -c2 -s4ms -O /dev/dsp0 -R /dev/null -T /dev/sndstat -l dsp.cava $ gato /dev/sndstat Dispositivos instalados: pcm0: <Realtek ALC1220 (analógico trasero)> (reproducción/grabación) predeterminado pcm1: <Realtek ALC1220 (micrófono analógico frontal)> (grabación) pcm2: <audio USB> (reproducir/grabar) Dispositivos instalados desde el espacio de usuario: dsp.cava: <OSS virtual> (reproducir/grabar)
Creó un dispositivo de loopback virtual /dev/dsp.cava
desde /dev/dsp0
. Ahora el audio se visualiza en CAVA con source = /dev/dsp.cava
en el archivo de configuración. El programa de reproducción debe tener una configuración para utilizar el dispositivo /dev/dsp.cava
. Para programas donde esto no es posible, por ejemplo, que siempre usan /dev/dsp
, reemplace -l dsp.cava
con -l dsp
. Virtual OSS se puede configurar e iniciar como un servicio en FreeBSD.
Colocar
method = jack
El kit de conexión de audio JACK (JACK) es una API de servidor de sonido profesional que está disponible en varios sistemas operativos, por ejemplo, FreeBSD y Linux.
CAVA es un cliente JACK con el nombre de cliente base cava
y se adhiere al comportamiento estándar de inicio y detención del servidor, es decir, CAVA inicia un servidor JACK si no hay ninguno ejecutándose y la variable de entorno JACK_START_SERVER
está definida, en cuyo caso el servidor también se detiene cuando todos los clientes han salido. La source
en el archivo de configuración de CAVA especifica el nombre del servidor JACK al que CAVA intenta conectarse. El valor predeterminado es default
, que también es el nombre del servidor JACK predeterminado. El valor puede estar vacío, en cuyo caso implica default
. Por lo tanto, las siguientes tres entradas son equivalentes:
; source = default source = default source =
Una excepción es la combinación de una entrada source
vacía y la variable de entorno JACK_DEFAULT_SERVER
. Si la variable de entorno está definida, por ejemplo export JACK_DEFAULT_SERVER=foo
, entonces las siguientes entradas son equivalentes:
source = foo source =
Consulte la página de manual jackd(1)
para obtener más información sobre la configuración y el inicio de un servidor JACK.
CAVA crea puertos de entrada tipo terminal de audio (por lo que no admite MIDI). Estos puertos se pueden conectar a los puertos de salida de otros clientes JACK, por ejemplo, conectarse a los puertos de salida de un reproductor de música y CAVA visualizará la música. Actualmente CAVA admite hasta dos puertos de entrada, es decir, admite mono y estéreo. La cantidad de puertos de entrada se puede controlar a través de la opción de channels
en la sección de entrada del archivo de configuración:
channels = 1 # one input port, mono channels = 2 # two input ports, stereo (default)
El nombre corto del puerto es simplemente M
para mono y L
y R
para estéreo. El nombre completo del puerto de entrada según el nombre del cliente base es cava:M
para mono, y cava:L
y cava:R
para estéreo.
La opción autoconnect
controla la estrategia de conexión de los puertos de CAVA a los puertos de otros clientes:
autoconnect = 0 # don't connect to other ports automatically autoconnect = 1 # only connect to other ports during startup autoconnect = 2 # reconnect to new ports regularly (default)
Las estrategias de conexión automática escanean los puertos de entrada del terminal físico, es decir, el dispositivo de audio real que realmente emite el sonido, y aplica las mismas conexiones a los puertos de CAVA. De esta manera CAVA visualiza el audio reproducido desde los clientes JACK de forma predeterminada.
Para controlar y gestionar la conexión entre los puertos de CAVA y los puertos de otros programas cliente, existen programas de gestión de conexión para JACK. Algunos administradores de conexión conocidos con interfaz gráfica de usuario son QjackCtl y Cadence. El propio paquete JACK suele venir con herramientas CLI. Dependiendo del sistema operativo podría ser necesario instalarlos por separado, por ejemplo en FreeBSD:
$ doas pkg install jack-ejemplo-herramientas
Entre las herramientas se encuentran los programas jack_lsp
y jack_connect
. Estas dos herramientas son suficientes para enumerar y conectar puertos en la línea de comandos. El siguiente ejemplo demuestra cómo configurar conexiones con estas herramientas:
$jack_lsp sistema: captura_1 sistema: captura_2 sistema: reproducción_1 sistema: reproducción_2 cava:L moc:salida0 moc: salida1 cava :R
Esta lista muestra todos los nombres completos de los puertos que están disponibles actualmente. Estos corresponden a dos clientes JACK externos, cava
y moc
, y un system
cliente JACK interno. Los tipos y las conexiones activas actuales entre los puertos se pueden enumerar con los modificadores -p
y -c
para jack_lsp
. Para conectar los puertos de CAVA y MOC, se utiliza jack_connect
:
$ jack_connect cava:L moc:salida0 $ jack_connect cava:R moc:salida1
Ahora CAVA visualiza el audio saliente del MOC.
squeezelite es uno de varios clientes de software disponibles para Logitech Media Server. Squeezelite puede exportar sus datos de audio como memoria compartida, que es lo que utiliza este módulo de entrada. Simplemente adapta tu configuración:
method = shmem source = /squeezelite-AA:BB:CC:DD:EE:FF
donde AA:BB:CC:DD:EE:FF
es la dirección MAC de squeezelite (consulte la GUI web del LMS (Configuración>Información) si no está seguro). Nota: squeezelite debe iniciarse con el indicador -v
para habilitar la compatibilidad con el visualizador.
Nota: Cava no se procesa correctamente en el terminal macOS predeterminado. Para lograr una visualización óptima, instale Kitty. Tenga en cuenta que puede encontrarse con el problema presentado en el n.º 109; sin embargo, se puede resolver con esto.
Música de fondo
Instale Música de fondo, que proporciona una interfaz de bucle invertido automáticamente. Una vez instalado y en ejecución, simplemente edite su configuración para usar esta interfaz con portaudio:
method = portaudio source = "Background Music"
Flor sonora
Soundflower también trabaja para crear una interfaz loopback. Utilice Configuración de Audio MIDI para configurar una interfaz virtual que envíe audio tanto a sus altavoces como a la interfaz de loopback, siguiendo esta receta. Al crear un dispositivo de múltiples salidas, pierde la capacidad de controlar el volumen de su teclado. Debido a esto, recomendamos la aplicación Música de fondo, que aún te brinda controles de teclado.
Luego edite su configuración para usar esta interfaz con portaudio:
method = portaudio source = "Soundflower (2ch)"
Debería capturar el audio del dispositivo de salida predeterminado automáticamente.
Para ejecutar a través de ssh en un monitor externo, redirija la salida a /dev/console
:
~# ./cava <> /dev/console >&0 2>&1
salga con Ctrl+z y luego ejecute 'bg' para que siga funcionando después de cerrar sesión.
(Debe ser root para redirigir a la consola. El simple sudo no es suficiente: primero ejecute sudo su
).
Lo más probable es que sea el número 399. La configuración local debe establecerse correctamente para que cava funcione.
Este es un problema conocido con pipewire. Pruebe la solución alternativa que se describe aquí
Esto es un problema con la fuente o con el interlineado habilitado en el emulador de terminal. Intente cambiar la fuente o desactivar el interlineado.
Dado que los gráficos se basan simplemente en caracteres, intente disminuir el tamaño de fuente.
Algunos emuladores de terminal son simplemente lentos. Cava lucirá mejor en un terminal basado en GPU como kitty o alacritty. También puedes intentar aumentar el tamaño de fuente.
Si ejecuta cava en un TTY (como ctrl+alt+F2), el programa cambiará la fuente al cava.psf
incluido (en realidad, una "unifont" ligeramente modificada).
En las fuentes de consola parece que sólo se admiten 256 caracteres Unicode, probablemente porque son fuentes de mapa de bits. No pude encontrar una fuente con caracteres Unicode 2581-2587 (los bloques de 1/8 - 7/8 utilizados en la parte superior de cada barra para aumentar la resolución).
Entonces, en cava.psf
, los caracteres 1-7 en realidad se reemplazan por los caracteres Unicode 2581-2587. Cuando sale cava, vuelve a cambiar la fuente. Si cava sale de manera anormal y nota que del 1 al 7 se reemplazan por bloques parciales, simplemente cambie la fuente con setfont
.
En realidad, se supone que setfont
devuelve la fuente predeterminada, pero normalmente no está configurada. No he encontrado otra forma de obtener la fuente actual. Entonces cava establece la fuente en "Lat2-Fixed16" cuando se interrumpe. Todas las distribuciones principales deberían tenerlo. Volverá a su fuente predeterminada al reiniciar.
Konsole simplemente no soporta esto. #194
Usage : cava [options] Visualize audio input in terminal. Options: -p path to config file -v print version
Salga con Ctrl+co q.
Si cava se cierra inesperadamente o se fuerza a cerrar, echo debe activarse manualmente con stty -echo
.
Llave | Descripción |
---|---|
arriba / abajo | aumentar/disminuir la sensibilidad |
izquierda / derecha | aumentar/disminuir el ancho de la barra |
f / b | cambiar el color de primer plano/fondo |
r | Recargar configuración |
do | Recargar solo colores |
q o CTRL-C | Salir de CAVA |
A partir de la versión 0.4.0, todas las opciones se realizan en el archivo de configuración, ¡no más argumentos de línea de comandos!
De forma predeterminada, se crea un archivo de configuración en el primer inicio en $XDG_CONFIG_HOME/cava/config
o $HOME/.config/cava/config
, pero también se puede hacer que cava use un archivo diferente con la opción -p
.
Enviar a cava una señal SIGUSR1 obligará a cava a recargar su archivo de configuración. Por lo tanto, se comporta como si el usuario presionara r en la terminal. Se podría enviar una señal SIGUSR1 usando pkill
o killall
. Por ejemplo:
$ pkill -USR1 cava
De manera similar, enviar a cava una señal SIGUSR2 solo recargará los colores del archivo de configuración, que es lo mismo que presionar c en la terminal. Esto es un poco más rápido que recargar toda la configuración, ya que no es necesario reiniciar el procesamiento de audio.
$ pkill -USR2 cava
Ejemplos de cómo funciona el ecualizador:
[eq] 1=0 2=1 3=0 4=1 5=0
[eq] 1=2 2=2 3=1 4=1 5=0.5
El motor de procesamiento central en cava se ha dividido en una biblioteca separada cavacore
. Consulte CAVACORE.md para obtener más detalles.
También puede utilizar la salida de Cava para otros programas utilizando el modo de salida sin formato, que escribirá datos de barra en STDOUT
que se pueden canalizar a otros procesos. Más información sobre esta opción está documentada en el archivo de configuración de ejemplo.
Aquí puede encontrar un script de ejemplo de punto de partida útil escrito en Python que consume datos sin procesar.
Lea CONTRIBUTING.md antes de abrir una solicitud de extracción.
Gracias a:
Morsa Celestial
anko
vivir mejor
por sus importantes contribuciones en el desarrollo inicial de este proyecto.
También gracias a dpayne por descubrir cómo encontrar el nombre del receptor predeterminado de pulseaudio.