Wave

Client Subsonic e Navidrome nativo per Linux e Android

Wave è un client musicale per server Subsonic e Navidrome sviluppato per Linux e Android. Su Linux è un'applicazione GNOME nativa, con GTK4 e libadwaita; su Android è un'app Material 3. Le due versioni condividono lo stesso core scritto in Rust.

Libreria

La libreria è organizzata per artisti, album e playlist. La home mostra gli album ascoltati di recente, i più ascoltati e gli ultimi aggiunti. C'è anche una sezione Discover che propone ogni giorno album di artisti affini a quelli ascoltati non ancora presenti nella libreria, oltre che le nuove uscite degli artisti già in libreria.

Riproduzione

L'audio è decodificato nell'applicazione con GStreamer, con riproduzione gapless e normalizzazione opzionale del volume tramite ReplayGain. L'equalizzatore a dieci bande ha alcuni preset e una modalità automatica basata su AI locale, che equalizza ogni brano in tempo reale in funzione del suo genere.

Player compatto

La versione Linux ha, oltre al player nel pannello laterale, una modalità player compatta, orizzontale o verticale, che può mostrare la coda o l'equalizzatore.

Sincronizzazione tra dispositivi

I dispositivi di uno stesso account condividono l'indirizzo e le credenziali del server musicale, la lista dei desideri e le ricerche recenti. L'account si può ripristinare con una frase BIP39 di 24 parole, da cui si ricava la coppia di chiavi asimmetriche per l'autenticazione sul server di sincronizzazione. Il server conosce solo la chiave pubblica dell'account e conserva dati cifrati che non può leggere.

Un nuovo dispositivo si collega inquadrando il codice QR mostrato da uno già sincronizzato, senza dover inserire i dati del server Navidrome. Ogni dispositivo può riprodurre su un altro e controllarlo.

Distribuzione

Wave è distribuito come Flatpak, pacchetto .deb e .rpm, AppImage e APK per Android 14 e successivi. L'interfaccia è in italiano e in inglese, e il codice è rilasciato con licenza GPL-3.0 o successiva.

Il repository non è ancora pubblico: lo sviluppo avviene su un'istanza privata di Gitea, quindi per ora Wave non si può scaricare. Su richiesta posso condividere sia i pacchetti sia il codice sorgente.