- 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
freetarohne Parameter unter0.0.0.0:22000; das Laufzeitverhalten lässt sich über die UmgebungsvariablenFREETAR_HOST,FREETAR_PORTundFREETAR_CACHE_TIMEOUTanpassen - 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
- Freetar ist ein Open-Source-Alternativ-Frontend für Ultimate Guitar
- Die Rolle ist ähnlich wie bei Invidious, nur dass das Ziel nicht YouTube, sondern Ultimate Guitar ist
- Öffentliche Instanzen sind:
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
freetarimPATH - Ohne Parameter lauscht sie auf
0.0.0.0:22000 - Host und Port können per Umgebungsvariablen geändert werden
FREETAR_HOSTFREETAR_PORTFREETAR_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
- Der Standardwert ist
Bereitstellungsarten
- Kann als PyPI-Paket installiert werden
- Package: https://pypi.org/project/freetar/
- Installationsbefehl:
pip install freetar
- Kann als Docker-Image ausgeführt werden
- Image: https://hub.docker.com/r/kmille2/freetar
- Der Standardport ist
22000 - Ein Ausführungsbeispiel ist
sudo docker run -p 127.0.0.1:22000:22000 kmille2/freetar
- Docker Compose kann ebenfalls verwendet werden
sudo docker compose up -d- Der Bind-Port kann über die Umgebungsvariable
FREETAR_PORTgeändert werden
- Statt das Image von Docker Hub zu beziehen, kann das lokale Repository gebaut und ausgeführt werden
docker compose builddocker 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.pyoderFREETAR_CACHE_TIMEOUT=1 uv run freetar - Statische Dateien befinden sich unter
freetar/static/*, HTML-Templates unterfreetar/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
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.
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.
Ich denke, sie werden so lange weitergehen, bis die Nutzer gerade noch zufrieden sind oder sogar ein kleines Stück darunter.
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.
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.
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.
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.
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.
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/
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