HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: macOS用音楽プレイヤー兼ジュークボックスアプリ「Sol」が無料・オープンソースになりました

Show HN: Sol, my macOS music player and jukebox app, is now free and open source (github.com)

21 pointsby fulltimefeline7 コメント

要約

macOS用のネイティブ音楽プレイヤー兼ジュークボックスアプリ「Sol」が、完全に無料かつオープンソースとして公開されました。このアプリは、ユーザーの音楽ライブラリをそのまま再生し、ファイルの移動や変換、ロックインをしません。広告やサブスクリプションはなく、すべての機能が無料で利用可能です。FLAC、ALAC、MP3など多くのオーディオフォーマットに対応し、ギャップレス再生、クロスフェード、イコライザー、ReplayGainなどの機能を備えています。また、ローカルファイルだけでなく、NavidromeやSubsonicサーバーからのストリーミング再生もサポートしています。

全文翻訳

Sol あなたの音楽ライブラリを愛する人のためのネイティブMac音楽プレイヤー。 フォルダを指定すると、ファイルがある場所でそのまま再生されます。 移動なし、変換なし、ロックインなし。 ツアーを見る 無料かつオープンソース 有料ティア、サブスクリプション、トライアル、アプリ内購入、アカウントはありません。 すべての機能がすべてのコピーに含まれています。 リリースからダウンロードするか、このリポジトリから自分でビルドしてください。 Solは新しいバージョンが出ると通知しますが、それ以外でしつこく勧誘することはありません。 Homebrew caskもあります:brew install --cask fulltimefeline/tap/sol 記憶にあるライブラリをモダンに クラシックなマルチペインブラウザによるライブラリ、ジャンル、アーティスト、アルバムなどでのファイル管理。 アートワークをアーティスト、文字、年ごとにグループ化して壁のように配置するグリッドビューと、AからZまでのレールで素早くスキミングできます。 レコードクレートのようにコレクションをめくるアルバムカルーセル。 常駐するミニプレイヤー。 本物のコレクションのために構築:何十万ものトラックでも、ブラウジングは瞬時に行えます。 1つの検索バーが、すべてのライブラリとサーバーの曲、アルバム、プレイリスト、ポッドキャストエピソードを一度にカバーし、カタログ番号やファイル名まで、すべてのタグに到達します。 重要なすべてのフォーマット FLAC、ALAC、WAV、AIFF、MP3、AAC、Ogg Vorbis、Opus、さらにディープカット:DSD、Monkey's Audio、Musepack、Wave64。 Cueシートは、サイドカー.cueとしても、ファイル自体に埋め込まれた形式でも機能します。 ギャップレス再生、クロスフェード、プリセット付きのフルイコライザー、クリッピング保護付きのReplayGainレベル調整。 サンプルレートとビット深度のマッチングにより、DACが各ファイルの独自のレートと深度に切り替わります。 ビットパーフェクト出力は、デバイスがサポートしている場合は、ファイルのビットをそのままDACに送信し、サポートしていない場合は正直にフォールバックします。 あなたの音楽はどこにあっても 内部ディスク、外部ドライブ、ネットワーク共有、iCloud Drive全体で、好きなだけ多くのフォルダを監視します。 オフラインライブラリは即座に検出され、優雅にグレー表示され、戻ってきたときに自動的に再スキャンされます。 ローカルファイルと並んで、独自のNavidrome、Subsonic、またはOpenSubsonicサーバーからストリーミングし、プレイリスト、お気に入り、評価の双方向同期と、オフラインリスニング用のダウンロードを行います。 曲だけではない サブスクリプション、トランスクリプト、チャプター、静かな話し手のためのVoice Boost、Apple Podcastsからのワンクリックインポートを備えたポッドキャスト。 ステーションアートワークとライブソングタイトル付きのインターネットラジオ。 行ごとに追従する歌詞、フルスクリーンのビジュアライザー、カラオケ。 Sol DJは、お気に入りのトラックを優先し、見過ごされた発見を表面化し、繰り返しを避ける、無限のラジオスタイルのミックスを構築します。 あなたのタグ、あなたのルール 実際のメタデータエディタ:Solがタグ付けできるすべてのフォーマットに、アートワークを含めて30フィールドがファイル自体に書き込まれます。 複数のファイルを一度に編集し、正規表現で検索・置換し、MusicBrainzでタグを検索します。 評価と「いいね」は、ファイルの実際のタグに保存されるため、他のプレイヤーで読み取り可能で、永続的にポータブルです。 30以上のフィールドにわたるネストされたルールグループを持つスマートプレイリスト、重複ファインダー、再生統計、および独自のテンプレートで新しい音楽をリネームして整理するインポートオーガナイザー。 Macのために作られた 実際のAppleScriptサポートと16のショートカットアクション。 メディアキー、Dockのトランスポートコントロール、システム「再生中」との統合。 お気に入りトラック同期付きのLast.fmスクラブリング。 無料のSol Activityコンパニオンアプリを介したDiscord Rich Presence。 コンパニオンアプリ、Stream Deck、独自の自動化のためのオプションのローカルコントロールAPI。 34言語に翻訳済み。 テレメトリなし、分析なし、アカウントなし。 ビルド 必要なもの macOS 14以降 Xcode 26以降、macOS 26 SDK用。 完全な厳密な並行処理チェックを備えたSwift 6言語モード XcodeGen、brew install xcodegen プロジェクトファイルはproject.ymlから生成され、project.ymlが真実の源であり、Xcodeプロジェクトはバージョン管理されていません。そのため、xcodegen generateはオプションのステップではなく、必須の最初のステップです。生成されたプロジェクトを直接編集しないでください。project.ymlを変更して再生成してください。 認証情報 このステップはオプションです。新規チェックアウトはそのままビルドおよび実行されます。Config.xcconfigはLast.fmの認証情報をデフォルトで空にし、LastFM.configuredはfalseを返し、スクラブUIは利用不可と報告します。アプリの他の部分は影響を受けません。スクラブを有効にするには、last.fm/api/account/createでアプリケーションを登録し、次のようにします。 cp Secrets.example.xcconfig Secrets.xcconfig 2つの値を貼り付けます。Config.xcconfigはオプションのincludeでそれをプルするため、ファイルが存在する場合は空のデフォルトをオーバーライドし、存在しない場合は無視されます。Secrets.xcconfigはgitignoreされているため、キーはリポジトリに到達しません。 ビルド xcodegen generate open Sol.xcodeproj またはターミナルから: xcodebuild -project Sol.xcodeproj -scheme Sol -configuration Debug build 依存関係 1つのSwiftパッケージ、自動解決:SFBAudioEngine、LGPLデコーダーが削除された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言語、この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 Rich Presenceには小さなコンパニオンアプリが必要です。なぜなら、DiscordのIPCソケットはApp Sandbox内からアクセスできないからです。これは無料のGPL-3.0で、独自のレポジトリにあります。こちらからダウンロードするか、brew install --cask fulltimefeline/tap/sol-activity を使用してください。 リンク ウェブサイト · Sol Activity · Sol API · 謝辞 · プライバシー ライセンス Solは、GNU General Public License v3.0以降の下で提供されるフリーソフトウェアです。使用、研究、変更、再配布が可能であり、再配布するフォークはすべて同じ条件でソースコードを提供する必要があります。バンドルされているサードパーティコンポーネントは、それ自身のライセンスを保持しており、すべてGPL-3.0互換です。リストと、バージョンが2.0ではなく3.0である理由については、THIRD-PARTY.mdを参照してください。