Freetar, giao diện thay thế cho ultimate-guitar.com
(github.com/kmille)- Freetar là giao diện thay thế mã nguồn mở cho Ultimate Guitar, làm cho tab và hợp âm Ultimate Guitar điều mà Invidious làm cho YouTube
- Cung cấp thiết kế đơn giản không có quảng cáo, popup, AI hay blockchain, tập trung vào chức năng tìm kiếm và xem tab
- Các hợp âm yêu thích được lưu trong session storage mà không cần tài khoản và không được gửi lên máy chủ; có chế độ tối, tự động cuộn, chế độ xem hợp âm để in và tính năng ngăn màn hình tắt dựa trên WakeLock API
- Sau khi cài đặt, chạy tệp thực thi
freetarkhông kèm tham số sẽ hoạt động tại0.0.0.0:22000, và có thể điều chỉnh cách chạy bằng các biến môi trườngFREETAR_HOST,FREETAR_PORT,FREETAR_CACHE_TIMEOUT - Công việc sắp tới bao gồm cải thiện UX trên di động, đóng gói PWA, lưu mục yêu thích bằng mã hóa phía máy chủ và hiển thị mã QR để chia sẻ tab; khuyến nghị đề xuất issue trước khi thêm tính năng
Freetar làm gì
- Freetar là giao diện thay thế mã nguồn mở cho Ultimate Guitar
- Vai trò của nó tương tự Invidious, nhưng đối tượng không phải YouTube mà là Ultimate Guitar
- Các instance công khai gồm:
Tính năng cung cấp
- Cung cấp thiết kế đơn giản không có quảng cáo, popup, AI hay blockchain
- Có thể tìm kiếm và xem tab
- Có thể lưu các hợp âm yêu thích thành favs
- Mọi dữ liệu được lưu trong session storage
- Không được gửi lên máy chủ
- Không cần tài khoản
- Hỗ trợ chế độ tối
- Hỗ trợ tự động cuộn
- Hữu ích cho việc in hợp âm
- Có thể hiển thị hợp âm
- Dùng WakeLock API để ngăn màn hình tắt
Cài đặt và chạy
- Khi cài đặt thành công, sẽ có tệp thực thi
freetartrongPATH - Chạy không kèm tham số sẽ lắng nghe tại
0.0.0.0:22000 - Có thể thay đổi host và port bằng biến môi trường
FREETAR_HOSTFREETAR_PORTFREETAR_CACHE_TIMEOUT: chỉ định thời gian cache tab trong bộ nhớ để giảm số yêu cầu tới Ultimate Guitar- Giá trị mặc định là
0 - Mặc định hoạt động như cache vô hạn
- Giá trị mặc định là
Cách triển khai
- Có thể cài dưới dạng gói PyPI
- Package: https://pypi.org/project/freetar/
- Lệnh cài đặt:
pip install freetar
- Có thể chạy bằng image Docker
- Image: https://hub.docker.com/r/kmille2/freetar
- Cổng mặc định là
22000 - Ví dụ chạy:
sudo docker run -p 127.0.0.1:22000:22000 kmille2/freetar
- Cũng có thể dùng Docker Compose
sudo docker compose up -d- Có thể đổi cổng bind bằng biến môi trường
FREETAR_PORT
- Thay vì lấy image từ Docker Hub, có thể build kho cục bộ rồi chạy
docker compose builddocker compose up -d
Môi trường phát triển và công việc sắp tới
- Môi trường phát triển cần uv
- Ví dụ chạy khi phát triển là
FREETAR_CACHE_TIMEOUT=1 uv run freetar/backend.pyhoặcFREETAR_CACHE_TIMEOUT=1 uv run freetar - Tệp tĩnh nằm tại
freetar/static/*, template HTML nằm tạifreetar/templates/* - Công việc sắp tới gồm:
- Cải thiện UX trên thiết bị di động
- Đóng gói Progressive Web App được ghi là PGA
- Lưu favs bằng phương thức mã hóa phía máy chủ
- Hiển thị mã QR để chia sẻ tab nhanh
- Cũng có các mục đã hoàn thành
- Chia sẻ hợp âm bằng mã QR đã hoàn thành dưới dạng chức năng export/import ở #12
- Tiện ích mở rộng trình duyệt kiểu Invidious Redirection đã được hoàn thành trong issue của tiện ích mở rộng trình duyệt LibRedirect
- Có thể đóng góp, nhưng khuyến nghị nên tạo issue đề xuất tính năng trước
- Không muốn UI hay tính năng trở nên cồng kềnh
1 bình luận
Ý kiến trên Hacker News
Khá ổn, và đã có nhiều công cụ liên quan. Tôi nghĩ họ sẽ tiếp tục khóa chặt hơn việc truy cập tab, nên tôi cũng đã tự làm sẵn một công cụ scrape và lưu tab
Tôi là thành viên UG Pro trọn đời, nhưng họ cứ liên tục vượt lằn ranh để kiếm tiền nhiều hơn. Đáng tiếc là trong lĩnh vực này gần như không có đường đi theo hướng mã nguồn mở, vì tab thường do nhà xuất bản hoặc ít nhất là nghệ sĩ nắm giấy phép. Oliver Tree từng là một trường hợp kỳ lạ khi buộc gỡ phần lớn tab, dù mỗi bài chỉ ở mức khoảng 4 hợp âm. Nghĩ đến việc ai cũng có thể nghe một bài hát rồi chép tab, tình trạng hiện nay của lĩnh vực này khá gây bực bội
Tôi tự hỏi đã có ai thử lập luận về sử dụng hợp lý cho mục đích giáo dục chưa. Tab giống chỉ dẫn về cách chơi một bài nhạc sao cho tốt nhất hơn là một tác phẩm sáng tạo thực sự, và do không có thông tin về nhịp nên thường không thể khôi phục bản nhạc thực tế chỉ từ tab. Hợp âm còn chứa ít thông tin hơn nữa, đến mức bản chép hợp âm guitar có thể chẳng giống chút nào với các nốt thực sự được chơi trong bản thu
Tôi nghĩ họ sẽ tiếp tục đẩy tới mức người dùng vừa đủ hài lòng, hoặc thậm chí hơi dưới mức đó
Tôi đã dùng Ultimate Guitar từ đầu những năm 2000, và vài tab tôi tạo vẫn còn ở đó. Giờ vào lại thì đúng là bi kịch. Trang web tệ kinh khủng, nên tôi chắc chắn sẽ thử công cụ này
Internet thời đó đẹp vì có nhiều ngóc ngách mà việc kiếm tiền không dễ hoặc không được cố theo đuổi, nên nhiều thứ có thể đơn giản là tồn tại. Giờ thì không còn như vậy
Tôi cũng nhớ rất vui kênh IRC nơi chúng tôi tụ tập. Chắc vẫn còn một hai tab tôi đăng trên trang đó. Vài năm gần đây thỉnh thoảng tôi quay lại xem, lần nào cuối cùng cũng lại rời xa
Hallelujah. Trước đây tôi đã mua ứng dụng nên được chuyển sang gói trọn đời, nhờ vậy tránh được một phần marketing, nhưng cái UI điên rồ của họ nhiều lúc khiến việc chơi guitar còn khó hơn
Tôi nhớ OLGA, tức On-Line Guitar Archive. Khi còn là thiếu niên học guitar những năm 1990, OLGA có đủ tab dạng văn bản do người dùng tạo để tôi có thể học miễn phí mọi bài tôi từng nghe hoặc muốn chơi
Thực sự tuyệt vời. Tôi học guitar được khoảng 15 tháng, và rất ghét quảng cáo cùng popup trên hầu hết các trang guitar. Công cụ này hoàn hảo vì có giao diện đơn giản, làm đúng việc cần làm và không làm phí thời gian
Do không dùng jQuery nên có thể không khớp với quy ước mã hiện tại, nhưng nếu bạn merge và triển khai thì sẽ có tính năng sắp xếp, rất tốt. Cảm ơn lần nữa vì đã nghĩ ra và làm ra nó
Rất hay. Trang gốc trong nhiều năm đã trở nên khá thù địch với người dùng, đặc biệt càng khó chấp nhận hơn khi phần lớn nội dung làm nên bản sắc của trang lại do người dùng đóng góp
Có hai điều. Thứ nhất, thật sự tuyệt vời. Tôi đã tìm thử các tab mình từng thêm vào trang và nó hiển thị rất tốt. Quan trọng nhất là nó hiển thị ở định dạng thân thiện để in
Thứ hai, nếu bạn chơi hoặc quan tâm đến guitar cổ điển, cũng nên xem viên ngọc trên Internet này: https://www.classtab.org/
Vài năm trước tôi đã làm một web app tương tự. Tôi nghĩ nó cạnh tranh khá tốt với công cụ này. Cũng có tô sáng cú pháp nữa :)
https://tabviewer.app/
Nói về bình luận anh em và mô tả “nhấp để xem kho lưu trữ”, trừ khi giờ đây
"license":"ISC"trong package.json được chính thức công nhận là giấy phép có hiệu lực pháp lý, còn không thì kho lưu trữ này không có giấy phépTôi mua gói Pro một năm rồi hoàn tiền sau 24 giờ và chịu lỗ, vì đã đăng ký bằng mã khuyến mãi không hoàn tiền
Ứng dụng đơn giản là không hoạt động đúng. Playlist không thực sự tải bài tiếp theo vào thời điểm mong đợi, mở một bản nhạc mất quá lâu, và với mỗi bài trong playlist lại phải chuyển sang “chords” nên càng tải lâu hơn. Chỉ cần đừng tải những thứ tôi hoàn toàn không cần là đã tiết kiệm được rất nhiều thời gian. Hơn nữa cũng không thể đồng bộ bài thủ công để dùng offline; sau khi thêm vào yêu thích thì phải phụ thuộc vào lịch đồng bộ của họ
Tôi đã làm công cụ dòng lệnh cho việc này: https://codeberg.org/ltworf/ultimateultimateguitar