Show HN: Spotatui,SpotifyのWeb API制限を回避したTUI/GUIアプリケーション

2026/10/13 20:32

Show HN: Spotatui,SpotifyのWeb API制限を回避したTUI/GUIアプリケーション

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

SpotAtUI は、Rust を用いて構築された軽量でコミュニティ主導のターミナル音楽再生ソフトであり、公式のプロプライエタリ製クライアントやデーモンの利用なしに、Spotify(プレミアム会員必須)、YouTube、Subsonic/Navidrome、そして多種多様なラジオサービスに対応したネイティブなストリーミングを提供します。その主な利点は極度の効率性であり、メンテナンス中の librespot のフォークを利用することで再生中に約 78 MB の RAM を消費し、重い Electron ベースの代替案を大幅に上回ります。標準的なターミナルとは異なり、SpotAtUI はデスクトップ用 GUI の開発中プレビュー版も備えており、リアルタイムオーディオ可視化や、ローカル LLM を用いて音楽をキュレーションする AI DJ アシスタントといった高度なツールとの統合も行っています。

本ソフトウェアは YAML ファイルと Lua スクリプトによる高いカスタマイズ性を特徴とし、無効な設定であっても起動をブロックせず優雅にデフォルト値に戻す堅牢さを確保しています。「spotify-tui」から派生しており、ストリーミング機能への焦点を明確にする独自の進化を遂げていますが、移行には Spotify での再認証と設定パスの更新が必要です。現時点では Linux、macOS、Windows、WSL で利用可能で、GitHub Releases を通じた自動更新をサポートしています。本ツールは、高価な外部 API や非公式なアクセス方法に頼ることなく、システムリソースの使用を削減しつつ強力かつ拡張可能な音楽再生機能を得ることをユーザーに実現させます。

本文

spotatui: Rust で記述されたターミナル音楽プレイヤー

Rust と Ratatui により駆動される、次世代のターミナル音楽プレイヤーです。Spotify ネイティブストリーミングや同期歌詞、リアルタイムオーディオビジュアライザーなど多機能を実現します。

概要

  • コミュニティ開発:
    spotify-tui
    のフォーク版ですが、多方面で分岐しています。
  • 主な違い:
    • バックエンド: 公式 Connect デバイスではなく、組み込みネイティブクライアントを使用します。
    • ソース対応: Spotify に限らず、以下の多様なソースをネイティブでサポートしています。
      • YouTube
      • ローカルファイル
      • Subsonic / Navidrome サーバー
      • インターネットラジオ
      • Qobuz
      • macOS 用 Apple Music

機能 (Features)

  • 複数ソース対応
    • Spotify はオプションです(Premium アカウントが必要)。
    • キー
      d
      でソースを自由に切り替え可能。
    • 無料のソース(Spotify 以外)は登録なしで使用できます。
  • ネイティブストリーミング
    • Spotify Connect デバイスとして認識され、公式アプリや
      spotifyd
      を介さずに直接再生します。
    • Electron クライアントよりも軽量です。
  • 同期歌詞 (Synced Lyrics)
    • 行単位の歌詞を再生タイミングに合わせて表示します。
  • リアルタイムオーディオビジュアライザー
    • システム全体の FFT ビジュアライザー(キー
      v
      )。
    • Spotify 再生時は独自ピッチビューを表示します。
  • クロスソースプレイキュー
    • キー
      z
      で任意のトラックをキューに追加し、ソースを越えて連続再生できます。
  • プレイリスト同期
    • 1 つのプレイリストをマスターとして設定し、複数のソース間でミラーリングできます(例:
      spotatui sync
      コマンド)。
  • Lua プラグイン
    • イベントフックやキーバインドを通じて UI を拡張・カスタマイズできます。
  • リスニング履歴とサマリー
    • 演奏履歴を保持し、HTML のサマリー(
      spotatui history recap
      )を生成して共有できます。
  • フル CLI 対応
    • スクリプタブルなコマンドラインインターフェースを提供します(例:検索、プレイリスト操作、シェル補完)。

インストール

Spotify アカウントは初回起動時のソース選択で指定し、後から追加可能です。YouTube の使用には

yt-dlp
のインストールが必要です。

ワンラインインストーラー (推奨)

  • macOS, Linux, WSL
    curl -fsSL https://spotatui.com/install.sh | bash
    
  • Homebrew (macOS 限定)
    brew tap LargeModGames/spotatui
    brew install spotatui
    
  • Cargo (コンパイルからインストール)
    cargo install --locked spotatui
    # またはプレビルトバイナリを使用
    cargo binstall spotatui
    

