Sortie de SongRec 0.6 : Shazam, ouvre-toi !

Posté par  (site web personnel, Mastodon) . Édité par Ysabeau 🧶. Modéré par patrick_g. Licence CC By‑SA.
29
13
avr.
2026
Gnome

La version 0.6 de SongRec, application de bureau permettant la reconnaissance de titres audio sur la base d’échantillons audio ou simplement du microphone, a eu l’honneur de venir au monde en ce début d’année, avec une toute nouvelle interface entérinant la migration de GTK+ 3 à 4. Elle est d’ores et déjà disponible sur Flathub et le Snap Store.

Au menu : une intégration du langage d’interface Adwaita, une option pour minimiser l’application dans la barre de tâches via l’API DBus KSNI, une interface plus claire avec quelques paramètres, la mise à jour des dépendances avec notamment l’utilisation des bindings Rust de Libsoup3 pour le réseau afin de permettre une meilleure intégration au bureau, l’intégration de Weblate pour les traductions, et une candidature pour rejoindre Gnome Circle.

La migration de GTK-3 vers GTK-4

Dépoussiérée, l’interface de SongRec s’offre une cure de jouvence.

Avant la transition…
Avant la transition…

…et après la transition
Après

L’objectif a été de suivre les lignes directrices d’interface humaine de GNOME au mieux, notamment afin de s’aligner sur les critères d’inclusion GNOME Circle.

La nouvelle interface basée sur la plateforme Adwaita est donc mieux intégrée au bureau GNOME 3, et utilise des bibliothèques plus modernes et mises à jour.

L’interface a été refaite avec l’outil de conception d’interface (RAD) Cambalache, successeur du défunt Glade, qui vient tout juste de sortir en version 1.0.

Weblate, pour la traduction c’est + puissant

Une instance de la plateforme de traduction Weblate a été mise en ligne, afin de répondre au mieux aux besoins d’internationalisation plus simple sur le projet. SongRec est ainsi maintenant disponible en 16 langues, qui sont en partie à jour, et peut être traduit sans compte Github.

Auparavant, les fichiers .po étaient traduits manuellement en utilisant le système de pull requests Github. Désormais, une plateforme de traduction auto-hébergée est utilisée.

La simplicité d’installation de Weblate, application basée sur Django et compatible avec uWSGI, est appréciée.

Oh Snap !

SongRec est aussi maintenant disponible, en plus d’une distribution par PPA, dans les dépôts extra d’Arch Linux et sur Flathub, mais aussi désormais via le Snap Store.

L’intégration au Snap Store a été bien moins aisée que celle à Flathub, voire tellement frustrante que cinq ans et demi sont passés entre la première tentative d’intégrer la bibliothèque multi-plateforme Rust CPAL qui utilise pour seul backend sous Linux ALSA (plus précisément libasound et donc les couches de compatibilité associées avec PipeWire et Pulseaudio) et la production d’une solution fonctionnelle pour ce paquet.

Heureusement, CPAL 0.18 qui devrait intégrer la compatibilité native avec PulseAudio et PipeWire devrait sortir incessamment sous peu…

 La notification 🔔

Aussi, sur demande de la base utilisatrice, il est désormais possible de réduire SongRec dans la zone de notifications, en utilisant l’API DBus KSNI, un standard produit par KDE transcendant les environnements de bureau qui tend à remplacer libappindicator et son successeur libayatana-appindicator, portés par Canonical, qui dépendent de GTK-3 et ne sont plus intégrés à GTK-4.

L’autre alternative compatible avec GTK-4 qui permet de réduire les applications en fond, l’API DBus FreeDesktop background portal XDG, semble en effet comporter des bugs et n'être pas tout à fait mature.

La fenêtre de préférences de SongRec
La fenêtre de préférences de SongRec.

Un arrêt maladie bien occupé

La contribution de SongRec est ouverte à tout le monde et soumise au simple respect du code de conduite GNOME. Un canal Matrix, alternative non centralisée à Discord a de plus été mis en place pour permettre une collaboration plus aisée, en dehors des issues Git.

Fait main et artisanale, cette application produite sans IA générative aucune ne demande que vos petites mains pour continuer à fonctionner.

Elle utilise actuellement les services d’Apple, avec des API identifiées sur la base de l’analyse de l’application Android au titre de l’interopérabilité, tout comme les projets VLC ou FFMpeg, français, intègrent leurs propres implémentations des formats du consortium MPEG, sur la base des exceptions de droit d’auteur permises en droit français au titre d’interopérabilité et notamment l’avis du Conseil d’État du 16 juillet 2008, qui confirme la protection du développement de logiciels libres à cette fin.

Le brevet d’origine derrière l’algorithme de création d’empreinte de Shazam, qui en tant que brevet logiciel n’a jamais été valable dans l’UE, est expiré, et son fonctionnement est également documenté depuis un certain temps.

Son fonctionnement est, brièvement, de produire un spectrogramme audio (soit une grille présentant les fréquences sur un axe et le temps sur l’autre) à partir des dernières secondes d’audio captées par l’utilisateur ou l’utilisatrice, et l’amplitude aux intersections. Les pics d’amplitude audio importants sont ensuite identifiés et transmis aux serveurs d’Apple.

