Show HN:macOS の音楽プレイヤー兼ジャズボックスアプリ「Sol」が、今や無料でオープンソースです。

2026/09/07 5:24

Show HN:macOS の音楽プレイヤー兼ジャズボックスアプリ「Sol」が、今や無料でオープンソースです。

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

要約

Japanese Translation:

Sol は、アカウントやサブスクリプションを必要とせず、完全オフラインで動作する強力なオーディオ機能を備えた macOS ネイティブの無料オープンソース音楽プレイヤーです。サブスクリプションサービスがデータを制限することなく、Sol は内部ディスク、外部ドライブ、ネットワーク共有、iCloud Drive のいずれでもローカルに動作し、ファイルを実際のフォルダから直接再生しながら移動や変換は行いません。FLAC、ALAC、WAV、MP3、Opus、DSD など高品質な形式をサポートしており、cue sheet や無欠盤再生、クロスフェード、フルイコライザー、ReplayGain レベリング、ビットパーフェクト出力といったプロフェッショナル向け機能も搭載しています。アプリは非常に大規模なライブラリも瞬時のブラウジングに対応し、クラシックのペインビュー、グリッドビュー、アルバムカルーセル、常驻ミニプレイヤーによる表示を実現します。さらに楽曲、アルバム、プレイリスト、ポッドキャスト、タグ、ファイル名など広範な検索機能を提供します。ポッドキャストサポートには、サブスクリプション、トランスクリプト、チャプター、インターネットラジオ、Apple Podcastsからのインポートが含まれます。再生以外にも、1 ファイルあたり最大 30 フィールドまでの詳細なメタデータ編集、正規表現を使った検索置換、MusicBrainz ルックアップ、可搬型レーティング/ラブ、ネストされたルールのスマートプレイリスト、重複ファイル検出、再生統計、ファイル名変更のためのインポートオーガナイザーなど多様な機能を提供します。macOS との緊密な統合には、AppleScript、ショートカット 16 件のアクション、メディアキー、システム「今再生中」統合、Last.fm スクロービング、Discord Rich Presence、オプションのローカル制御 API が含まれます。MacOS 14 以降を念頭に現代 Swift 6 テクノロジーで構築された Sol は、フルスクリーンビジュアライザー、カラオケモード、行単位表示付き歌詞、Sol DJ というラジオ風無限ミックスビルダーなど高度な機能も備えています。厳格な GPL v3.0 ライセンスによりユーザーはプライバシー侵害的なクラウド追跡なしにメディアを完全制御でき、そのためプライバシー重視のオーディオフュアリスや高機能オーディオツールを求める愛好家にとって、無料ローカル環境での理想的な選択肢です。

本文

Sol:完全自由の音楽ライブラリ・プレイヤー

Sol は、音楽ライブラリを愛する方々向けに設計されたネイティブの Mac ユーザーズ音楽プレイヤーです。フォルダを指定するだけで、そのファイルが置かれたまま再生します。移動や変換、ロックアップは一切不要です。

特徴

  • 完全無料かつオープンソース

    • 有料プラン、サブスクリプション、試用期間、アプリ内購入、アカウントは存在しません。
    • 全ての機能は、入手したどのコピーにも含まれています。
    • 「Releases」から署名および検証済みのビルドをダウンロードするか、このリポジトリから自分で構築することもできます。
    • ソフトウェア更新通知のみを受信し、それ以外のことは決して邪魔をかけません。
  • インストール方法

    • Homebrew を使用する場合:
      brew install --cask fulltimefeline/tap/sol
      

メモリ消費を最小限にしたライブラリ管理

  • パネブラウザー

    • ライブラリ、ジャンル、アーティスト、アルバム別に整理表示できます。
    • グリッドビューで A から Z のアルファベット順にグループ化し、アルバムのアートワークを壁面のように配置します。
    • レコードケースのようにコレクションをめくるためのアルバムカルーセルを搭載しています。
    • マルチパネビューと常駐ミニプレイヤーに対応しています。
  • 高速検索・表示

    • 真のコレクター向けに設計され、数十万曲規模でも閲覧は瞬時に動作します。
    • 単一の検索バーで、あらゆるライブラリおよびサーバーにわたる楽曲、アルバム、プレイリスト、ポッドキャストエピソードを一括検索できます。
    • カタログ番号やファイル名に至るまで全てのタグを検索可能です。

