APLICACIÓN DE ESCRITORIO · 2026 (ACTUALIDAD)

Davusic

Reproductor de música nativo de escritorio, local-first y en español para Linux y Windows. Combina tu biblioteca local con streaming bajo demanda de YouTube mediante yt-dlp, sincronización oficial de Spotify vía OAuth PKCE y letras en tiempo real.

Rust 1.85+ Tauri 2 rodio 0.23 yt-dlp Wayland / MPRIS Local-First Licencia MIT

Qué es

Davusic es un reproductor de música de escritorio pensado para ser rápido, estético y respetuoso con la privacidad del usuario. Nació de la necesidad de escapar de los reproductores empaquetados en Electron (que consumen entre 400 y 800 MB de RAM simplemente para reproducir audio) y de los servicios de streaming con DRM invasivo y telemetría continua.

Su filosofía es local-first: las preferencias, el catálogo indexado, las playlists, el historial y las canciones favoritas viven únicamente en tu equipo. Las playlists importadas guardan referencias ligeras (título, artista, álbum), resolviendo y reproduciendo el audio en tiempo real con yt-dlp bajo demanda y guardándolo en una caché temporal con poda automática.

Cómo está montado

frontend/HTML/CSS/JS (no bundler)
→
Tauri 2 IPCinvoke + events
→
davusic-audiorodio + Symphonia
↔
yt-dlp / loftystreaming & tags
→
MPRIS D-Busio.github.davo.davusic

El proyecto se compila como un único binario nativo en Rust. El frontend estático (sin Node.js, sin bundlers, sin Vite ni Webpack) se incrusta en el binario durante el proceso de compilación de Tauri 2.

El modelo de procesos está rigurosamente aislado: el hilo de interfaz gráfica (WebKitGTK en Linux, WebView2 en Windows) se comunica mediante IPC tipado con Rust; el hilo prioritario davusic-audio ejecuta el sink de audio nativo; y las tareas bloqueantes (resolución de yt-dlp, lectura de tags Lofty y consultas HTTP) se despachan en un pool de workers asíncronos.

Motores & Módulos

Motor de Audio (audio.rs)

Basado en rodio 0.23 y decodificadores Symphonia. Soporte nativo para FLAC, MP3, Opus, Vorbis, AAC/M4A, WAV y AIFF con control de volumen, scrubber y generación atómica de play.

Indexador Local (library.rs)

Escaneo ultra-rápido de directorios con lofty 0.25. Extrae carátulas incrustadas, normaliza metadatos y expone carátulas de forma eficiente mediante el protocolo cover://.

Streaming yt-dlp (youtube.rs)

Búsquedas en YouTube con ytsearch12. Extracción de stream de audio en segundo plano, caché temporal en disco y auto-instalación de yt-dlp si el usuario no lo tiene en su sistema.

Letras LRCLIB (lyrics.rs)

Búsqueda y descarga automática de letras sincrónicas (LRC) y en texto plano desde el servicio abierto LRCLIB. Desplazamiento automático interactivo y salto directo a estrofas.

Recomendación "Para ti"

Algoritmo de afinidad 100% privado en memoria. Calcula puntuaciones según reproducciones completas, likes y saltos para sugerir temas afines o activar Radio Continua.

Temas Cyber-HUD (theme.rs)

5 temas integrados: Nocturno, Neón / Cyberpunk, Matrix, Ember y Claro. 6 colores de acento y tipografías personalizadas alineadas con el ecosistema davito.dev.

Integraciones & Frontera Legal

Spotify Oficial sin DRM: Davusic utiliza el flujo oficial OAuth 2.0 PKCE (RFC 7636). Solicita únicamente permisos de lectura de playlists y biblioteca personal (playlist-read-private, user-library-read). Davusic nunca intenta evadir el DRM ni reproduce el catálogo privado de Spotify; los audios se resuelven de forma independiente a través de YouTube vía yt-dlp.

Exportify & Formatos Abiertos: Pestaña dedicada para importar colecciones desde exportify.net en formato CSV o ZIP, Google Takeout de YouTube Music, ficheros M3U/M3U8 o listas en texto plano. Exportación con un solo clic a formato Exportify estandarizado.

Linux MPRIS v2: Integración completa con D-Bus en Linux. Control por teclas multimedia, widgets de Waybar, notificaciones del sistema y scrubber bidireccional compatible con playerctl.

Instalación & Compilación

Para instalar Davusic en sistemas Linux (Arch / CachyOS / Debian / Ubuntu) o Windows, sigue las instrucciones a continuación según el repositorio oficial:

Instalación en Arch Linux / CachyOS
# 1. Instalar dependencias necesarias
$ sudo pacman -S --needed base-devel rust webkit2gtk-4.1 gtk3 librsvg pkgconf alsa-lib

# 2. Clonar y compilar
$ git clone https://github.com/davito-03/davusic.git
$ cd davusic
$ cargo build --release

# 3. Instalador local en el usuario (~/.local/bin y entrada de menú)
$ ./scripts/install.sh
Instalación en Debian / Ubuntu
# 1. Dependencias de desarrollo GTK3 y ALSA
$ sudo apt-get install -y build-essential pkg-config libwebkit2gtk-4.1-dev libgtk-3-dev \
  libayatana-appindicator3-dev librsvg2-dev libasound2-dev patchelf

# 2. Generar paquetes .deb o AppImage
$ cargo tauri build --bundles deb,appimage
# Se generará el paquete en target/release/bundle/deb/davusic_0.1.0_amd64.deb
$ sudo dpkg -i target/release/bundle/deb/davusic_0.1.0_amd64.deb
Instalación en Windows 10/11
# Descarga directa de instalador NSIS (.exe) o MSI desde GitHub Releases:
https://github.com/davito-03/davusic/releases

# O compilación desde PowerShell con Rust MSVC y Tauri CLI:
PS > cargo build --release
PS > cargo tauri build

Atajos de Teclado Globales

Espacio

Reproducir o pausar la pista actual en el motor rodio.

← / →

Retroceder o avanzar 5 segundos con scrubber instantáneo.

Mayús + ← / →

Saltar a la pista anterior o siguiente de la cola activa.

Ctrl + K / Ctrl + F

Enfocar el buscador híbrido unificado (biblioteca y YouTube).

Ctrl + 1 … 6

Navegación directa: Inicio, Para ti, Explorar, Biblioteca, Me gusta, Recientes.

Q / L / I

Alternar panel de cola de reproducción, panel de letras o reproductor inmersivo.