Кросс - платформенный аудиовизуальный лайзер
Карл Ставстранд
Демонстрационное видео
Что это такое
Установка
Из источника
Менеджеры пакетов
Захват звука
Пульсаудио
Трубопровод
АЛСА
MPD
Сндио
ОСС
ДЖЕК
ссквизлит
macOS
Окна
Запуск через ssh
Поиск неисправностей
Использование
Элементы управления
Конфигурация
Использование кавы в других приложениях
кавакор
Необработанный вывод
Вклад
Cava — это визуализатор звука полосового спектра для терминала или рабочего стола (SDL).
работает над:
Линукс
FreeBSD
macOS
Окна
Эта программа не предназначена для научного использования. Он написан так, чтобы выглядеть отзывчивым и эстетичным при использовании для визуализации музыки.
Необходимые компоненты:
ФФТВ
libtool
автопроизводитель
autoconf-архив (нужен для настройки OpenGL)
pkgconf
основы сборки
инипарсер
Рекомендуемые компоненты:
Библиотека разработки одной из этих аудиоплатформ, в зависимости от вашего дистрибутива:
АЛСА
Пульсаудио
Трубопровод
Портаудио
Сндио
ДЖЕК
Дополнительные компоненты:
файлы разработки SDL2
файлы разработки ncursesw (входят в состав ncurses в Arch)
Для компиляции CAVA на самом деле необходимы только FFTW, iniparser и инструменты сборки, но это даст вам возможность читать только файлы fifo. Для захвата звука напрямую из вашей системы необходимы файлы dev, PulseAudio, Alsa, Sndio, Jack или Portaudio (в зависимости от того, какую аудиосистему вы используете).
Ncurses можно использовать в качестве альтернативного метода вывода, если у вас есть проблемы с методом по умолчанию. Но это не обязательно.
Все требования можно легко установить во всех основных дистрибутивах:
FreeBSD
pkg install autoconf autoconf-archive automake fftw3 iniparser jackit libglvnd libtool pkgconf psftools sdl2 sndio
Кроме того, перед сборкой запустите эти команды во FreeBSD:
export CFLAGS="-I/usr/local/include" export LDFLAGS="-L/usr/local/lib"
Дебиан/Убунту:
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
АрхЛинукс:
pacman -S base-devel fftw alsa-lib iniparser pulseaudio autoconf-archive pkgconf
openSUSE:
zypper install alsa-devel fftw3-devel libpulse-devel libtool autoconf-archive pkgconf
Федора:
dnf install alsa-lib-devel fftw3-devel pulseaudio-libs-devel libtool autoconf-archive iniparser-devel pkgconf
macOS:
Сначала установите homebrew, если вы еще этого не сделали:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Затем установите необходимые компоненты:
brew install fftw libtool automake autoconf-archive pkgconf portaudio iniparser
Место установки пакетов Homebrew на компьютерах Intel Mac и Apple Silicon Mac различается. Таким образом, команды будут немного отличаться. Узнать какой тип у вас можно здесь
На обеих машинах выполните эти команды, чтобы исправить ситуацию, когда macOS не находит libtool:
export LIBTOOL=`which glibtool` export LIBTOOLIZE=`which glibtoolize` ln -s `which glibtoolize` /usr/local/bin/libtoolize
Обратите внимание, что имя файла может немного отличаться в зависимости от версии, но каталог должен быть одинаковым.
Кроме того, запустите эти команды на компьютерах Apple Silicon Mac, чтобы ./configure мог найти пакеты Homebrew:
export LDFLAGS="-L/opt/homebrew/lib" export CPPFLAGS="-I/opt/homebrew/include"
Инструкции Intel Mac протестированы на macOS Big Sur.
Инструкции Apple Silicon протестированы на macOS Ventura.
Окна:
см. отдельный файл readme в папке cava_win
.
Прежде всего клонируйте этот репозиторий и перейдите к нему, затем запустите:
./autogen.sh ./configure make
Если у вас установлен рекомендуемый компонент, но вы не хотите его использовать (возможно, при сборке двоичного файла на одном компьютере для использования на другом), то соответствующую функцию можно отключить во время настройки (подробности см. в configure --help).
Для Windows в папке cava_win
находится файл решения VS.
Установите cava
в папку по умолчанию /usr/local
:
make install
Или вы можете изменить PREFIX
, например:
./configure --prefix=ПРЕФИКС
make uninstall
Все источники установки конкретного дистрибутива могут быть устаревшими. Пожалуйста, проверьте версию, прежде чем сообщать здесь о каких-либо проблемах.
pkg install cava
У пользователей Tumbleweed в репозитории есть кава. Они могут просто использовать:
zypper in cava
Пользователям Leap необходимо сначала добавить репозиторий multimedia:apps:
zypper ar -f obs://multimedia:apps/openSUSE_Leap_42.2 multimedia
Если вы используете другую версию, просто замените openSUSE_Leap_42.2 на openSUSE_13.2 и настройте ее на свою версию.
Cava доступен в Fedora 26 и более поздних версиях. Вы можете установить Cava, запустив:
dnf install cava
Кава находится в AUR.
pacaur -S cava
sudo apt install cava
Харшал Шет добавил CAVA в свой PPA, его можно установить с помощью:
add-apt-repository ppa:hsheth2/ppa apt update apt install cava
кава — это домашнее пиво.
brew install cava
Просто убедитесь, что вы установили файлы разработчика PulseAudio и что Cava была собрана с поддержкой PulseAudio (это должно произойти автоматически, если файлы разработчика найдены).
Если вам повезет, все, что вам нужно сделать, это запустить каву.
Если ничего не произойдет, возможно, вам придется использовать другой источник, отличный от источника по умолчанию. По умолчанию также может использоваться ваш микрофон. Посмотрите файл конфигурации для получения помощи.
Набор
method = pipewire
Источником по умолчанию является auto
и, скорее всего, это будет выбранный вами в данный момент выход. Если вы запустите Wireplumber, вы можете использовать wpctl
, чтобы получить object.path
или object.serial
нужного устройства для визуализации.
например
source = alsa:pcm:3:front:3:playback
Набор
method = alsa
в файле конфигурации.
ALSA может быть сложной задачей, поскольку не существует встроенного способа захвата звука с вывода. Если вы хотите захватывать звук прямо с выхода (а не только с микрофона или линейного входа), вам необходимо создать интерфейс обратной связи ALSA, а затем выводить звук одновременно как на обратную связь, так и на обычный интерфейс.
Чтобы создать интерфейс обратной связи, просто запустите:
sudo modprobe snd_aloop
Надеюсь, ваш aplay -l
теперь должен содержать интерфейс обратной связи.
Чтобы сделать его постоянным при загрузке, добавьте строку snd-aloop
в «/etc/modules». Чтобы она не загружалась в качестве первой звуковой карты, добавьте options snd-aloop index=1
в «/etc/modprobe.d/alsa-base.conf», это загрузит ее со значением «1». Вы можете заменить «1» на то, что имеет смысл в вашей настройке звука.
Воспроизведение звука через интерфейс Loopback позволяет Cava захватить его, но в ваших динамиках звук не будет. Чтобы воспроизводить звук на интерфейсе обратной связи и на вашем реальном интерфейсе, вы должны использовать многоканальный канал ALSA.
Посмотрите прилагаемый файл примера example_files/etc/asound.conf
о том, как использовать многоканальный режим. Мне удалось реализовать эту работу со звуковой картой HDA Intel PCH, но с USB-ЦАП мне не повезло.
Подробнее о методе ALSA читайте здесь.
Если у вас возникли проблемы с методом alsa на Rasberry PI, попробуйте включить mmap
, добавив следующую строку в /boot/config.txt
и перезагрузитесь:
dtoverlay=i2s-mmap
@reluekiss смог заставить каву работать с dmix. Посмотрите пример конфигурации в example_files/etc/asound_dmix.conf
и выдайте 534.
Добавьте эти строки в mpd:
audio_output { type "fifo" name "my_fifo" path "/tmp/mpd.fifo" format "44100:16:2" }
Раскомментируйте и измените метод ввода на fifo
в файле конфигурации.
Путь к Fifo можно указать с помощью параметра source
.
У меня были проблемы с синхронизацией (визуализатор опережал звук). Уменьшение буфера ALSA в mpd исправило это:
audio_output { type "alsa" name "My ALSA" buffer_time "50000" # (50ms); default is 500000 microseconds (0.5s) }
Набор
method = sndio
Sndio — это звуковая платформа, используемая в OpenBSD, но она также доступна во FreeBSD, NetBSD и Linux. Пока что это проверено только на FreeBSD, но, вероятно, это очень похоже на другие операционные системы. В следующем примере показано, как настроить CAVA для sndio во FreeBSD (пожалуйста, обратитесь к разделу OSS для более подробного объяснения различных звуковых устройств pcmX
и соответствующих аудиоустройств /dev/dspX
в этом примере).
$ кот /dev/sndstat Установленные устройства: pcm0: <Realtek ALC1220 (задний аналоговый)> (воспроизведение/запись) по умолчанию pcm1: <Realtek ALC1220 (передний аналоговый микрофон)> (запись) pcm2: <USB-аудио> (воспроизведение/запись) Ни одно устройство не установлено из пользовательского пространства.
Sndio оперирует дескрипторами устройств. Обычно для каждого аудиоустройства /dev/dspX
существует соответствующий дескриптор необработанного устройства rsnd/X
sndio. В этом примере есть rsnd/0
, rsnd/1
и rsnd/2
(они не указаны в /dev
, sndio использует эти дескрипторы для внутреннего доступа к соответствующим аудиоустройствам). Sndio также обрабатывает неявный дескриптор устройства default
, который действует как символическая ссылка на необработанный дескриптор устройства, соответствующий аудиоустройству по умолчанию /dev/dsp
. В этом примере он действует как символическая ссылка на rsnd/0
поскольку аудиоустройство по умолчанию /dev/dsp
символически ссылается на /dev/dsp0
. Sndio также оценивает переменные среды AUDIODEVICE
и AUDIORECDEVICE
. Если один из них установлен ( AUDIORECDEVICE
переопределяет AUDIODEVICE
, если оба установлены) и программа, поддерживающая sndio, пытается открыть дескриптор устройства default
или неуказанный дескриптор устройства, то программа будет использовать дескриптор устройства, указанный в переменной среды.
Теперь, чтобы визуализировать микрофонный вход в CAVA, в source
значения в файле конфигурации необходимо установить соответствующий аудиодескриптор:
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
При значении source = default
можно переключить визуализацию в командной строке без повторного изменения файла конфигурации:
$ AUDIODEVICE=rsnd/0 кава $ AUDIODEVICE=rsnd/1 кава $ AUDIODEVICE=rsnd/2 кава
Sndio не может записывать воспроизводимый звук, используя только необработанные дескрипторы устройств, т.е. звуки из музыкального проигрывателя или браузера, которые воспроизводятся на внешних стереодинамиках через rsnd/0
не визуализируются в CAVA. Чтобы это работало, необходимо запустить сервер sndio и создать подустройство мониторинга. В следующем примере показано, как запустить сервер и создать подустройство мониторинга snd/0
из rsnd/0
, а затем запустить CAVA с AUDIODEVICE
указывающим на новое подустройство мониторинга:
$ sndiod -f rsnd/0 -m play,mon $ AUDIODEVICE=snd/0 кава
Переключение между динамиками и USB-гарнитурой:
$ sndiod -f rsnd/2 -m play,mon -s usb -f rsnd/0 -m play,mon -s колонки $ AUDIODEVICE=snd/usb cava $ AUDIODEVICE=snd/динамики cava
Обратитесь к странице руководства sndiod(8)
для получения дополнительной информации о настройке и запуске сервера sndio.
Набор
method = oss
Аудиосистема, используемая во FreeBSD, — это открытая звуковая система (OSS). В следующем примере показано, как настроить CAVA для OSS во FreeBSD:
$ кот /dev/sndstat Установленные устройства: pcm0: <Realtek ALC1220 (задний аналоговый)> (воспроизведение/запись) по умолчанию pcm1: <Realtek ALC1220 (передний аналоговый микрофон)> (запись) pcm2: <USB-аудио> (воспроизведение/запись) Ни одно устройство не установлено из пользовательского пространства.
В системе имеется три звуковых устройства pcm
: pcm0
, pcm1
и pcm2
. pcm0
соответствует аналоговому выходному разъему на задней панели, к которому подключаются внешние стереодинамики, и аналоговому входному разъему, к которому можно подключить микрофон. Поскольку он инкапсулирует как вывод, так и ввод, он помечен как play/rec
. Он также установлен в качестве звукового устройства default
. pcm1
соответствует другому аналоговому входному разъему для микрофона на передней панели и помечен как rec
. USB-гарнитура со встроенным микрофоном подключается к USB-порту, и система создает звуковое устройство pcm2
с возможностями play/rec
.
Обычно для каждого устройства pcmX
существует соответствующее аудиоустройство /dev/dspX
. В этом примере есть /dev/dsp0
, /dev/dsp1
и /dev/dsp2
(система создает их при необходимости, они не отображаются в списке ls /dev
если в данный момент не используются). Система также создает неявный /dev/dsp
, который действует как символическая ссылка на аудиоустройство default
, в этом примере на /dev/dsp0
.
Теперь, чтобы визуализировать микрофонный вход в CAVA, в качестве source
в файле конфигурации необходимо установить соответствующее аудиоустройство:
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 не может записывать исходящий звук самостоятельно, т.е. звуки музыкального проигрывателя или браузера, которые воспроизводятся на внешних стереодинамиках через /dev/dsp0
не визуализируются в CAVA. Решением является использование Virtual OSS. Он может создавать виртуальные аудиоустройства из существующих аудиоустройств, в частности, он может создавать аудиоустройство обратной связи из /dev/dsp0
, из которого воспроизводимый звук может передаваться в CAVA:
$ doas pkg установить virtual_oss $ doas virtual_oss -r44100 -b16 -c2 -s4ms -O /dev/dsp0 -R /dev/null -T /dev/sndstat -l dsp.cava $ кот /dev/sndstat Установленные устройства: pcm0: <Realtek ALC1220 (задний аналоговый)> (воспроизведение/запись) по умолчанию pcm1: <Realtek ALC1220 (передний аналоговый микрофон)> (запись) pcm2: <USB-аудио> (воспроизведение/запись) Установленные устройства из пользовательского пространства: dsp.cava: <Virtual OSS> (воспроизведение/запись)
Он создал виртуальное устройство обратной связи /dev/dsp.cava
из /dev/dsp0
. Теперь звук визуализируется в CAVA с source = /dev/dsp.cava
в файле конфигурации. Программа воспроизведения должна иметь конфигурацию для использования устройства /dev/dsp.cava
. Для программ, где это невозможно, например, которые всегда используют /dev/dsp
, замените -l dsp.cava
на -l dsp
. Virtual OSS можно настроить и запустить как службу во FreeBSD.
Набор
method = jack
JACK Audio Connection Kit (JACK) — это профессиональный звуковой серверный API, доступный в нескольких операционных системах, например FreeBSD и Linux.
CAVA — это клиент JACK с базовым именем клиента cava
, который придерживается стандартного поведения запуска и остановки сервера, т. е. CAVA запускает сервер JACK, если ни один из них еще не запущен и определена переменная среды JACK_START_SERVER
; в этом случае сервер также останавливается, когда все клиенты ушли. source
в файле конфигурации CAVA указывает имя сервера JACK, к которому CAVA пытается подключиться. Значением по умолчанию является default
, которое также является именем сервера JACK по умолчанию. Значение может быть пустым, и в этом случае оно подразумевает default
. Поэтому следующие три записи эквивалентны:
; source = default source = default source =
Единственным исключением является комбинация пустой записи source
и переменной среды JACK_DEFAULT_SERVER
. Если переменная среды определена, например, export JACK_DEFAULT_SERVER=foo
, то следующие записи эквивалентны:
source = foo source =
Обратитесь к странице руководства jackd(1)
для получения дополнительной информации о настройке и запуске сервера JACK.
CAVA создает входные порты терминала с аудиотипом (поэтому без поддержки MIDI). Эти порты можно подключать к выходным портам других клиентов JACK, например, к выходным портам музыкального проигрывателя, и CAVA будет визуализировать музыку. В настоящее время CAVA поддерживает до двух входных портов, т.е. поддерживает моно и стерео. Количество входных портов можно контролировать с помощью опции channels
в разделе ввода файла конфигурации:
channels = 1 # one input port, mono channels = 2 # two input ports, stereo (default)
Краткое название порта — просто M
(моно) и L
и R
(стерео). Полное имя входного порта в соответствии с базовым именем клиента — cava:M
для моно, а также cava:L
и cava:R
для стерео.
Опция autoconnect
управляет стратегией подключения портов CAVA к портам других клиентов:
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)
Стратегии автоматического подключения сканируют входные порты физического терминала, то есть реального аудиоустройства, которое фактически выводит звук, и применяют те же соединения к портам CAVA. Таким образом, CAVA по умолчанию визуализирует воспроизводимый звук от клиентов JACK.
Для контроля и управления соединением между портами CAVA и портами других клиентских программ существуют программы управления соединениями для JACK. Некоторые известные менеджеры соединений с графическим пользовательским интерфейсом — QjackCtl и Cadence. Сам пакет JACK часто поставляется с инструментами CLI. В зависимости от операционной системы может потребоваться установка их отдельно, например, во FreeBSD:
$ doas pkg установить jack-example-tools
Среди инструментов — программы jack_lsp
и jack_connect
. Этих двух инструментов достаточно для перечисления и подключения портов в командной строке. В следующем примере показано, как настроить соединения с помощью этих инструментов:
$ jack_lsp система: capture_1 система: capture_2 система: воспроизведение_1 система: воспроизведение_2 кава:Л мок:выход0 мок:выход1 кава:Р
В этом списке показаны все полные имена портов, доступные на данный момент. Они соответствуют двум внешним клиентам JACK, cava
и moc
, и одной внутренней клиентской system
JACK. Типы и текущие активные соединения между портами можно просмотреть с помощью переключателей -p
и -c
для jack_lsp
. Для соединения портов CAVA и MOC используется jack_connect
:
$ jack_connect cava:L moc:output0 $ jack_connect cava:R moc:output1
Теперь CAVA визуализирует исходящий звук из MOC.
compresslite — один из нескольких программных клиентов, доступных для Logitech Media Server. Squeezelite может экспортировать свои аудиоданные в общую память, которую и использует этот входной модуль. Просто адаптируйте свою конфигурацию:
method = shmem source = /squeezelite-AA:BB:CC:DD:EE:FF
где AA:BB:CC:DD:EE:FF
— это MAC-адрес Squeelite (если вы не уверены, проверьте веб-интерфейс LMS (Настройки>Информация). Примечание. Squeelite необходимо запускать с флагом -v
, чтобы включить поддержку визуализатора.
Примечание. Cava неправильно отображается в терминале macOS по умолчанию. Чтобы добиться оптимального отображения, установите Kitty. Будьте осторожны: вы можете столкнуться с проблемой, представленной в № 109; однако это можно решить с помощью этого.
Фоновая музыка
Установите фоновую музыку, которая автоматически обеспечивает интерфейс обратной связи. После установки и запуска просто отредактируйте свою конфигурацию, чтобы использовать этот интерфейс с portaudio:
method = portaudio source = "Background Music"
Звуковой цветок
Soundflower также работает над созданием интерфейса обратной связи. Используйте настройку Audio MIDI, чтобы настроить виртуальный интерфейс, который выводит звук как на динамики, так и на интерфейс обратной связи, следуя этому рецепту. Создавая устройство с несколькими выходами, вы теряете возможность контролировать громкость клавиатуры. По этой причине мы рекомендуем приложение «Фоновая музыка», которое по-прежнему обеспечивает управление с клавиатуры.
Затем отредактируйте свою конфигурацию, чтобы использовать этот интерфейс с portaudio:
method = portaudio source = "Soundflower (2ch)"
Должен автоматически захватывать звук с устройства вывода по умолчанию.
Чтобы запустить через ssh на внешний монитор, перенаправьте вывод в /dev/console
:
~# ./cava <> /dev/console >&0 2>&1
выйдите, нажав Ctrl+Z, затем запустите «bg», чтобы он продолжал работать после выхода из системы.
(Для перенаправления на консоль вы должны быть пользователем root. Простого sudo недостаточно: сначала запустите sudo su
.)
Самый вероятный выпуск №399. Для работы Cava необходимо правильно настроить локаль.
Это известная проблема с Pipewire. Попробуйте обходной путь, описанный здесь
Это либо проблема со шрифтом, либо с включенным межстрочным интервалом в эмуляторе терминала. Попробуйте изменить шрифт или отключить межстрочный интервал.
Поскольку графика основана на символах, попробуйте уменьшить размер шрифта.
Некоторые эмуляторы терминала работают просто медленно. Cava лучше всего будет выглядеть в терминале на базе графического процессора, таком как Kitty или Alacritty. Еще можно попробовать увеличить размер шрифта
Если вы запустите cava в TTY (например, ctrl+alt+F2), программа изменит шрифт на включенный в него cava.psf
(на самом деле это слегка измененный «unifont»).
Кажется, что в консольных шрифтах поддерживаются только 256 символов Юникода, вероятно, потому, что они являются растровыми шрифтами. Мне не удалось найти шрифт с символами Юникода 2581–2587 (блоки 1/8–7/8, используемые в верхней части каждой полосы для увеличения разрешения).
Таким образом, в cava.psf
символы 1–7 фактически заменяются символами Юникода 2581–2587. Когда Cava выходит, он меняет шрифт обратно. Если Cava завершается ненормально и вы заметили, что 1-7 заменены частичными блоками, просто измените шрифт с помощью setfont
.
На самом деле, setfont
должен возвращать шрифт по умолчанию, но обычно он не устанавливается. Я не нашел другого способа получить текущий шрифт. Таким образом, Cava устанавливает шрифт «Lat2-Fixed16» при прерывании. Он должен быть во всех основных дистрибутивах. При перезагрузке он вернется к шрифту по умолчанию.
Консоль просто не поддерживает это. #194
Usage : cava [options] Visualize audio input in terminal. Options: -p path to config file -v print version
Выйдите с помощью ctrl+c или q.
Если Cava неожиданно завершает работу или принудительно завершает работу, echo необходимо включить вручную с помощью stty -echo
.
Ключ | Описание |
---|---|
вверх / вниз | увеличить/уменьшить чувствительность |
влево / вправо | увеличить/уменьшить ширину полосы |
ж / б | изменить цвет переднего плана/фона |
р | Перезагрузить конфигурацию |
с | Перезагрузить только цвета |
q или CTRL-C | Выйти из КАВА |
Начиная с версии 0.4.0 все параметры выполняются в файле конфигурации, аргументов командной строки больше нет!
По умолчанию файл конфигурации создается при первом запуске в $XDG_CONFIG_HOME/cava/config
или $HOME/.config/cava/config
, но cava также можно настроить на использование другого файла с опцией -p
.
Отправка Cava сигнала SIGUSR1 заставит Cava перезагрузить файл конфигурации. Таким образом, он ведет себя так, как если бы пользователь нажал r в терминале. Можно отправить сигнал SIGUSR1, используя pkill
или killall
. Например:
$ pkill -USR1 cava
Аналогично, отправка Cava сигнала SIGUSR2 приведет только к перезагрузке цветов из файла конфигурации, что аналогично нажатию c в терминале. Это немного быстрее, чем перезагрузка всей конфигурации, поскольку обработка звука не требует повторной инициализации.
$ pkill -USR2 cava
Примеры работы эквалайзера:
[eq] 1=0 2=1 3=0 4=1 5=0
[eq] 1=2 2=2 3=1 4=1 5=0.5
Основной процессор обработки в cava был выделен в отдельную библиотеку cavacore
. Подробности смотрите на CAVACORE.md.
Вы также можете использовать вывод Cava для других программ, используя режим необработанного вывода, который записывает данные столбцов в STDOUT
, которые можно передать по конвейеру в другие процессы. Дополнительная информация об этой опции описана в примере файла конфигурации.
Полезный пример сценария для отправной точки, написанный на Python и использующий необработанные данные, можно найти здесь.
Пожалуйста, прочтите CONTRIBUTING.md, прежде чем открывать запрос на включение.
Благодаря:
НебесныйМорж
анко
живилучше
за большой вклад в раннюю разработку этого проекта.
Также спасибо dpayne за то, что он выяснил, как найти имя приемника PulseAudio по умолчанию.