- Freetar es un frontend alternativo de código abierto para Ultimate Guitar, que cumple para las tabs y acordes de Ultimate Guitar el mismo rol que Invidious cumple para YouTube
- Ofrece un diseño simple sin anuncios, pop-ups, IA ni blockchain, y está centrado en funciones de búsqueda y visualización de tabs
- Los acordes favoritos se guardan en session storage sin necesidad de cuenta, no se envían al servidor, y cuenta con modo oscuro, desplazamiento automático, vista de acordes para impresión y una función para evitar que la pantalla se apague basada en la WakeLock API
- Tras la instalación, si se ejecuta el binario
freetarsin parámetros, funciona en0.0.0.0:22000, y el comportamiento de ejecución se ajusta con las variables de entornoFREETAR_HOST,FREETAR_PORTyFREETAR_CACHE_TIMEOUT - Entre los trabajos futuros se incluyen mejoras de UX móvil, empaquetado como PWA, guardado de favoritos cifrados del lado del servidor y visualización de códigos QR para compartir tabs; se recomienda proponer un issue antes de agregar funciones
Qué hace Freetar
- Freetar es un frontend alternativo de código abierto para Ultimate Guitar
- Su función es similar a la de Invidious, pero el objetivo no es YouTube sino Ultimate Guitar
- Las instancias públicas son las siguientes
Funciones que ofrece
- Ofrece un diseño simple sin anuncios, pop-ups, IA ni blockchain
- Permite buscar y ver tabs
- Puedes guardar tus acordes favoritos como favs
- Todos los datos se guardan en session storage
- No se envían al servidor
- No se necesita cuenta
- Soporta modo oscuro
- Soporta desplazamiento automático
- Es útil para imprimir acordes
- Puede mostrar acordes
- Usa la WakeLock API para evitar que la pantalla se apague
Instalación y ejecución
- Si la instalación se completa con éxito, se crea el ejecutable
freetaren elPATH - Si se ejecuta sin parámetros, escucha en
0.0.0.0:22000 - Puedes cambiar el host y el puerto mediante variables de entorno
FREETAR_HOSTFREETAR_PORTFREETAR_CACHE_TIMEOUT: especifica cuánto tiempo se cachean las tabs en memoria para reducir las solicitudes a Ultimate Guitar- El valor predeterminado es
0 - El valor predeterminado funciona como caché infinita
- El valor predeterminado es
Forma de despliegue
- Se puede instalar como paquete de PyPI
- Package: https://pypi.org/project/freetar/
- Comando de instalación:
pip install freetar
- Se puede ejecutar como imagen de Docker
- Image: https://hub.docker.com/r/kmille2/freetar
- El puerto predeterminado es
22000 - Un ejemplo de ejecución es
sudo docker run -p 127.0.0.1:22000:22000 kmille2/freetar
- También se puede usar Docker Compose
sudo docker compose up -d- Puedes cambiar el puerto de enlace con la variable de entorno
FREETAR_PORT
- En lugar de descargar la imagen desde Docker Hub, puedes compilar el repositorio local y ejecutarlo
docker compose builddocker compose up -d
Entorno de desarrollo y trabajo futuro
- El entorno de desarrollo requiere uv
- Ejemplos de ejecución en desarrollo:
FREETAR_CACHE_TIMEOUT=1 uv run freetar/backend.pyoFREETAR_CACHE_TIMEOUT=1 uv run freetar - Los archivos estáticos están en
freetar/static/*y las plantillas HTML enfreetar/templates/* - El trabajo futuro incluye lo siguiente
- Mejoras de UX en dispositivos móviles
- Empaquetado como Progressive Web App, indicado como PGA
- Guardado de favs con cifrado del lado del servidor
- Visualización de códigos QR para compartir tabs rápidamente
- También hay elementos ya completados
- El uso compartido de acordes mediante código QR se completó con la función export/import de #12
- Las extensiones de navegador tipo Invidious Redirection se completaron en el issue de la extensión de navegador LibRedirect
- Se aceptan contribuciones, pero se recomienda primero crear un issue de propuesta de función
- No se busca que la UI o las funciones se vuelvan demasiado pesadas
1 comentarios
Opiniones de Hacker News
Bastante bueno, y ya hay muchas herramientas relacionadas. Creo que en el futuro van a restringir aún más el acceso a las tabs, así que también hice mi propia herramienta para scrapear y guardar tabs
Soy miembro de UG Pro de por vida, pero siguen cruzando límites para monetizar más. Lamentablemente, en este ámbito casi no hay camino hacia el open source, porque las tabs suelen estar licenciadas por editoriales o, como mínimo, por los artistas. Oliver Tree fue un caso raro: llegó a hacer que bajaran la mayoría de las tabs, aunque sus canciones tienen como cuatro acordes cada una. Considerando que cualquiera puede escuchar una canción y anotar la tab, el estado actual de este campo resulta bastante frustrante
Me pregunto si alguien habrá intentado argumentar uso justo con fines educativos. Las tabs se parecen más a instrucciones sobre cómo tocar mejor una canción que a una obra creativa en sí, y como no tienen información de ritmo, por lo general es imposible reconstruir la música real solo con la tab. Los acordes contienen aún menos información, al punto de que una transcripción de acordes para guitarra puede no parecerse en nada a las notas que realmente se tocaron en la grabación
Creo que van a seguir empujando hasta el punto en que los usuarios apenas estén satisfechos, o un poco por debajo
Uso Ultimate Guitar desde principios de los 2000, y todavía quedan algunas tabs que hice. Entrar hoy es realmente trágico. El sitio es un desastre, así que definitivamente voy a probar esta herramienta
La razón por la que internet era hermoso entonces es que había muchos rincones donde monetizar no era fácil o directamente no se buscaba, así que muchas cosas podían simplemente existir. Ahora ya no es así
También recuerdo con cariño el canal de IRC donde nos juntábamos. Debe haber una o dos tabs mías en el sitio. Cada vez que he vuelto a entrar ocasionalmente en los últimos años, termino alejándome otra vez
Aleluya. Como compré la app hace tiempo y heredé una suscripción de por vida, puedo evitar parte del marketing, pero la UI demencial muchas veces hace que tocar la guitarra sea más difícil
Recuerdo OLGA, el On-Line Guitar Archive. Cuando estaba aprendiendo guitarra de adolescente en los años 90, OLGA tenía suficientes tabs en texto hechas por usuarios como para que pudiera aprender gratis prácticamente cualquier canción que hubiera escuchado o quisiera tocar
Realmente excelente. Llevo unos 15 meses aprendiendo guitarra y detestaba los anuncios y popups de la mayoría de los sitios de guitarra. Esto es perfecto: una interfaz simple que hace lo necesario sin hacerme perder tiempo
Al no usar jQuery, quizá no encaje con las convenciones del código existente, pero si lo fusionan y lo despliegan, estaría bueno tener ordenamiento. Gracias de nuevo por la idea y por haberlo creado
Excelente. El sitio original se volvió bastante hostil hacia el usuario con los años, algo especialmente difícil de aceptar considerando que la mayor parte del contenido que define al sitio fue aportado por usuarios
Dos cosas. Primero, esto es realmente excelente. Busqué una tab que había agregado al sitio y la muestra muy bien. Lo más importante es que la presenta en un formato apto para imprimir
Segundo, si tocas guitarra clásica o te interesa, también vale la pena revisar esta joya de internet: https://www.classtab.org/
Hace unos años hice una web app similar. Creo que compite bastante bien con esta herramienta. También tiene resaltado de sintaxis :)
https://tabviewer.app/
Sobre el comentario hermano y la descripción de “clic para ver el repositorio”: salvo que ahora se reconozca oficialmente
"license":"ISC"en package.json como una licencia legalmente válida, el repositorio no tiene licenciaCompré un año de Pro y pedí reembolso 24 horas después, asumiendo la pérdida. Fue porque me registré usando un código promocional no reembolsable
La app simplemente no funciona bien. Las playlists no cargan realmente la siguiente canción cuando uno espera; abrir una partitura tarda demasiado; y en cada canción de la playlist hay que volver a ir a “chords”, lo que aumenta aún más la carga. Podrían ahorrarme muchísimo tiempo con solo no cargar cosas que no necesito en absoluto. Además, no puedo sincronizar canciones manualmente para usarlas sin conexión: después de marcarlas como favoritas, quedo a merced de su calendario de sincronización
Hice una herramienta de línea de comandos para esto: https://codeberg.org/ltworf/ultimateultimateguitar