2 ポイント 投稿者 GN⁺ 2023-11-30 | 1件のコメント | WhatsAppで共有
  • Freetar は Ultimate Guitar 向けのオープンソース代替フロントエンドで、YouTube に対する Invidious の役割を Ultimate Guitar のタブ譜とコードに適用したもの
  • 広告、ポップアップ、AI、ブロックチェーンなしの シンプルなデザイン を提供し、タブ譜の検索と閲覧機能を中心に構成されている
  • お気に入りのコードはアカウント不要で session storage に保存され、サーバーには送信されず、ダークモード・自動スクロール・印刷向けコード表示・WakeLock API ベースの画面スリープ防止機能がある
  • インストール後、freetar 実行ファイルをパラメータなしで実行すると 0.0.0.0:22000 で動作し、FREETAR_HOSTFREETAR_PORTFREETAR_CACHE_TIMEOUT 環境変数で実行方法を調整できる
  • 今後の作業には、モバイル UX 改善、PWA パッケージ化、サーバー側暗号化によるお気に入り保存、タブ譜共有用 QR コード表示が含まれ、機能追加前に issue 提案を推奨している

Freetar がすること

提供機能

  • 広告、ポップアップ、AI、ブロックチェーンなしの シンプルなデザイン を提供
  • タブ譜を検索して閲覧できる
  • 気に入ったコードを favs として保存できる
    • すべてのデータは session storage に保存される
    • サーバーには送信されない
    • アカウントは不要
  • ダークモード をサポート
  • 自動スクロールをサポート
  • コードの印刷に便利
  • コードを表示できる
  • WakeLock API を使って画面が消灯しないようにする

インストールと実行

  • インストールに成功すると PATHfreetar 実行ファイルが作成される
  • パラメータなしで実行すると 0.0.0.0:22000 で待ち受ける
  • 環境変数でホストとポートを変更できる
    • FREETAR_HOST
    • FREETAR_PORT
    • FREETAR_CACHE_TIMEOUT: タブ譜をメモリにキャッシュする時間を指定し、Ultimate Guitar へのリクエストを減らす
      • デフォルト値は 0
      • デフォルトでは無期限キャッシュとして動作する

配布方法

  • PyPI パッケージとしてインストール可能
  • Docker イメージとして実行可能
  • Docker Compose も利用可能
    • sudo docker compose up -d
    • FREETAR_PORT 環境変数でバインドポートを変更できる
  • Docker Hub からイメージを取得する代わりに、ローカルリポジトリをビルドして実行することもできる
    • docker compose build
    • docker compose up -d

