2 points par GN⁺ 2023-11-30 | 1 commentaires | Partager sur WhatsApp
  • Freetar est une interface alternative open source pour Ultimate Guitar, qui applique aux tablatures et accords d’Ultimate Guitar le rôle qu’Invidious joue pour YouTube
  • Il propose un design simple, sans publicité, pop-up, IA ni blockchain, et se concentre sur la recherche et la consultation de tablatures
  • Les accords favoris sont stockés dans le session storage sans compte, ne sont pas envoyés au serveur, et l’outil propose un mode sombre, le défilement automatique, une vue des accords adaptée à l’impression, ainsi qu’une fonction empêchant l’écran de s’éteindre via la WakeLock API
  • Après installation, l’exécutable freetar lancé sans paramètre fonctionne sur 0.0.0.0:22000, et son mode d’exécution se règle via les variables d’environnement FREETAR_HOST, FREETAR_PORT et FREETAR_CACHE_TIMEOUT
  • Les travaux à venir incluent l’amélioration de l’UX mobile, le packaging en PWA, le stockage chiffré côté serveur des favoris et l’affichage de QR codes pour partager des tablatures ; il est recommandé de proposer une issue avant d’ajouter une fonctionnalité

Ce que fait Freetar

Fonctionnalités proposées

  • Propose un design simple, sans publicité, pop-up, IA ni blockchain
  • Permet de rechercher et de consulter des tablatures
  • Permet d’enregistrer ses accords préférés dans les favs
    • Toutes les données sont stockées dans le session storage
    • Elles ne sont pas envoyées au serveur
    • Aucun compte n’est nécessaire
  • Prend en charge le mode sombre
  • Prend en charge le défilement automatique
  • Utile pour imprimer les accords
  • Peut afficher les accords
  • Utilise la WakeLock API pour empêcher l’écran de s’éteindre

Installation et exécution

  • Une fois l’installation réussie, un exécutable freetar est disponible dans le PATH
  • Lancé sans paramètre, il écoute sur 0.0.0.0:22000
  • L’hôte et le port peuvent être modifiés via des variables d’environnement
    • FREETAR_HOST
    • FREETAR_PORT
    • FREETAR_CACHE_TIMEOUT : définit la durée pendant laquelle les tablatures sont mises en cache en mémoire afin de réduire les requêtes vers Ultimate Guitar
      • La valeur par défaut est 0
      • Par défaut, le cache fonctionne de manière illimitée

Modes de déploiement

  • Peut être installé comme package PyPI
  • Peut être exécuté comme image Docker
  • Docker Compose peut également être utilisé
    • sudo docker compose up -d
    • Le port de binding peut être modifié avec la variable d’environnement FREETAR_PORT
  • Au lieu de récupérer l’image depuis Docker Hub, il est possible de builder le dépôt local et de l’exécuter
    • docker compose build
    • docker compose up -d

