원문 캡처 · github.com
원문 캡처 · github.com

Undertone는 음악 재생 중 동기화된 가사와 앨범 아트, 비주얼라이저를 리눅스 바탕화면에 표시하는 오픈소스 앱이다. 창 아래 바탕화면 레이어에 표시돼 작업 중에는 창에 가려지고, 빈 바탕화면을 볼 때 확인할 수 있다.

MPRIS를 지원하는 플레이어를 감지하며, Spotify 앱·웹, YouTube Music, VLC, Firefox, Chromium 기반 브라우저 등을 대상으로 한다. 가사는 로컬 .lrc 파일과 LRCLIB, NetEase에서 설정한 순서대로 찾고 로컬에 캐시한다. 단어별 타이밍이 담긴 Enhanced LRC 파일은 현재 가사 줄을 단어 단위로 표시한다. 앨범 표지 색상을 테마에 적용하고, 시스템 오디오 출력에 반응하는 링·막대·파형·입자 비주얼라이저도 제공한다.

Debian·Ubuntu·Mint에서는 최신 릴리스의 .deb 파일을 내려받아 설치한다.

bash
sudo apt install ./undertone_1.2.0_all.deb

pipx를 사용할 수 있는 배포판에서는 소스에서 설치할 수 있다.

bash
git clone https://github.com/Mohit-Aasirwal/undertone.git
cd undertone
./install.sh

Arch는 packaging/PKGBUILD, Flatpak은 packaging/io.github.mohitaasirwal.Undertone.yml을 이용한다. 요구 사항은 Python 3.11 이상, Python용 GTK 3 바인딩, numpy, pulseaudio-utils의 parec다. 오디오 입력은 PulseAudio와 PipeWire에서 동작하며, Wayland에서는 gir1.2-gtklayershell-0.1을 추가해야 한다.

실행과 로그인 시 자동 시작은 다음 명령으로 설정한다.

bash
undertone # run in the foreground
undertone --install-autostart # start on login
undertone --list-monitors # names and indices for the config

설정 파일은 config.example.toml을 ~/.config/undertone/config.toml로 복사해 편집한다. 모니터별 크기와 위치, 비주얼라이저 모드, 플레이어별 가사 시간 보정, 가사 출처 등을 지정할 수 있다. 실행 중에는 D-Bus 명령으로 표시 전환, 비주얼라이저 변경, 가사 타이밍 조정 등을 할 수 있다. 제작자는 두 대의 1080p 모니터에서 초당 30프레임으로 실행할 때 CPU 사용량이 10% 미만이라고 설명한다.

Wayland 지원은 아직 실제 컴포지터에서 검증되지 않았다고 프로젝트는 밝힌다. Windows와 macOS용 백엔드도 향후 계획에 포함돼 있다. 소스 코드와 전체 설정·사용법은 Undertone 저장소에서 확인할 수 있다.