特定のリポジトリからのインストール

  • Arch Linux (AUR)
    yay -S spotatui-bin  # プレビルトバイナリ(高速)
    # またはソースから構築
    yay -S spotatui
    
  • Void Linux
    echo repository=https://raw.githubusercontent.com/Event-Horizon-VL/blackhole-vl/repository-x86_64 | sudo tee /etc/xbps.d/20-repository-extra.conf
    sudo xbps-install -S spotatui
    
  • Windows PowerShell
    irm https://spotatui.com/install.ps1 | iex
    # または Winget を使用
    winget install spotatui
    
  • NixOS
    inputs = {
      spotatui = {
        url = "github:LargeModGames/spotatui";
        inputs.nixpkgs.follows = "nixpkgs";
      };
    };
    
    { inputs, ... }: {
      environment.systemPackages = with pkgs; [
        inputs.spotatui.packages.${pkgs.stdenv.hostPlatform.system}.default
      ];
    }
    

デスクトップアプリ (Preview)

ターミナルではなくウィンドウで動作するバージョンも提供されます。設定や履歴は共有されていますが、両者は同時に動作せず、ウィンドウ閉じで終了します。

  • システム要件: glibc 2.39, WebKitGTK 4.1。
  • 更新機能:
    behavior.disable_auto_update
    を設定して無効化可能です。

クイックスタート

spotatui

初回起動時、ソース選択メニューが表示されます:

Welcome to spotatui! Choose your music source:

  1) Spotify        (needs login, Premium required)
  2) YouTube        (free, needs yt-dlp)
  3) Subsonic       (free, needs server)
  4) Internet Radio (free)
  5) Local Files    (free)
  6) Qobuz          (paid subscription)
  7) Apple Music    (macOS only)
  • 基本操作:

    • ?
      : キーバインドヘルプ
    • d
      : ソース・デバイス選択メニュー開閉(ソース切り替え)
    • z
      : 現在のトラックをプレイキューに追加
    • /
      : 検索モードへ切り替え
    • Ctrl+L
      : 検索クエリのクリア
  • 検索方法:

    1. /
      を押してフレーズを入力。
    2. Enter で検索実行。
    3. 結果リストからトラックを選択し、Enter で再生(スペースキーでポーズ/再生)。
  • コマンド例:

    spotatui --completions zsh          # シェル補完設定 (bash, powershell 対応)
    spotatui play --name "Name" --random  # ランダム再生
    spotatui history recap --period 30d # 過去 30 日分のサマリー生成
    

音楽ソース詳解

d
キーで開くサイドバーから以下のソースを切り替えられます。

ソース機能と要件
ローカルファイルFLAC, MP3, OGG 等を再生(OS デフォルトディレクトリまたは設定指定)。
Subsonic / Navidromeサーバーアカウントが必要。ブラウザ経由のログイン不要。
インターネットラジオライブメタデータ付き。保存機能あり。検索機能搭載。
YouTube
yt-dlp
必須。匿名検索・再生可能。プレイリスト管理対応。
QobuzFLAC 高品質ストリーミング。ブラウザ経由ログイン。定数取得が必要(設定ガイド参照)。
Apple MusicmacOS 限定。Music アプリと連携し、spotatui はリモートコントローラーとして動作。

ソース固有の設定例 (
config.yml
)

  • ローカルファイル:
    behavior.local_music_path
    を指定。
  • Subsonic:
    SPOTATUI_SUBSONIC_PASSWORD
    環境変数でのパスワード管理推奨。
  • Qobuz:
    qobuz_quality
    で品質設定(例:
    6
    =FLAC 16/44.1)。
  • Apple Music: macOS の自動化許可が必要です(System Settings > Privacy & Security > Automation)。

Apple Music の注意点

  • カスタマイズ機能の一部(キュー、ランダム再生、リピート、ライク)は利用不可。
  • Music アプリで他のソースが再生中は検出されません。
  • 音楽アプリ側の不具合(ファイル欠落等)は spotatui 側でスキップ処理されます。

AI DJ

spotatui は AI を活用したプレイリスト作成機能を提供します。

MCP サーバー方式 (
--features mcp-server
)

  • コーディングエージェント(Claude Code, Gemini CLI など)と連携し、AI が DJ を担当します。
  • エージェントへの指示設定は
    docs/mcp-setup.md
    にあります。