Environnement de développement et travaux à venir

  • L’environnement de développement nécessite uv
  • Exemples d’exécution en développement : FREETAR_CACHE_TIMEOUT=1 uv run freetar/backend.py ou FREETAR_CACHE_TIMEOUT=1 uv run freetar
  • Les fichiers statiques se trouvent dans freetar/static/*, les templates HTML dans freetar/templates/*
  • Les travaux à venir incluent les éléments suivants
    • Amélioration de l’UX sur appareils mobiles
    • Packaging Progressive Web App, indiqué comme PGA
    • Stockage des favs avec chiffrement côté serveur
    • Affichage de QR codes pour partager rapidement des tablatures
  • Certains éléments sont déjà terminés
  • Les contributions sont possibles, mais il est recommandé de créer d’abord une issue de proposition de fonctionnalité
    • Le projet ne souhaite pas que l’UI ou les fonctionnalités deviennent trop lourdes

1 commentaires

 
GN⁺ 2023-11-30
Commentaires sur Hacker News
  • Plutôt bien, et il existe déjà beaucoup d’outils liés. Je pense qu’ils vont encore davantage verrouiller l’accès aux tabs à l’avenir, donc j’ai aussi créé un outil pour récupérer et sauvegarder les tabs moi-même
    Je suis membre UG Pro à vie, mais ils continuent de dépasser les bornes pour monétiser davantage. Malheureusement, ce domaine a très peu de chances de devenir open source, car les tabs sont généralement sous licence des éditeurs ou au minimum des artistes. Oliver Tree a été un cas étrange : il a fait retirer la plupart des tabs alors que ses morceaux se résument parfois à quatre accords. Quand on pense que n’importe qui peut écouter une chanson et en écrire la tablature, l’état actuel de ce domaine est assez insatisfaisant

    • Il faudra sans doute longtemps avant qu’un projet open source ne se heurte à cette limite, surtout si les tabs sont distribuées de manière à la Soulseek
      Je me demande si quelqu’un a déjà tenté l’argument du fair use à des fins pédagogiques. Les tabs ressemblent davantage à des indications sur la meilleure façon de jouer un morceau qu’à une véritable œuvre créative, et comme elles n’incluent pas d’information rythmique, il est généralement impossible de reconstituer la musique réelle à partir de la seule tablature. Les accords contiennent encore moins d’information, au point qu’une grille d’accords pour guitare peut ne ressembler en rien aux notes réellement jouées sur l’enregistrement
    • Dommage pour l’histoire d’Oliver Tree. J’aimais bien le personnage, mais je ne savais pas qu’il prenait sa musique à ce point au sérieux. Je pensais que c’était volontairement simpliste, presque au point de l’autoparodie
    • C’est de la microéconomie à l’état pur. Le produit n’est pas optimisé pour les utilisateurs, c’est un outil pour leur soutirer de l’argent
      À mon avis, ils vont continuer à pousser jusqu’au point où les utilisateurs sont à peine satisfaits, voire un peu moins
    • Donc les artistes ou les éditeurs posséderaient toutes les tabs créées à partir de leurs morceaux ? Je me demande sur quelle base ça tient juridiquement
    • Il existe aussi des endroits où circulent largement des copies gratuites de contenus sous licence. Bien sûr, je ne saurais rien de ce genre d’endroits, mais je suis sûr qu’ils fournissent une force assez utile contre le capitalisme
  • J’utilise Ultimate Guitar depuis le début des années 2000, et quelques tabs que j’ai faites sont encore là. Quand on y retourne aujourd’hui, c’est vraiment tragique. Le site est devenu un tel bazar que je compte bien essayer cet outil

    • Parmi les choses de cette époque, les seules qui ne se sont pas franchement dégradées sont celles qui sont restées telles quelles, comme Craigslist
      Si l’internet de l’époque était si beau, c’est en partie parce qu’il y avait beaucoup d’endroits où la monétisation était difficile, ou simplement pas poursuivie, donc les choses pouvaient juste exister. Ce n’est plus le cas aujourd’hui
    • C’est vraiment triste de voir un travail offert gratuitement à une communauté servir ensuite à exploiter ces mêmes personnes
    • Pareil pour moi. Je me suis fait beaucoup d’amis en ligne sur les forums, et au début et au milieu des années 2000, c’était mon repaire en ligne
      Je garde aussi un bon souvenir du canal IRC où on traînait. Il doit encore y avoir une ou deux tabs que j’y ai postées. À chaque fois que j’y retourne de temps en temps ces dernières années, ça finit par me faire reprendre mes distances
    • Paix à l’âme de mxtabs. Cela dit, grâce à UG, j’ai appris à relever à l’oreille
  • Alléluia. J’échappe à une partie du marketing parce que j’avais acheté l’app à l’époque et obtenu un abonnement à vie, mais leur UI délirante rend souvent le fait de jouer de la guitare plus difficile que nécessaire

  • Je me souviens d’OLGA, c’est-à-dire On-Line Guitar Archive. Quand j’apprenais la guitare à l’adolescence dans les années 1990, OLGA contenait suffisamment de tabs textuelles créées par les utilisateurs pour que je puisse apprendre gratuitement tous les morceaux que j’avais entendus ou que je voulais jouer

    • Le contenu principal d’Ultimate Guitar vient de OLGA, ce qui rend cette enshittification particulièrement absurde
  • Vraiment excellent. J’apprends la guitare depuis environ 15 mois, et je détestais tellement les pubs et pop-ups de la plupart des sites de guitare. Ici, c’est une interface simple qui fait ce qu’il faut sans me faire perdre de temps, donc c’est parfait

    • @kmille comme il n’y avait pas de tri des tableaux, j’ai repris du code de Stack Overflow et ouvert une pull request
      Ça ne correspond peut-être pas aux conventions du code existant puisque ça n’utilise pas jQuery, mais ce serait super si tu pouvais la fusionner et la déployer pour ajouter cette fonction de tri. Merci encore d’avoir eu l’idée et de l’avoir réalisée
  • Excellent. Le site d’origine est devenu assez hostile à ses utilisateurs au fil des années, et c’est d’autant plus difficile à accepter que la majeure partie du contenu qui fait son identité a été contribuée par les utilisateurs

  • Il y a deux choses. D’abord, c’est vraiment excellent. J’ai cherché les tabs que j’avais ajoutées au site, et elles sont très bien affichées. Le plus important, c’est qu’elles apparaissent dans un format agréable à imprimer
    Ensuite, si vous jouez de la guitare classique ou que ça vous intéresse, ça vaut aussi le coup de jeter un œil au joyau du web qu’est https://www.classtab.org/

  • J’ai créé une web app similaire il y a quelques années. À mon avis, elle concurrence assez bien cet outil. Il y a aussi la coloration syntaxique :)
    https://tabviewer.app/

    • Sympa. Je me demande si c’est open source. Personnellement, la seule chose qui me manque, c’est un visualiseur d’accords
    • En lien : https://github.com/tablature-viewer/tablature-viewer.github....
      À propos du commentaire voisin et de la mention « cliquer pour voir le dépôt », à moins qu’on ne reconnaisse désormais officiellement "license":"ISC" dans le package.json comme une licence juridiquement valable, le dépôt n’a pas de licence
  • J’ai acheté un abonnement Pro d’un an, puis j’ai demandé un remboursement 24 heures plus tard en y laissant des plumes. C’était parce que je m’étais inscrit avec un code promo non remboursable
    L’app ne fonctionne tout simplement pas correctement. Les playlists ne chargent pas réellement le morceau suivant au moment où on l’attend, ouvrir une partition prend beaucoup trop de temps, et pour chaque morceau de la playlist il faut de nouveau passer sur “chords”, ce qui rallonge encore le chargement. Rien qu’en arrêtant de charger des choses dont je n’ai absolument pas besoin, ils gagneraient énormément de temps. En plus, il est impossible de synchroniser manuellement des morceaux pour un usage hors ligne : après les avoir ajoutés aux favoris, on reste dépendant de leur propre calendrier de synchronisation

  • J’ai créé un outil en ligne de commande pour ça : https://codeberg.org/ltworf/ultimateultimateguitar