Introduction
Librezam prend en charge plusieurs backends (Shazam, Audd, ACRCloud, Tencent, NetEase) pour la reconnaissance musicale.
Par défaut, seul le backend Shazam est utilisé, et les autres backends ne sont pas utilisés sauf s'ils sont explicitement activés depuis les paramètres d'ordre des backends.
Ce document explique les caractéristiques de chaque backend et comment les données utilisateur sont traitées.
Shazam
* Gestion des données utilisateur
Les données audio enregistrées depuis la page sont envoyées aux serveurs de Shazam sous forme de hash acoustique qui ne peut pas restaurer le contenu original.
Ce hash acoustique est similaire à une valeur de hash comme SHA-256, qui peut être utilisée pour la correspondance mais ne peut pas restaurer le contenu original, offrant des avantages en termes de confidentialité.
La création d'empreinte digitale est effectuée en utilisant l'implémentation node-shazam-api de l'algorithme Shazam reverse-engineered.
De plus, les paramètres de langue du navigateur sont envoyés pour déterminer quelle langue prioriser dans les résultats de reconnaissance.
Le service est exploité par une entreprise aux États-Unis.
Le code source de node-shazam-api peut être trouvé ici.
https://github.com/FoxRefire/node-shazam-api/tree/webpack
La politique de confidentialité d'Apple peut être trouvée ici.
https://www.apple.com/legal/privacy/en-ww/
- Caractéristiques du backend
Disponible sans inscription ni limites de taux.
Peut détecter une large gamme de nombreuses chansons
Ne prend pas en charge la reconnaissance de fredonnement ou de chansons de reprise.
Certaines chansons nécessitent des temps d'enregistrement plus longs, mais le temps de réponse du serveur est très rapide
Audd
* Gestion des données utilisateur
Les données audio enregistrées depuis la page sont envoyées directement aux serveurs d'Audd sans conversion.
De plus, si l'utilisateur spécifie une clé API, la chaîne de clé est également envoyée.
Le service est exploité par une entreprise aux États-Unis.
La politique de confidentialité d'Audd peut être trouvée ici.
https://audd.io/privacy/
- Caractéristiques du backend
Jusqu'à 10 requêtes par jour sont disponibles gratuitement sans inscription de clé API, mais une clé API payante doit être enregistrée par la suite.
Les clés API peuvent être obtenues ici.
https://audd.io/
La précision de reconnaissance n'est pas aussi bonne par rapport aux autres backends, mais certaines chansons peuvent être reconnues avec moins d'échantillons.
Ne prend pas en charge la reconnaissance de fredonnement ou de chansons de reprise
ACRCloud
* Gestion des données utilisateur
Les données audio enregistrées depuis la page sont envoyées directement aux serveurs d'ACRCloud sans conversion.
De plus, la chaîne de clé API spécifiée par l'utilisateur est envoyée.
Le service est exploité par une entreprise chinoise enregistrée à Singapour.
La politique de confidentialité d'ACRCloud peut être trouvée ici
https://www.acrcloud.com/privacy/
- Caractéristiques du backend
L'inscription de clé API est requise, mais jusqu'à 100 requêtes par jour sont disponibles gratuitement.
Se vante d'une haute précision de reconnaissance et peut reconnaître de nombreuses chansons.
La reconnaissance de fredonnement et de chansons de reprise est également possible. (7,2 secondes ou plus de temps d'enregistrement est recommandé lors de la reconnaissance de fredonnement ou de chansons de reprise)
Tencent
* Gestion des données utilisateur
Les données audio enregistrées depuis la page sont converties en données PCM brutes de 8000kHz mono s16le qui peuvent lire le contenu original, puis envoyées aux serveurs de Tencent.
Ce backend est implémenté basé sur la fonction de reconnaissance musicale reverse-engineered depuis l'application QQ Music.
Le service est exploité par une entreprise chinoise
La politique de confidentialité de Tencent peut être trouvée ici.
https://privacy.qq.com/document/priview/0b0dc16a0f004a35b77b7fd48a0b125b
- Caractéristiques du backend
Disponible sans inscription ni limites de taux.
Montre une très haute précision surtout pour la musique ACG, et peut détecter des chansons que même Shazam ou ACRCloud ne peuvent pas reconnaître.
La reconnaissance de fredonnement et de chansons de reprise est également possible. (12 secondes ou plus de temps d'enregistrement est recommandé lors de la reconnaissance de fredonnement ou de chansons de reprise)
La vitesse de réponse du serveur peut être lente selon l'heure de la journée.
NetEase
* Gestion des données utilisateur
Les données audio enregistrées depuis la page sont d'abord converties en données PCM brutes de 48000hz mono f32le qui peuvent lire le contenu original, puis envoyées à un proxy de prétraitement que j'héberge sur Deno Deploy.
Le proxy de prétraitement utilise des modules propriétaires pour convertir en hash acoustique similaire à Shazam qui ne peut pas restaurer le contenu original, puis l'envoie aux serveurs de NetEase.
La raison pour laquelle un proxy de prétraitement doit être traversé une fois est que les modules requis pour la conversion sont propriétaires et ne peuvent pas être directement intégrés dans Librezam.
Je ne collecte aucun log dans le proxy de prétraitement.
Ce backend est reverse-engineered depuis l'extension Chrome "云音乐听歌".
Le service est exploité par une entreprise chinoise.
Le code source du proxy de prétraitement peut être trouvé ici
https://github.com/FoxRefire/ncm-recognizer-proxy
La politique de confidentialité de NetEase peut être trouvée ici
https://st.music.163.com/official-terms#
La politique de confidentialité de Deno Deploy peut être trouvée ici
https://docs.deno.com/deploy/privacy_policy/
- Caractéristiques du backend
Disponible sans inscription ni limites de taux.
Montre une très haute précision surtout pour la musique ACG, et peut détecter des chansons que même Shazam ou ACRCloud ne peuvent pas reconnaître.
Aucune fonctionnalité de reconnaissance de fredonnement ou de chansons de reprise