組み込み TUI AI DJ (
--features ai-dj
)

  • Ctrl-j
    でチャット・プロンプト画面を表示。
  • 検索、キュー作成、再生の意思確認を AI が行います。
  • ローカルモデル(Ollama など)や API キーに対応しています。

インストール:

cargo install --locked spotatui --features mcp-server,ai-dj

ネイティブストリーミング (Native Streaming)

  • spotifyd
    や公式アプリの再起動不要で、Spotify Connect デバイスとして直接機能します。
  • 最新の CDN 問題などの修正をバックポートした librespot フォークを使用しています。
  • 要件: Spotify Premium アカウント必須。

オーディオビジュアライザー

キー

v
でシステムオーディオのリアルタイム分析を表示します。

プラットフォーム動作状態備考
Windows動作 (WASAPI)インストール不要
Linux動作 (PipeWire/PulseAudio)インストール不要
macOS設定必要BlackHole や Loopback のような仮想オーディオデバイスを介して設定が必要。

Spotify 再生中は、元々のピッチビュー(12 ピッチクラス表示)に切り替わります。

v
で Cava, バーグラフ, スポッティ ピッチの切り替えが可能。

その他機能

Discord Rich Presence

  • デフォルト有効(アプリ ID を使用)。
  • 設定で無効化またはカスタマイズ可能です(
    discord_rpc_client_id
    指定など)。

匿名ソングカウンター

  • グローバルな再生回数をカウントする機能をオプトインで使用できます。
  • 個人情報を収集せず、30 秒再生完了時にのみカウントアップします。

GitHub Profile Widget

  • spotatui.com のアカウント連携により、GitHub プロフィールで「現在聴いている曲」を表示可能です。
  • カバーアートやピッチビューも表示されます。

設定 (Configuration)

設定ファイル:

config.yml
(デフォルト:
$XDG_CONFIG_HOME/spotatui/config.yml
)

  • Alt-, キーで UI 内から設定画面を開くことも可能です。
  • カバーアート用のダッティング処理、キーバインド変更、テーマ切り替えなどが可能です。

開発とビルド

  • 言語: Rust
  • UI Framework: Ratatui
  • ライブラリ:
    rspotify
    ,
    librespot
    ,
    tokio
    などを使用。

プラットフォーム固有の要件

  • Linux 開発: ALSA 開発パッケージ(
    pkg-config
    )、PipeWire(ビジュアライザー用オプション)が必要です。
  • Windows: PowerShell スクリプトでの自動インストール推奨。

Windows Subsystem for Linux (WSL)

リンクエラーが発生する場合は、以下の追加依存関係をインストールしてください:

sudo apt-get install -y -qq pkg-config libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

バグ報告とサポート

  • 問題発生時は
    --debug
    フラグで実行し、ログファイルを確認してください。
  • バグ報告: Issue を作成し、再現手順とログを添付してください。
  • コミュニティ: Discord や GitHub Discussions で交流可能です。

ロードマップ

目標は Spotify のほぼ全ての機能を実装することです。高優先度課題として「すべてのビューでの結果ページスクロール」などが計画されています。

同じ日のほかのニュース

一覧に戻る →

2026/10/14 1:03

Gemini 4 アルゴン

## 日本語翻訳: 提供されたテキストには読み取れる情報が一切含まれておらず、有効な IT ニュースや事実に基づくコンテンツではなく完全に破損したバイナリデータから構成されています。そのため、意味のある要約ポイントを抽出したり、事実を検証したり、ファイル内で言及されている特定のユーザー、企業、業界を特定することは不可能です。入力データが読み取れないため、分析可能な過去の文脈、周辺の詳細、予測、将来の展望は存在しません。システムは明確にこの破損を、コンテンツに基づいて利害関係者の利益が影響を受けない主要な理由として特定しており、実際にはそのような影響を導き出すためのコンテンツ自体が存在しないためです。本質的に、データ構造が根本的に破綻しているため、過去の出来事、今後のシナリオ、業界の進展に関する洞察は一切得られません。一貫した物語や事実に基づいた論理的な順序がないため、この入力データを要約しようとするあらゆる試みは、正確なレポートではなく憶測に終わることになります。したがって、引き出せる唯一の事実的な結論は、ソース素材が明白なメッセージを伝達することに失敗しており、この特定のデータセットに対して標準的な分析手順を効果的に実行することが不可能であるということです。

2026/10/14 5:23

