2 Punkte von GN⁺ 2023-11-30 | 1 Kommentare | Auf WhatsApp teilen
  • Freetar ist ein Open-Source-Alternativ-Frontend für Ultimate Guitar und übernimmt für Ultimate-Guitar-Tabs und -Akkorde die Rolle, die Invidious für YouTube spielt
  • Es bietet ein schlichtes Design ohne Werbung, Pop-ups, AI und Blockchain und ist auf die Suche und Anzeige von Tabs ausgerichtet
  • Als Favoriten gespeicherte Akkorde werden ohne Konto im session storage abgelegt und nicht an den Server übertragen; außerdem gibt es Dark Mode, automatisches Scrollen, eine Akkordansicht zum Drucken und eine auf der WakeLock API basierende Funktion gegen das Abschalten des Bildschirms
  • Nach der Installation läuft die Anwendung beim Aufruf der ausführbaren Datei freetar ohne Parameter unter 0.0.0.0:22000; das Laufzeitverhalten lässt sich über die Umgebungsvariablen FREETAR_HOST, FREETAR_PORT und FREETAR_CACHE_TIMEOUT anpassen
  • Zu den künftigen Arbeiten gehören eine bessere mobile UX, PWA-Paketierung, serverseitig verschlüssertes Speichern von Favoriten und die Anzeige von QR-Codes zum Teilen von Tabs; vor dem Hinzufügen neuer Funktionen wird empfohlen, zunächst ein Issue mit dem Vorschlag zu erstellen

Was Freetar macht

Funktionen

  • Bietet ein schlichtes Design ohne Werbung, Pop-ups, AI und Blockchain
  • Tabs können gesucht und angezeigt werden
  • Lieblingsakkorde können als favs gespeichert werden
    • Alle Daten werden im session storage gespeichert
    • Sie werden nicht an den Server übertragen
    • Es ist kein Konto erforderlich
  • Unterstützt Dark Mode
  • Unterstützt automatisches Scrollen
  • Praktisch zum Drucken von Akkorden
  • Akkorde können angezeigt werden
  • Verhindert mit der WakeLock API, dass sich der Bildschirm abschaltet

Installation und Ausführung

  • Nach erfolgreicher Installation gibt es die ausführbare Datei freetar im PATH
  • Ohne Parameter lauscht sie auf 0.0.0.0:22000
  • Host und Port können per Umgebungsvariablen geändert werden
    • FREETAR_HOST
    • FREETAR_PORT
    • FREETAR_CACHE_TIMEOUT: Legt fest, wie lange Tabs im Speicher gecacht werden, um die Anzahl der Anfragen an Ultimate Guitar zu verringern
      • Der Standardwert ist 0
      • Der Standardwert bedeutet unendliches Caching

Bereitstellungsarten

  • Kann als PyPI-Paket installiert werden
  • Kann als Docker-Image ausgeführt werden
  • Docker Compose kann ebenfalls verwendet werden
    • sudo docker compose up -d
    • Der Bind-Port kann über die Umgebungsvariable FREETAR_PORT geändert werden
  • Statt das Image von Docker Hub zu beziehen, kann das lokale Repository gebaut und ausgeführt werden
    • docker compose build
    • docker compose up -d

