Why Musonic? · FAQPourquoi Musonic ? · FAQ
Made to work together.Fait pour marcher ensemble.
Why a whole ecosystem instead of one more server or one more app, what it already changes, the numbers we measured, and the questions people ask us.Pourquoi tout un écosystème plutôt qu'un serveur ou une appli de plus, ce que ça change déjà, les chiffres que nous avons mesurés, et les questions qu'on nous pose.
1One ecosystem, not a protocolUn écosystème, pas un protocole
Most self-hosted music setups pair a generic server with generic apps. They talk through a protocol written years ago, Subsonic, so each side can only do what that protocol allows: when an app wants something new, it has to wait for every server, and the other way round.La plupart des installations de musique auto-hébergées associent un serveur générique à des applis génériques. Ils se parlent par un protocole écrit il y a des années, Subsonic : chacun ne peut faire que ce que ce protocole permet. Quand une appli veut quelque chose de nouveau, elle doit attendre tous les serveurs, et inversement.
Musonic is built the other way. The server and the apps are written together: the app knows exactly what the server can do, the server knows exactly what the app needs. The client can drive the server, the server can drive the client. When we want something new, we add it on both sides at once, without waiting for a standard.Musonic est fait dans l'autre sens. Le serveur et les applis sont écrits ensemble : l'appli sait exactement ce que le serveur sait faire, le serveur sait exactement ce dont l'appli a besoin. Le client peut piloter le serveur, le serveur peut piloter le client. Quand nous voulons quelque chose de nouveau, nous l'ajoutons des deux côtés en même temps, sans attendre de norme.
And nothing is closed: Musonic Server still speaks Subsonic, so Symfonium, Substreamer and the other Subsonic apps keep working with it.Et rien n'est fermé : Musonic Server parle toujours Subsonic, donc Symfonium, Substreamer et les autres applis Subsonic continuent de marcher avec.
2What it changesCe que ça change
Already thereDéjà là
One song, one identityUn titre, une seule identité
Search shows your library and an online catalogue together. Like an online song and it becomes a file in your library, under the same id: likes and playlists stay where they are.La recherche montre votre bibliothèque et un catalogue en ligne ensemble. Likez un titre en ligne : il devient un fichier de votre bibliothèque, sous le même identifiant ; likes et playlists restent en place.
Every device in sync, liveTous les appareils synchronisés, en direct
A like on your phone shows at once on your computer: likes, playlists, plays, queue, imports. The server pushes the change; the apps do not have to ask.Un like sur votre téléphone s'affiche aussitôt sur votre ordinateur : likes, playlists, écoutes, file d'attente, imports. Le serveur envoie le changement ; les applis n'ont pas à demander.
The next song, ready before you get thereLe titre suivant, prêt avant vous
The server knows your queue, so it prepares the next song in advance: it starts like a song you already played.Le serveur connaît votre file d'attente : il prépare le titre suivant à l'avance, qui démarre comme un titre déjà écouté.
Your playlists from elsewhereVos playlists d'ailleurs
Paste a Spotify or Deezer playlist address in the app: the server imports it for your account.Collez l'adresse d'une playlist Spotify ou Deezer dans l'appli : le serveur l'importe pour votre compte.
One console for everythingUne seule console pour tout
Accounts by invitation link, rights and quotas, devices, library, imports, journal: run from a browser, in the same design as the apps.Comptes par lien d'invitation, droits et quotas, appareils, bibliothèque, imports, journal : depuis un navigateur, avec le même design que les applis.
Coming nextEnsuite
Musonic Connect ComingÀ venir
Start a song on your phone, continue it on your computer, control any of your devices from another, listen together.Lancez un titre sur votre téléphone, continuez-le sur votre ordinateur, pilotez un appareil depuis un autre, écoutez à plusieurs.
Discovery and statisticsDécouverte et statistiques ComingÀ venir
Recommendations and listening stats computed on your server, from your own plays.Des recommandations et des statistiques d'écoute calculées sur votre serveur, à partir de vos propres écoutes.
Even volumeVolume égal ComingÀ venir
Every song at the same loudness, measured once by the server, applied by every app.Chaque titre au même volume, mesuré une fois par le serveur, appliqué par toutes les applis.
3The benchmark, in one numberLe benchmark, en un chiffre
6.96,9×
better than Navidrome on average, over allmieux que Navidrome en moyenne, sur l'ensemble des 36 measuresmesures
Geometric mean of the 36 ratios (faster, lighter, more requests per second), the usual way to average speed-ups. It includes the 2 measures where Navidrome is ahead.Moyenne géométrique des 36 écarts (plus rapide, plus léger, plus de requêtes par seconde), la façon habituelle de faire la moyenne d'accélérations. Elle compte les 2 mesures où Navidrome est devant.
By familyPar famille
10.610,6× fasterplus rapide
1.81,8 s
to scan the whole librarypour analyser toute la bibliothèque
Navidrome:Navidrome : 18.918,9 s
5.15,1× lessde moins
19.519,5 MBMo
of memory at restde mémoire au repos
Navidrome:Navidrome : 100 MBMo
123× fasterplus rapide
0.430,43 ms
to list every artistpour lister tous les artistes
Navidrome:Navidrome : 52.752,7 ms
83× fasterplus rapide
0.350,35 ms
for a searchpour une recherche
Navidrome:Navidrome : 29.429,4 ms
20× lessde moins
0.60,6 s
of processor time per 1,000 requestsde processeur pour 1 000 requêtes
Navidrome:Navidrome : 11.711,7 s
13× smallerplus petit
27 MBMo
of data on diskde données sur le disque
Navidrome:Navidrome : 361 MBMo
4Machine and methodMachine et méthode
Both servers on the same small machine, with the same music library.Les deux serveurs sur la même petite machine, avec la même bibliothèque de musique.
| ServerServeur | Oracle Cloud, Ampere A1 (ARM, aarch64) |
| ProcessorProcesseur | Ampere Altra (Arm Neoverse-N1), 2 coresAmpere Altra (Arm Neoverse-N1), 2 cœurs |
| MemoryMémoire | 12 GB in total12 Go au total |
| StorageStockage | Oracle block volume, ext4Volume bloc Oracle, ext4 |
| SystemSystème | Ubuntu 24.04 LTS, Linux 6.17 kernelUbuntu 24.04 LTS, noyau Linux 6.17 |
| LibraryBibliothèque | 1,871 files, 7 GB (mostly MP3), 797 artists1 871 fichiers, 7 Go (surtout MP3), 797 artistes |
| Versions | Musonic Server 1.0.1 (online catalogue off) · Navidrome 0.64.2, official binary, default settings · the same ffmpeg for both (BtbN n8.1)Musonic Server 1.0.1 (catalogue en ligne coupé) · Navidrome 0.64.2, binaire officiel, réglages par défaut · le même ffmpeg pour les deux (BtbN n8.1) |
| Date | October 22, 202622 octobre 2026 |
- Both servers run without Docker, one at a time, starting from an empty database each time.Les deux serveurs tournent sans Docker, un à la fois, avec une base vide à chaque fois.
- Three passes, alternating Musonic and Navidrome; we keep the median of the three.Trois passes, en alternant Musonic et Navidrome ; on garde la médiane des trois.
- Each request: 20 warm-up calls, then 200 measured calls, through the Subsonic API with token sign-in, on a persistent connection.Chaque requête : 20 appels de chauffe, puis 200 appels mesurés, via l'API Subsonic avec connexion par jeton, sur une connexion persistante.
- Memory is the process's resident memory (RSS); processor time is read from the system.La mémoire est la mémoire résidente du processus (RSS) ; le temps processeur est lu dans le système.
- Limits: the test client runs on the same 2 cores (it caps Musonic at about 900 requests per second), and other services were running on the machine.Limites : le client de test tourne sur les mêmes 2 cœurs (il plafonne Musonic à environ 900 requêtes par seconde), et d'autres services tournaient sur la machine.
5Every resultTous les résultats
Every measure, Navidrome on the left, Musonic on the right. Pick a family.Chaque mesure, Navidrome à gauche, Musonic à droite. Choisissez une famille.
| Test | Navidrome | Musonic | DifferenceÉcart |
|---|---|---|---|
| Scan of the whole libraryAnalyse de toute la bibliothèque | 18.918,9 s | 1.81,8 s | 10.510,5× fasterplus rapide |
| Processor time for the scanTemps processeur de l'analyse | 16.916,9 s | 1.81,8 s | 9.49,4× lessde moins |
| Memory during the scanMémoire pendant l'analyse | 56.356,3 MBMo | 19.319,3 MBMo | 2.92,9× lessde moins |
| Memory at restMémoire au repos | 100 MBMo | 19.519,5 MBMo | 5.15,1× lessde moins |
| Memory after all the testsMémoire après tous les tests | 236 MBMo | 77.677,6 MBMo | 3.03,0× lessde moins |
| Memory after a restartMémoire après un redémarrage | 45.145,1 MBMo | 15.515,5 MBMo | 2.92,9× lessde moins |
| First startPremier démarrage | 0.7690,769 s | 0.0620,062 s | 12.412,4× fasterplus rapide |
| RestartRedémarrage | 0.0450,045 s | 0.0190,019 s | 2.42,4× fasterplus rapide |
| Data folderDossier de données | 361 MBMo | 26.926,9 MBMo | 13.413,4× lessde moins |
| RequestRequête | Navidrome | Musonic | DifferenceÉcart |
|---|---|---|---|
Search “love”Recherche « love » search3 | 29.429,4 ms | 0.350,35 ms | 84× fasterplus rapide |
Search “mo”Recherche « mo » search3 | 25.625,6 ms | 0.380,38 ms | 67× fasterplus rapide |
Search, two wordsRecherche, deux mots search3 | 20.220,2 ms | 0.300,30 ms | 67× fasterplus rapide |
Every artistTous les artistes getArtists | 52.752,7 ms | 0.430,43 ms | 123× fasterplus rapide |
An artistUn artiste getArtist | 2.272,27 ms | 0.280,28 ms | 8.18,1× fasterplus rapide |
An albumUn album getAlbum | 2.62,6 ms | 0.290,29 ms | 9.09,0× fasterplus rapide |
A trackUn titre getSong | 2.432,43 ms | 0.280,28 ms | 8.78,7× fasterplus rapide |
50 newest albums50 albums récents getAlbumList2 | 16.616,6 ms | 0.340,34 ms | 49× fasterplus rapide |
500 albums, A to Z500 albums, de A à Z getAlbumList2 | 35.435,4 ms | 0.520,52 ms | 68× fasterplus rapide |
50 random albums50 albums au hasard getAlbumList2 | 8.318,31 ms | 2.172,17 ms | 3.83,8× fasterplus rapide |
50 random tracks50 titres au hasard getRandomSongs | 5.765,76 ms | 3.293,29 ms | 1.81,8× fasterplus rapide |
Genres getGenres | 1.171,17 ms | 0.290,29 ms | 4.04,0× fasterplus rapide |
FavouritesFavoris getStarred2 | 2.172,17 ms | 0.280,28 ms | 7.77,7× fasterplus rapide |
Playlists getPlaylists | 1.011,01 ms | 0.280,28 ms | 3.63,6× fasterplus rapide |
| Test | Navidrome | Musonic | DifferenceÉcart |
|---|---|---|---|
| 1 client | 86.586,5 req/s | 723 req/s | 8.48,4× morede plus |
| 4 clients | 135 req/s | 918 req/s | 6.86,8× morede plus |
| 16 clients | 143 req/s | 902 req/s | 6.36,3× morede plus |
| 64 clients | 156 req/s | 913 req/s | 5.95,9× morede plus |
| Processor time per 1,000 requestsTemps processeur pour 1 000 requêtes | 11.711,7 s | 0.60,6 s | 19.519,5× lessde moins |
| Test | Navidrome | Musonic | DifferenceÉcart |
|---|---|---|---|
| 60 covers, 300 px, first time (median)60 pochettes, 300 px, 1re fois (médiane) | 72.572,5 ms | 21.121,1 ms | 3.43,4× fasterplus rapide |
| 60 covers, 600 px, first time (median)60 pochettes, 600 px, 1re fois (médiane) | 119 ms | 31.531,5 ms | 3.83,8× fasterplus rapide |
| Cover already seen (median)Pochette déjà vue (médiane) | 0.990,99 ms | 0.530,53 ms | 1.91,9× fasterplus rapide |
| First byte of a track, original file1er octet d'un titre, fichier d'origine | 1.551,55 ms | 0.810,81 ms | 1.91,9× fasterplus rapide |
| First byte, transcoded track played again1er octet, titre transcodé réécouté | 1.721,72 ms | 1.251,25 ms | 1.41,4× fasterplus rapide |
| First byte, track transcoded for the first time1er octet, titre transcodé la 1re fois | 33.533,5 ms | 42 ms | 1.31,3× slowerplus lent |
Sign-in checkVérification de connexion ping | 0.680,68 ms | 0.270,27 ms | 2.52,5× fasterplus rapide |
| Streaming throughput, original fileDébit d'un fichier d'origine | 660 MB/s | 625 MB/s | 1.11,1× lessde moins |
Slowest 5 % of requests (p95): 0.36 to 3.6 ms for Musonic, 1.3 to 85 ms for Navidrome. Right after a like, when the server updates its data, Musonic stays ahead on all 14 requests (for example, every artist: 4.5 ms vs 30.2 ms).Les 5 % de requêtes les plus lentes (p95) : 0,36 à 3,6 ms pour Musonic, 1,3 à 85 ms pour Navidrome. Juste après un like, quand le serveur met ses données à jour, Musonic reste devant sur les 14 requêtes (par exemple, tous les artistes : 4,5 ms contre 30,2 ms).
6Where Navidrome is aheadLà où Navidrome est devant
- First byte of a track transcoded for the first time: 33.5 ms vs 42 ms (ffmpeg alone takes 23 ms). The next track of a queue is prepared in advance, so this mostly shows on the first song.1er octet d'un titre transcodé pour la première fois : 33,5 ms contre 42 ms (ffmpeg seul met 23 ms). Le titre suivant d'une file est préparé à l'avance : ça se voit surtout sur le premier titre.
- Size of some compressed answers: every artist 47.7 KB vs 30 KB, search 7 KB vs 6 KB (Musonic's identifiers are longer).Poids de certaines réponses compressées : tous les artistes 47,7 Ko contre 30 Ko, recherche 7 Ko contre 6 Ko (les identifiants de Musonic sont plus longs).
- Covers at the very first request: 7 to 9 % heavier. Once optimised in the background, they are 7 to 9 % lighter than Navidrome's.Pochettes à la toute première demande : 7 à 9 % plus lourdes. Une fois optimisées en arrière-plan, elles sont 7 à 9 % plus légères que celles de Navidrome.
- Raw streaming throughput of an original file: 625 vs 660 MB/s, a tie in practice.Débit brut d'un fichier d'origine : 625 contre 660 Mo/s, une égalité en pratique.
7Questions
Why build your own stack when there are alternatives? (Music Assistant, Jellyfin, Navidrome…)Pourquoi construire ta propre solution alors qu'il existe des alternatives ? (Music Assistant, Jellyfin, Navidrome…)
Because I wanted what they don't offer: the server and the apps built together. Navidrome, Jellyfin and Music Assistant are excellent, but each is one piece. Musonic is the server, the apps, Android Auto and the console, made to work as one.
Parce que je voulais ce qu'elles n'offrent pas : le serveur et les applis conçus ensemble. Navidrome, Jellyfin et Music Assistant sont excellents, mais chacun n'est qu'une pièce. Musonic, c'est le serveur, les applis, Android Auto et la console, pensés comme un tout.
What does this offer that other servers don't?Qu'est-ce que ça apporte que les autres serveurs n'ont pas ?
- Live sync across all your devices.
- One identity per song, online or in your library.
- Spotify and Deezer playlists imported from a link.
- 6.9× better than Navidrome on average, with 5× less memory.
- La synchro en direct sur tous vos appareils.
- Un seul identifiant par titre, en ligne ou dans votre bibliothèque.
- Vos playlists Spotify et Deezer importées depuis un lien.
- 6,9× mieux que Navidrome en moyenne, avec 5× moins de mémoire.
I like Navidrome + OctoFiesta because it can stream and download things outside my library.J'aime Navidrome + OctoFiesta parce que ça permet d'écouter et de télécharger des choses hors de ma bibliothèque.
Musonic has it built in: search shows your library and an online catalogue together, and a liked song becomes a file in your library. One program instead of two, with 5× less memory than Navidrome alone.
Musonic l'intègre : la recherche montre votre bibliothèque et un catalogue en ligne ensemble, et un titre liké devient un fichier de votre bibliothèque. Un seul programme au lieu de deux, avec 5× moins de mémoire que Navidrome seul.
Is this AI slop?C'est du code généré par IA ?
I write it with AI coding tools, and I say so openly. I am the only developer. Don't take my word for it: the method and every number are on this page, including where Navidrome wins.
Je l'écris avec des outils d'IA, et je le dis ouvertement. Je suis le seul développeur. Ne me croyez pas sur parole : la méthode et tous les chiffres sont sur cette page, y compris là où Navidrome gagne.
Can I keep my Subsonic apps?Puis-je garder mes applis Subsonic ?
Yes: Symfonium, Substreamer and the others work with it. They just won't get what only the Musonic apps can do with it, such as live sync or importing a playlist from a link.
Oui : Symfonium, Substreamer et les autres marchent avec. Ils n'auront simplement pas ce que seules les applis Musonic savent en tirer, comme la synchro en direct ou l'import d'une playlist depuis un lien.
Can I try it without leaving Navidrome?Puis-je l'essayer sans quitter Navidrome ?
Yes: run it next to Navidrome, with your music folder read-only. To see the whole ecosystem, try it with the Musonic apps. Convinced? It brings over your playlists, likes and plays (guide).
Oui : lancez-le à côté de Navidrome, avec votre dossier de musique en lecture seule. Pour voir tout l'écosystème, essayez-le avec les applis Musonic. Convaincu ? Il reprend vos playlists, likes et écoutes (guide).
Is it free?Est-ce gratuit ?
Try it in a few minutesEssayez-le en quelques minutes
One Docker command. Your Subsonic apps keep working. Navidrome can stay.Une commande Docker. Vos applis Subsonic continuent de marcher. Navidrome peut rester.