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.
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.
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.
Davusic is a native, local-first desktop music player for Linux and Windows built with Tauri 2 and Rust. It avoids the bloat of Electron-based apps by keeping memory footprint under 60 MB and start-up time below 100 ms.
It combines your local offline library (FLAC, MP3, Opus, WAV) with on-demand YouTube streaming via yt-dlp, Spotify metadata import via official OAuth 2.0 PKCE without DRM bypass, and synchronized lyrics from LRCLIB.
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.
Single native binary architecture: static frontend is embedded into the Rust executable at compile time with zero Node.js dependencies at runtime. Separate OS threads handle GUI rendering, audio output through rodio, and background streaming downloads.
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.
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://.
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.
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.
Algoritmo de afinidad 100% privado en memoria. Calcula puntuaciones según reproducciones completas, likes y saltos para sugerir temas afines o activar Radio Continua.
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.
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.
Strict legal compliance: Spotify integration relies exclusively on official OAuth 2.0 PKCE to read metadata and user playlists without DRM bypassing or reverse-engineering. Universal import/export compatible with Exportify ZIP/CSV, Google Takeout, and M3U playlists.
Para instalar Davusic en sistemas Linux (Arch / CachyOS / Debian / Ubuntu) o Windows, sigue las instrucciones a continuación según el repositorio oficial:
# 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
# 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
# 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
Reproducir o pausar la pista actual en el motor rodio.
Retroceder o avanzar 5 segundos con scrubber instantáneo.
Saltar a la pista anterior o siguiente de la cola activa.
Enfocar el buscador híbrido unificado (biblioteca y YouTube).
Navegación directa: Inicio, Para ti, Explorar, Biblioteca, Me gusta, Recientes.
Alternar panel de cola de reproducción, panel de letras o reproductor inmersivo.