Entwicklungsumgebung und künftige Arbeiten

  • Für die Entwicklungsumgebung wird uv benötigt
  • Beispiele für den Entwicklungsstart sind FREETAR_CACHE_TIMEOUT=1 uv run freetar/backend.py oder FREETAR_CACHE_TIMEOUT=1 uv run freetar
  • Statische Dateien befinden sich unter freetar/static/*, HTML-Templates unter freetar/templates/*
  • Zu den künftigen Arbeiten gehören:
    • UX-Verbesserungen auf mobilen Geräten
    • PWA-Paketierung, im Text als PGA bezeichnet
    • Serverseitig verschlüsseltes Speichern von favs
    • Anzeige von QR-Codes zum schnellen Teilen von Tabs
  • Es gibt auch bereits abgeschlossene Punkte
    • QR-codebasiertes Teilen von Akkorden wurde mit der Export/Import-Funktion in #12 abgeschlossen
    • Browser-Erweiterungen wie Invidious Redirection wurden im LibRedirect browser extension issue abgeschlossen
  • Beiträge sind möglich, empfohlen wird jedoch, zuerst ein Issue für einen Funktionsvorschlag zu erstellen
    • Es ist nicht gewünscht, dass die UI oder der Funktionsumfang aufgebläht werden

1 Kommentare

 
GN⁺ 2023-11-30
Meinungen auf Hacker News
  • Ziemlich gut, und es gibt bereits viele verwandte Tools. Ich gehe davon aus, dass der Zugriff auf Tabs künftig weiter eingeschränkt wird, deshalb habe ich mir auch ein Tool zum Scrapen und Speichern von Tabs gebaut.
    Ich bin lebenslanges UG-Pro-Mitglied, aber sie überschreiten immer weiter Grenzen, um noch mehr zu monetarisieren. In diesem Bereich gibt es leider kaum einen Weg Richtung Open Source, weil Tabs normalerweise von Verlagen oder zumindest den Künstlern lizenziert werden. Oliver Tree war ein merkwürdiger Fall: Obwohl seine Songs ungefähr vier Akkorde pro Stück haben, ließ er zeitweise die meisten Tabs entfernen. Wenn man bedenkt, dass jeder einen Song anhören und einen Tab aufschreiben kann, ist der aktuelle Zustand in diesem Bereich ziemlich unbefriedigend.

    • Es dürfte ziemlich lange dauern, bis ein Open-Source-Projekt an diese Grenze stößt. Besonders dann, wenn Tabs nach Art von Soulseek verteilt würden.
      Ich frage mich, ob schon einmal jemand mit Fair Use für Bildungszwecke argumentiert hat. Tabs sind weniger ein eigentliches schöpferisches Werk als vielmehr Anleitungen dazu, wie man einen bestimmten Song am besten spielt, und weil Taktinformationen fehlen, lässt sich die eigentliche Musik aus Tabs allein meist nicht rekonstruieren. Akkorde enthalten noch weniger Informationen, sodass eine Gitarrenakkord-Transkription den in der Aufnahme tatsächlich gespielten Tönen überhaupt nicht ähneln muss.
    • Das mit Oliver Tree ist schade. Ich mochte diese Figur, wusste aber nicht, dass er die Musik so ernst nimmt. Ich dachte, sie sei absichtlich fast schon spöttisch simpel gemacht.
    • Das ist Mikroökonomie pur. Das Produkt ist nicht für die Nutzer optimiert, sondern ein Werkzeug, um Geld abzuschöpfen.
      Ich denke, sie werden so lange weitergehen, bis die Nutzer gerade noch zufrieden sind oder sogar ein kleines Stück darunter.
    • Heißt das, Künstler oder Verlage besitzen alle Tabs, die zu ihren Songs erstellt wurden? Ich frage mich, wie das funktionieren soll.
    • Es gibt auch Orte, an denen kostenlose Kopien lizenzierter Inhalte weit verbreitet sind. Natürlich weiß ich nichts über solche Orte, bin mir aber sicher, dass sie eine ziemlich nützliche Kraft gegen den Kapitalismus darstellen würden.
  • Ich nutze Ultimate Guitar seit den frühen 2000ern, und ein paar Tabs, die ich erstellt habe, sind immer noch dort. Wenn man die Seite heute besucht, ist es wirklich tragisch. Die Website ist ein Chaos, deshalb werde ich dieses Tool auf jeden Fall ausprobieren.

    • Von den Dingen aus jener Zeit sind nur die erhalten geblieben, die sich nicht offensichtlich verschlechtert haben, etwa Craigslist.
      Das Internet war damals schön, weil es viele Ecken gab, in denen Monetarisierung nicht einfach war oder gar nicht erst angestrebt wurde, sodass Dinge einfach existieren konnten. Heute ist das nicht mehr so.
    • Es ist wirklich traurig zu sehen, wie Arbeit, die man einer Community kostenlos gegeben hat, dazu benutzt wird, diese Menschen auszubeuten.
    • Bei mir war es genauso. Ich habe in den Foren viele Online-Freunde gefunden, und Anfang bis Mitte der 2000er war das mein Online-Zuhause.
      Auch an den IRC-Channel, in dem wir zusammen abgehangen haben, erinnere ich mich gern. Auf der Seite dürfte noch der eine oder andere Tab von mir sein. In den letzten Jahren habe ich gelegentlich wieder hineingeschaut, aber am Ende entferne ich mich jedes Mal wieder davon.
    • Möge mxtabs in Frieden ruhen. Immerhin hat UG mich dazu gebracht, nach Gehör zu transkribieren.
  • Halleluja. Weil ich früher die App gekauft habe und dadurch ein lebenslanges Abo übernommen bekam, kann ich einem Teil des Marketings entgehen, aber wegen der wahnsinnigen UI wird Gitarrespielen oft schwieriger.

  • Ich erinnere mich an OLGA, das On-Line Guitar Archive. Als ich in den 1990ern als Teenager Gitarre lernte, gab es auf OLGA genug von Nutzern erstellte textbasierte Tabs, dass ich jeden Song, den ich gehört hatte oder spielen wollte, kostenlos lernen konnte.

    • Der Kerninhalt von Ultimate Guitar stammt von OLGA, daher wirkt diese Enshittification besonders absurd.
  • Wirklich großartig. Ich lerne seit etwa 15 Monaten Gitarre, und die Werbung und Popups auf den meisten Gitarrenseiten haben mich sehr genervt. Das hier ist perfekt: ein einfaches Interface, das das Nötige erledigt und keine Zeit verschwendet.

    • @kmille Weil die Tabellensortierung fehlte, habe ich Code von Stack Overflow übernommen und einen Pull Request erstellt.
      Da er kein jQuery verwendet, passt er vielleicht nicht zu den bestehenden Code-Konventionen, aber wenn du ihn mergen und deployen würdest, gäbe es eine Sortierfunktion, was schön wäre. Nochmals danke für die Idee und die Umsetzung.
  • Großartig. Die ursprüngliche Website ist über die Jahre ziemlich nutzerfeindlich geworden, was besonders schwer zu akzeptieren ist, weil die meisten Inhalte, die die Identität der Seite ausmachen, von Nutzern beigetragen wurden.

  • Zwei Dinge. Erstens: wirklich großartig. Ich habe nach einem Tab gesucht, den ich der Seite hinzugefügt hatte, und er wird sehr gut angezeigt. Vor allem zeigt es ihn in einem druckfreundlichen Format an.
    Zweitens: Wenn ihr klassische Gitarre spielt oder euch dafür interessiert, lohnt sich auch ein Blick auf dieses Juwel des Internets: https://www.classtab.org/

  • Vor ein paar Jahren habe ich eine ähnliche Web-App gebaut. Ich denke, sie kann mit diesem Tool ziemlich gut mithalten. Sie hat auch Syntax-Highlighting :)
    https://tabviewer.app/

    • Schön. Ich frage mich, ob sie Open Source ist. Persönlich fehlt mir nur ein Akkord-Viewer.
    • Verwandt: https://github.com/tablature-viewer/tablature-viewer.github....
      Zu dem Geschwisterkommentar und der Beschreibung „Klicken, um das Repository anzusehen“: Wenn wir "license":"ISC" in package.json inzwischen nicht offiziell als rechtlich wirksame Lizenz anerkennen, hat das Repository keine Lizenz.
  • Ich habe ein Pro-Jahresabo gekauft und es 24 Stunden später mit Verlust erstattet bekommen, weil ich mich mit einem nicht erstattbaren Promo-Code angemeldet hatte.
    Die App funktioniert einfach nicht richtig. Playlists laden den nächsten Song nicht wirklich zu dem Zeitpunkt, zu dem man es erwartet; das Öffnen eines einzelnen Notenblatts dauert viel zu lange; und bei jedem Song in der Playlist muss man wieder zu „chords“ wechseln, was das Laden noch weiter verlängert. Sie könnten mir unglaublich viel Zeit sparen, wenn sie einfach die Dinge nicht laden würden, die ich überhaupt nicht brauche. Außerdem kann man Songs für die Offline-Nutzung nicht manuell synchronisieren; nachdem man sie favorisiert hat, ist man ihrem Synchronisationsplan ausgeliefert.

  • Ich habe dafür ein Kommandozeilen-Tool gebaut: https://codeberg.org/ltworf/ultimateultimateguitar