Un spectrogramme audio
Un spectrogramme audio - de Wikimedia Commons, par Aquegg, le 21 décembre 2008, domaine public

Ainsi, l’audio complet n’est en aucun cas communiqué aux serveurs distants, et votre vie privée est respectée.

La liste des contributeurs et contributrices est disponible ici.

N’hésitez donc pas si vous souhaitez participer à la maintenance et au développement de cette application sous licence GPL v3 !

Aller plus loin

  • # A essayer

    Posté par  (site web personnel, Mastodon) . Évalué à 5 (+3/-0).

    Intéressant, voilà un logiciel que j'essaierai !

    Il y a juste un truc à la fin du communiqué que je ne comprends pas bien :

    Ainsi, l’audio complet n’est en aucun cas communiqué aux serveurs distants, et votre vie privée est respectée.

    Si une empreinte du morceau est envoyée à un serveur et si l'algorithme de reconnaissance est vraiment efficace, en quoi notre vie privée serait respectée ? Ou alors la remarque fait référence à autre chose concernant la façon dont le logiciel interagit avec le serveur ?

    • [^] # Re: A essayer

      Posté par  (site web personnel, Mastodon) . Évalué à 9 (+9/-0).

      En effet Apple peut toujours faire un lien entre chanson reconnue et adresse IP, mais l'audio entier n'est pas transmis, des paroles humaines ne sont pas retranscriptibles par exemple. Pour le reste, les API de tracking ne sont pas appelées et l'User-Agent est randomisé, de même que les autres paramètres envoyés via HTTP.

  • # Génial

    Posté par  . Évalué à 5 (+4/-0).

    Merci pour le lien how-shazam-works
    Super bien expliqué, en partant le plus possible de zéro (musique, fréquences, sampling, traitement du signal, …)
    Je me suis régalé à sa lecture

  • # Cas d'utilisation

    Posté par  . Évalué à 8 (+6/-0).

    Merci pour le dev et la dépêche qui explique bien.

    Je me pose la question du cas d'utilisation. Si ça tourne sur le bureau, ça va servir à identifier des musiques qui passent… dans le bureau. J'ai le sentiment que Shazam est surtout utilisé à l'extérieur (bar, voiture, soirée) sur un téléphone, dans un environnement où on ne maîtrise pas la source audio.

    Je vois bien le cas du PC portable en wifi au bar. Mais ça me semble relativement marginal.

    (Je verrais plus l'utilité immédiate d'une appli dans F-Droid.)

    Y a-t-il une grosse demande ? Est-ce que ça a été développé autant pour le plaisir de le faire que pour l'utilité ? Est-ce que j'ai pas compris quelque-chose ?

    • [^] # Re: Cas d'utilisation

      Posté par  (site web personnel) . Évalué à 8 (+6/-0).

      (Je verrais plus l'utilité immédiate d'une appli dans F-Droid.)

      pour cela, tu as Audile https://f-droid.org/packages/com.mrsep.musicrecognizer/

      Je vois bien le cas du PC portable en wifi au bar.

      moui, ou chez soi devant la tv ;-)
      je ne vais pas lancer waydroid puis audile pour l'avoir sur mon PC :p

      • [^] # Re: Cas d'utilisation

        Posté par  . Évalué à 3 (+1/-0).

        pour cela, tu as Audile https://f-droid.org/packages/com.mrsep.musicrecognizer/

        Je connaissais pas. J'essaierai, par curiosité. Merci.

        moui, ou chez soi devant la tv ;-)
        je ne vais pas lancer waydroid puis audile pour l'avoir sur mon PC :p

        Certes. Mais chez soi on sait généralement ce qu'on diffuse. Mais oui, ok, tu peux avoir une musique dans un flim, etc.

        Je me disais juste que ça faisait un effort de dev pour une utilisation plus marginale. C'est évidemment tout sauf une critique (au contraire).

    • [^] # Re: Cas d'utilisation

      Posté par  (site web personnel, Mastodon) . Évalué à 8 (+7/-0). Dernière modification le 17 avril 2026 à 22:30.

      Je suis un utilisateur de SongRec, voici mon contexte d'utilisation:

      J'écoute régulièrement des web radio comme hot mix ou radio meuh. Ces radios ne donnent pas d'informations en direct quant aux titres diffusés. Donc SongRec me permet de les identifier et quand j'entends un titre qui me plaît, je l'ajoute aux favoris.

      • [^] # Re: Cas d'utilisation

        Posté par  . Évalué à 4 (+2/-0).

        Pareil, je l'utilise aussi pour identifier des titres que j'entends via l'ordi. Ca peut être sur une webradio, une vidéo, un stream, etc. Même si le titre est donné oralement, dans l'overlay du stream ou les crédits, c'est pas toujours le cas, et j'utilise l'historique de songrec comme un bloc-notes.

        Ca permet aussi d'avoir une appli pour les smartphones Linux comme Droidian ou PMOS (ou dans un LXC de SFOS).

        Emacs le fait depuis 30 ans, et sans pubs ni télémétrie.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.