全て重要な形式に対応

  • 対応フォーマット

    • FLAC、ALAC、WAV、AIFF、MP3、AAC、Ogg Vorbis および Opusに加え、ニッチな形式である DSD、Monkey's Audio、Musepack、Wave64 も対応しています。
  • Cue シートと再生機能

    • Cue シートは、サイドカーの .cue ファイルとして、またはファイル内部に埋め込むという両方に対応します。
    • ギャップレス再生、クロスフェード、プリセット付きのフルイコライザー搭載。
    • クリッピング保護付きの ReplayGain レベル化機能を搭載しています。
  • DAC 制御

    • サンプルレートとビット深度を合わせることで、DAC を各ファイルの固有のレートと深さに切り替えます。
    • デバイスが対応する場合は「ビットパーフェクト出力」で元のファイルを DAC にそのまま送り、対応しない場合は誠実にフォールバックします。

どこに置いても OK

  • フォルダ監視

    • 内部ディスク、外部ドライブ、ネットワーク共有、iCloud Drive の好きな数のフォルダを監視できます。
    • オフラインライブラリは瞬時に検出され、優雅にグレーアウトされ、再びアクセス可能になれば自動で再スキャンされます。
  • サーバー同期

    • ローカルファイルの横で、Navidrome、Subsonic、または OpenSubsonic サーバーからストリーミング再生も可能です。
    • プレイリスト、お気に入り、評価の二方向同期とオフラインリスニング用のダウンロード機能が付いています。

楽曲以外の機能

  • ポッドキャスト

    • 購読管理、字幕表示、チャプター対応、小声話者向けボイスブーストが可能。
    • Apple Podcasts からのワンクリックインポートが可能。
  • インターネットラジオ

    • ステーションのアートワークやライブ曲名の表示に対応。
  • 歌詞機能

    • 行単位で追跡する歌詞機能、フルスクリーンビジュアライザー、カラオケ対応。
  • Sol DJ

    • 愛着のある楽曲を重視し、見落とした発見を表面化させ、重複を避ける無限のラジオ風ミックスを構築します。

タグはあなた次第(メタデータエディター)

  • 高度な編集機能

    • Sol が対応する全形式において、ファイル自体に 30 フィールド分のメタデータを書き込み、アートワークを含め編集できます。
    • 多数のファイルを一度に編集、正規表現を使用した置換に対応します。
    • MusicBrainz でのタグ検索に対応しています。
  • 永久的な評価保存

    • 評価と「お気に入り」は実際のファイルタグに格納されるため、他のプレイヤーでも読み取り可能で永久に携帯可能です。
  • 高度なプレイリスト管理

    • 30 フィールド以上のフィールドにわたるネストされたルールグループを持つスマートプレイリスト搭載。
    • 重複ファイル検出機能、再生統計、ご自身のテンプレートに従って名前付け・整理するインポートオーガナイザーを搭載しています。

Mac 専用設計

  • システム統合

    • 本物の AppleScript サポートと、16 種類のショートカットアクションに対応。
    • メディアキー、ドックのトランスペアレンシー制御、システム「今再生中」統合に対応。
  • 連携機能

    • Last.fm スクロービングと「お気に入り」楽曲の同期機能を実装。
    • Discord リッチプレゼンスを無料の Sol Activity コンパニオンアプリ経由で利用可能です。
    • オプションのローカルコントロール API は、コンパニオンアプリやストリームデッキ、ご自身のオートメーションにも接続可能です。
  • 多言語対応

    • 34 言語に翻訳済み。
    • テレメトリ、アナリティクス、アカウントは一切不要です。

ビルドについて

必要なもの

  • 環境要件

    • macOS 14 以降
    • Xcode 26 以降(macOS 17 SDK 用):Swift 6 ランゲージモードと完全な厳格並行性チェック。
  • 事前準備

    • XcodeGen のインストール:
      brew install xcodegen
      
    • : プロジェクトファイルは
      project.yml
      から生成され、これが真のソース・オブ・トゥルースです。Xcode プロジェクト自体はバージョン管理の対象とならないため、
      xcodegen generate
      は必須の第一ステップとなります。生成されたプロジェクトを直接編集しないでください。