開発環境と今後の作業

  • 開発環境には uv が必要
  • 開発実行例は FREETAR_CACHE_TIMEOUT=1 uv run freetar/backend.py または FREETAR_CACHE_TIMEOUT=1 uv run freetar
  • 静的ファイルは freetar/static/*、HTML テンプレートは freetar/templates/* にある
  • 今後の作業には以下が含まれる
    • モバイル端末での UX 改善
    • PGA と表記された Progressive Web App パッケージ化
    • サーバー側暗号化方式による favs 保存
    • タブ譜を素早く共有するための QR コード表示
  • 完了済みの項目もある
    • QR コードベースのコード共有は #12 の export/import 機能として完了済み
    • Invidious Redirection のようなブラウザー拡張は LibRedirect browser extension イシュー で完了済み
  • 貢献は可能だが、まず機能提案 issue を作る方法を推奨
    • UI や機能が 肥大化すること は望んでいない

1件のコメント

 
GN⁺ 2023-11-30
Hacker News のコメント
  • かなり良いし、関連ツールもすでにたくさんある。今後タブ譜へのアクセスはさらに締め付けられると思って、自分でもタブ譜をスクレイピングして保存するツールを作っておいた
    生涯UG Pro会員だが、さらに収益化しようとして一線を越え続けている。この分野は残念ながらオープンソースで進める余地がほとんどない。タブ譜はたいてい出版社、少なくともアーティストがライセンスを持っているからだ。Oliver Treeは1曲あたりコード4つ程度なのに、一時期ほとんどのタブ譜を削除させたという奇妙な例だった。誰でも曲を聴いてタブ譜を書き起こせることを考えると、この分野の現状にはかなり不満がある

    • オープンソースプロジェクトがこの限界に突き当たるまでには、かなり時間がかかりそうだ。特にタブ譜がSoulseek方式で分散されるならなおさらだと思う
      教育目的のフェアユースを主張した人がいるのか気になる。タブ譜は実際の創作物というより、ある曲をどう演奏するのが最もよいかについての指示に近く、拍子情報がないので、タブ譜だけで実際の音楽を復元するのはたいてい不可能だ。コードは情報量がさらに少なく、ギターコードの採譜が録音で実際に演奏された音とまったく似ていないこともあり得る
    • Oliver Treeの話は残念だね。あのキャラクターは好きだったけど、音楽をそんなに真剣に扱っているとは知らなかった。わざと嘲笑に近いほど単純に作っているのだと思っていた
    • ミクロ経済学そのものだ。製品はユーザーのために最適化されているのではなく、金を搾り取るための道具だ
      ユーザーがかろうじて満足する、あるいはそれを少し下回る水準まで押し続けるのだと思う
    • アーティストや出版社は、自分の曲について作られたすべてのタブ譜を所有するということなのか? それがどう成り立つのか気になる
    • ライセンス付きコンテンツの無料コピーが広く出回っている場所もある。もちろんそういう場所について知っているわけではないが、資本主義に対抗するかなり有用な力を提供してくれるはずだと確信している
  • 2000年代初頭からUltimate Guitarを使っていて、自分が作ったタブ譜もまだいくつか残っている。今見に行くと本当に悲劇的だ。サイトがひどいので、このツールはぜひ試してみるつもりだ

    • あの頃のものの中であからさまに悪くなっていないのは、そのまま残ったものだけだ。たとえばCraigslistのような場所
      当時のインターネットが美しかったのは、収益化が簡単ではなかったり、あえて追求されなかったりした片隅が多く、ただ存在できるものがたくさんあったからだ。今はそうではない
    • コミュニティに無料で提供した成果物が、その人たちを搾取するために使われているのを見るのは本当に悲しい
    • 自分もそうだった。フォーラムでオンラインの友人をたくさん作ったし、2000年代前半から半ばにかけては自分のオンライン上の居場所だった
      一緒にたむろしていたIRCチャンネルも良い思い出だ。サイトには自分が投稿したタブ譜も1つか2つあるはず。ここ数年、たまに戻って見に行くたびに、結局また離れることになる
    • mxtabsの冥福を祈る。それでもUGのおかげで耳コピの仕方を学べたのは良かった
  • ハレルヤ。以前アプリを買って生涯サブスクリプションを引き継げたおかげでマーケティングの一部は避けられるが、狂ったようなUIのせいでギターを弾くのがかえって難しくなることが多い

  • OLGA、つまりOn-Line Guitar Archiveを覚えている。1990年代、10代でギターを学んでいた頃、OLGAにはユーザーが作ったテキストベースのタブ譜が十分にあり、聴いたことのある曲や弾きたい曲はすべて無料で学べた

    • Ultimate Guitarの中核コンテンツはOLGAから来ているので、今回のエンシッティフィケーションは特に馬鹿げて感じる
  • 本当に素晴らしい。ギターを習い始めて約15か月だが、ほとんどのギターサイトにある広告やポップアップが大嫌いだった。これは必要なことをしてくれて、時間を無駄にしないシンプルなインターフェースなので完璧だ

    • @kmille テーブルのソート機能がなかったので、Stack Overflowのコードを持ってきてプルリクエストを作った
      jQueryを使っていないので既存のコード規約に合わないかもしれないが、マージしてデプロイしてくれればソート機能が付いてうれしい。アイデアを出して作ってくれて、あらためてありがとう
  • 素晴らしい。元のサイトは何年にもわたってユーザーにかなり敵対的になってきた。特に、サイトのアイデンティティを形作るコンテンツの大半をユーザーが投稿したことを考えると、なおさら受け入れがたい

  • 2つある。まず、本当に素晴らしい。自分がサイトに追加したタブ譜を探してみたが、とてもきれいに表示してくれる。何より印刷に適した形式で表示してくれるのが重要だ
    次に、クラシックギターを弾く、または興味があるなら、インターネットの宝石のような https://www.classtab.org/ も見てみる価値がある

  • 数年前に似たようなWebアプリを作った。このツールともかなりいい勝負ができると思う。シンタックスハイライトもある :)
    https://tabviewer.app/

    • 良いね。オープンソースなのか気になる。個人的に足りないのはコードビューアだけだ
    • 関連あり: https://github.com/tablature-viewer/tablature-viewer.github....
      兄弟コメントと「リポジトリを見るにはクリック」という説明について言うと、package.jsonの "license":"ISC" を公式に法的効力のあるライセンスとして認めるのでない限り、このリポジトリにはライセンスがない
  • Proの1年契約を買ったが、24時間後に損をして返金してもらった。返金不可のプロモーションコードを使って加入したためだ
    アプリが単にまともに動かない。プレイリストは期待したタイミングで次の曲を実際には読み込まず、譜面を1つ開くのに時間がかかりすぎ、プレイリストの各曲ごとにまた「chords」へ移動しなければならないので読み込みがさらに増える。まったく必要のないものを読み込まないだけでも、ものすごく時間を節約できる。しかもオフライン利用のために曲を手動同期することもできず、お気に入りに入れた後は彼らの同期スケジュールに振り回される

  • これ用のコマンドラインツールを作った: https://codeberg.org/ltworf/ultimateultimateguitar