OpenAI のエンジニアが経営会議室への盗聴行為で逮捕される

## Japanese Translation: OpenAI のエンジニア、アブドゥラフマン・アルフォザンが、秘密のコミュニケーションに関する機密研究や政府との対談を盗聴するといった国家への脅威であると連邦検察官は説明する録画装置の設置未遂の罪で逮捕されました。この事件は、新たな長官のもとで FBI が AI イノベーションの保護を最優先とすることで知られる反諜報活動の大幅なエスカレーションを示しています。捜査当局は、制限された部屋に近い場所で彼を発見した監視映像や、配偶者から来たチャットボットの促し(隠蔽方法の詳細)を通じてアルフォザンの罪を解明しました。また、現場で見つかった留守置き状態の袋からは ID とともに 2 つ目の装置が回収され、内部ツールによる確認で彼は行動前に経営層の会議スケジュールを検索していたことも明らかになりました。これらの深刻な告発にもかかわらず、OpenAI は自社の AI モデルを用いて装置の出所を追跡し、アルフォザンが機密モデルの重み付けや顧客データにアクセスしたという証拠はないと発表しました。その結果、同社は FBI の捜査を進めるために即座に彼を解雇しました。通信盗聴装置の使用で有罪となった場合、アルフォザンは最高 5 年の実刑、多額の罰金、および保護観察を受ける可能性があります。次の法的ステップは、彼の身柄の状態を決定する 10 月 19 日の拘留聴聞会です。 ## Text to translate: The original summary is strong, concise, and clear. It successfully synthesizes a long list of bullet points into a coherent narrative without losing the main message or introducing inaccuracies. Therefore, no improvements are necessary. **Final Output:** ## Summary: OpenAI engineer Abdulrahman Alfozan was arrested on charges of attempting to install a recording device, an act federal prosecutors describe as a national security threat involving the interception of confidential communications about proprietary research and government talks. This incident marks a significant escalation in counterintelligence efforts, with the FBI prioritizing the protection of AI innovation under its new director. Investigators uncovered Alfozan's guilt through surveillance footage placing him near a restricted room and chatbot prompts from his spouse detailing how to hide such devices. Furthermore, an unattended bag found on-site contained a second device alongside his ID, while internal tools confirmed he researched executive meeting schedules before acting. Despite these severe allegations, OpenAI stated it used its own AI models to trace the device's origin and found no evidence that Alfozan accessed sensitive model weights or customer data. Consequently, the company immediately terminated him to facilitate the FBI's investigation. If convicted of using devices to intercept communications, Alfozan faces up to five years in prison, a substantial fine, and supervised release. His next legal step is an October 19 detention hearing to determine his custody status.

2026/10/14 4:11

Show HN: Guitoro、キーボードでストロミングできるバーチャルギター

## Japanese Translation: Guitoro は、オンライン上で利用可能な最も現実的で包括的な無料のバーチャルギターとして際立っています。ダウンロードやアカウント作成なしにブラウザですぐに演奏可能であり、一般的な合成音とは異なり、スチール弦アコースティックギター、ナイロン(クラシック)ギター、ソリッドボディ電気ギター、そして四弦ベースの 4 つのタイプにおいて高品質なリアル楽器録音を特徴としています。プラットフォームは、再生速度を調整できる強力な学習ツールを提供しており、音楽を 20% からフルテンポまでゆっくりさせながら、コード、ストローク、バックバンドを自動的に同期します。視覚的リアリズムは、発光する弦、振るピックアップアニメーション、指番号、バレー(フレットバー)、キャポを示すネックダイアグラムによって向上しています。ユーザーはキーボード(特定のコードゾーン)、マウス、タッチスクリーン、またはタブレットスワイプを通じて対話できます。広範なライブラリには 51 の曲とクラシック作品が含まれており、フルドラムスタイル 15 パターンの伴奏トラック、ベースライン 25 パターン、ストローク/ピッキングパターン 50 以上のパターンを含む完全なバックトラックスイートを備えています。包括的な学習機能は、ハマーオン、プルオフ、ベンディング、ビブラート、パームミュート、チョーキングなどの上級テクニックを、視覚的および音声フィードバック付きに教えます。さらに、ユーザーはドロップ D とオープンチューニングをサポートするマイクチューナーにアクセスでき、ディストーションやリバーブなどのアンプ/FX エフェクトを利用でき、さまざまなキーで最大 10 分間のアレンジを録音し、直接エクスポートする機能を持っています。