認証情報(オプション)

  • Last.fm スクロービングを有効にするには、以下の手順で設定してください:

    1. https://last.fm/api/account/create でアプリケーションを登録します。
    2. シークレットを複製:
      cp Secrets.example.xcconfig Secrets.xcconfig
      
    3. 二つの値を
      Secrets.xcconfig
      に貼り付けます。
  • : 「Config.xcconfig」はオプションインクルードを通じてこれらを読み込むため、ファイルが存在する場合にのみ空のデフォルトを上書きし、存在しない場合は無視されます。「Secrets.xcconfig」は

    .gitignore
    されていますので、キーがリポジトリに到達することはありません。

ビルドコマンド

  • プロジェクトのオープン

    xcodegen generate
    open Sol.xcodeproj
    
  • ターミナルからのビルド

    xcodebuild -project Sol.xcodeproj -scheme Sol -configuration Debug build
    

依存関係

  • Swift パッケージは 1 つのみで、自動的に解決されます(SFBAudioEngine は sbooth/SFBAudioEngine のトリムされたフォーク版)。
  • それ以外の全ては、
    Sol/Vendor/lib
    に静的ライブラリとしてバンドされ、
    Sol/Vendor/include
    にヘッダーが配置されています(TagLib, Monkey's Audio, Musepack, Ogg, Vorbis, opencore-amr)。これらはコミットされているため、取得やビルドの必要はありません。

プロジェクト構造

  • project.yml
    : 真のプロジェクト定義
  • Sol/App/
    : モデル、再生、ライブラリ、タグ付け、統合処理
  • Sol/Views/
    : SwiftUI と AppKit ビュー
  • Sol/Vendor/
    : バンドされた静的ライブラリとヘッダー
  • Sol/Resources/
    : 文字列カタログ(34 言語)
  • docs/
    : この README に使用されているスクリーンショット

設計上の注意事項

  • Sol/App は SolApp.swift の組み合わせルートを除き、Sol/Views への参照を保持しておらず、サービスもモデルに直接アクセスするのではなく、インジェクションされたクロージャーとして依存関係を渡すように設計されています。この方針は守ってください。
  • デバッグビルドでは SOLDEBUG が定義され、ローカルコントロールサーバーの
    /debug/probe
    および
    /debug/snapshot
    エンドポイントを有効にします。リリースビルドでは決して定義されません。
  • 厳格な並行性は完全にオンです。各
    @unchecked Sendable
    および
    nonisolated(unsafe)
    には、その不変性(インバリアント)を安全にする根拠として明らかな説明が記されています。

テストについて

  • まだテストターゲットは存在しません。LibraryStore.slots, TagWriter, CueParser, FeedParser, ReplayGain, TagReader は純粋で決定論的であり、ここから始めるのが最適です。

Sol Activity

Discord の IPC ソケットを App Sandbox 内部からは到達できないため、Discord リッチプレゼンスには小さなコンパニオンアプリが必要です。これは無料(GPL-3.0)のもので、独立したリポジトリにあります。こちらからダウンロードしてください。

リンク

ライセンス

Sol は GNU General Public License v3.0 以降に基づくフリーソフトウェアです。使用、研究、修改、再配布が可能です。頒布するフォーク版についても、同様の条件付きでソースコードを含める必要があります。バンドルされたサードパーティ製コンポーネントはそれぞれのライセンスを保持しており、全てが GPL-3.0 と互換性があります。

同じ日のほかのニュース

一覧に戻る →

2026/09/07 5:45

Show HN:Mador(80行のProxy State Tuple で、あらゆる DOM をリアクティブにします)

## Japanese Translation: **改善済み。** 元のサマリーは正確ではあったが、開発者がライブラリの安全性と効率性を評価する上で価値のある具体的な行動詳細(`write` を通じたバッチ処理および自動的なクリーンアップ)を見落としており、また重要なポイントで言及されていた MIT ライセンスについても欠けていた。 以下に、これらの欠落している要素を取り入れた改善版を示す: ## 改善されたサマリー Mador.js は、重いフレームワークを採用することなく、複雑なビルド手順も必要とせずにリアクティビティを必要とする開発者向けの軽量な代替手段を提供する。従来のコンポーネントや仮想 DOM に依存するシステムとは異なり、このネイティブ ES モジュールランタイムは、独自の 3 つパートのバインディングパターン(要素の選択、更新関数の定義、ステート依存関係の指定)を用いて、状態を既存の HTML エレメントに直接バインドする。最小限のフットプリント(約 855 バイト)により、依存関係を知的に追跡して変更があった際のみ特定のプロパティを実行し直すことで、高速なパフォーマンスを実現する。状態の更新は `write` メソッドを通じられ、1 つの操作内で複数の変更をバッチ化する。特に重要なのは、Mador が要素が存在しなくなったときにランナーを自動的に削除することで、DOM のライフタイムを管理し、手動でのクリーンアップの必要をなくしている点である。このアプローチにより、npm または CDN を通じて直ちにレガシーコードベースに統合でき、下のレイヤーの DOM 構造を変更することなく、コンポーネントのライフサイクルも管理せずに済む。MIT ライセンスの下でリリースされたこの技術は、ステート管理を必要とするがフルアプリケーションフレームワークのアーキテクチャ的なオーバーヘッドを拒否するインタラクティブなページ機能を作成する際、特に価値があり、クイックプロトタイピングおよび定義された HTML 構造を持つプロジェクトへの動的な振る舞いのシームレスな追加を可能にする。

2026/09/06 20:56

インテリジェント・フライが開く(2025)

## Japanese Translation: 主要な警告は、ユーザーが LinkedIn の投稿作成に大規模言語モデル (LLM) に依存することをやめるべきであるという点にあります。この慣行は本質的に本物性を損なうためです。AI は編集やブレインストーミングの手助けにはなりますが、著者の真の声とは複製できません。その代わり、AI が生成したコンテンツは、過度な絵文字、短すぎる段落、およびダッシュの過剰使用といった不快なスタイルの特徴を示すことがよくあります。これらの明確なパターンにより、読者は投稿が本物の考えを反映したものではなく作りものであることを簡単に検出し、その結果、オーディエンスとの間に乖離が生じ、信頼を失い、完全に関与しなくなります。この批判は、LinkedIn が組み込みの「再書き換え」機能を通じて AI の使用を積極的に推進しているにもかかわらず発生しています。著者が引き続き AI の利便性をオリジナルの内容よりも優先し続ける場合、読者は不信感の高まりからコンテンツをスルーしたり見送ったりする可能性が高まります。したがって、ユーザーは意図したオーディエンスを失い、個人ブランドを損なうリスクに直面し、企業側がこの行動を促進する場合は、業界内の関与低下と信頼喪失を招く可能性があります。

2026/09/06 16:21

Isar Aerospace、2 度目の飛行で軌道到達とペイロード展開に成功

## Japanese Translation: Isar Aerospace は、欧州初の商業エンティティとして衛星を軌道に成功投入し、新たな商業ルートを通じて主権空間アクセスを提供する上で画期的な瞬間を刻みました。この実績は、2026年9月5日にノルウェー・アンドョアで離陸した「Onward and Upward」というミッション(同プログラム第2飛行)において確認されました。このミッションはすべての必要な技術的マイルストーンを実行しました:MaxQ通過、MECO完了およびステージ分離、第2段点火、100kmのカルマン線 crossing、ペイロードフェアリングの抛弃、円形化燃焼、ならびに教育用およびスタートアップ用ペイロードとの成功した分離を実施しました。これらのペイロードは、ESA Boost! の資金提供を受けてドイツ宇宙機関(DLR)の Microlauncher Competition で選定されました。2018年にミュンヘンの近くで設立された Isar は垂直統合を維持しており、小型および中型衛星に対する衛星作成、テスト、打上げサービスのほぼすべての側面を自社工場で行っています。この加速アプローチにより、通常は数十年にわたる開発期間をわずか数年に圧縮しました。展望としては、同社は地球観測や通信において重要な中傾角から高傾角軌道をサポートするためにカナダ・ノヴァスコシア州で新しい打上げ複合施設を建設し、「Spectrum」というロケットファミリー車両を年間最大40発の打ち上げに対応する専用施設で製造することで足跡を拡大しています。これらの進歩は、信頼性の高い欧州打上げサービスを求める商業顧客や機関に対して真の代替手段を提供します。

Show HN:macOS の音楽プレイヤー兼ジャズボックスアプリ「Sol」が、今や無料でオープンソースです。 | そっか~ニュース