メインコンテンツにスキップ
2026-10-30PureStream開発週報ライブラリスキャンSubsonic

PureStream 10月開発週報:ライブラリスキャンの高速化とリモート再生の安定性向上

今月、PureStream は大容量ライブラリスキャンの最適化、サードパーティ製 Subsonic クライアントとの互換性向上、ホームサーバー Web UI の刷新、リモートアクセスのセキュリティ強化を完了しました。47,500 曲の定常再スキャンは約 0.9 秒で完了し、1 万曲のディレクトリー読み込みは従来の約 1.3 秒から約 40 ミリ秒へと大幅に短縮されました。

PureStream 10月開発週報:ライブラリスキャンの高速化とリモート再生の安定性向上

10月、PureStream は大容量ライブラリスキャン、サードパーティエコシステムとの互換性、ホームサーバーの Web インターフェース、そしてリモートアクセスのセキュリティ向上に注力しました。音楽愛好家にとって、膨大なコレクションの快適な管理と、いつでもどこでも途切れない安定した試聴体験は欠かせません。

⚡️ スキャン性能の躍進:膨大なライブラリの高速確認と安定した取り込み

大容量の外付けメカニカルハードディスク(例:10TB、50万曲)に保存された膨大なライブラリでは、従来の重複照合スキャンにおいて各ファイルを深く読み込んでいたため、深刻なディスクスラッシングと長時間の待機が発生していました。

今月、私たちはミュージックライブラリのスキャンメカニズムを全面的に再構築しました:

  • 変更のないファイルを高速スキップ:スキャンにファストパス比較を導入。ファイルサイズと更新日時が一致していれば、ファイルを再オープンせず、オーディオタグの再読み込みやフィンガープリントの再計算も行わずにそのままスキップします。
  • スキャン所要時間を大幅短縮:テスト環境において、数万曲規模のライブラリスキャン速度が劇的に向上しました(実際の所要時間はハードウェアとファイル数に依存します):
ライブラリ規模とシナリオ 最適化後の所要時間(参考値) 挙動と体験
47,500 曲 定常再スキャン 約 0.9 秒 極めて迅速に完了し、無駄なディスク読み出しがほぼゼロに
32,000 曲 初回スキャン 約 65 秒 音声解析がより軽量かつ高速に
47,500 曲 初回スキャン 約 3 分 全行程にわたり安定して整然とした読み書きを維持
  • 見通しの良い進捗フィードバック:スキャン画面で処理済み・再生可能・失敗の曲数および予想残り時間をリアルタイムに表示。複数のフォルダーをマウントしている場合は「第 N/M 個の音楽フォルダー」と明確に表示されます。失敗したファイルはプレビューと分類に対応し、システムトレイからもスキャンの健全性を確認できます。
  • 大規模ディレクトリーの完了処理失敗を修正:従来、47,500 個のファイルを含む超大規模な単一ディレクトリーにおいて、スキャン最終段階のバックグラウンド待機ロジックの不具合により、全ファイルの処理完了後に失敗と誤判定される問題がありました。修正により、同様の大規模ディレクトリーでも安定して完了できるようになりました。

🌐 サードパーティ製 Subsonic クライアントへの全面対応

お好みの再生ツールを自由にお使いいただけるよう、PureStream はサードパーティ製 Subsonic クライアントエコシステムとの互換性を全面的に強化しました:

  • 主要クライアントとのシームレスな接続:Feishin、Amperfy などの複数クライアントで動作確認済みで、音楽のブラウズ、検索、お気に入り登録、快適な再生をサポートします。
  • 応答速度の向上と転送量の削減:1万曲規模のライブラリにおけるルートディレクトリーの読み込み時間を約 1.3 秒から約 40 ミリ秒へと大幅に短縮。膨大なお気に入りリストのデータ転送サイズを従来の約 1/12 に削減しました。
  • 複数音源の独立分離:異なる音源にある同名のアルバムやアーティストを個別に管理・登録するようにし、互いに上書きされることがなくなりました。

🎨 ホームサーバー Web インターフェースの心地よい刷新

ホームサーバーの Web インターフェースにおいて、新たなビジュアル再設計を実施しました:

  • 目に優しい温かみのあるトーン:ダークモードに落ち着いた暖かみのある中間色を採用し、長時間のブラウジングでも目が疲れにくくなりました。
  • カバーアート主導のすっきりとしたレイアウト:アルバム一覧はレコードジャケットを主役とし、余計なカードの枠線を排除。トラックリストもよりシンプルで見やすくなりました。
  • 構造の明確なナビゲーション:デスクトップ版のサイドバーを「ライブラリ / 再生中 / 管理」に再編。デフォルトでアルバムライブラリが直接開き、ステータス画面にもいつでもアクセスできます。モバイル幅では自動的にボトムナビゲーションに切り替わります。
  • 使いやすい再生バー:再生バーを画面上部に密着させ、小型画面では2行レイアウトに折りたたみ、スライダーのタッチ領域を 44 ピクセル以上に保つことで誤操作を防ぎます。
  • マルチデバイス検証:主要11画面において、ダーク/ライトモード、デスクトップ/モバイル幅の各環境で検証を行い、横スクロールのはみ出しやフロントエンドエラーがないことを確認しました。

🔐 リモートアクセスの安定化と再生アカウントのセキュリティ強化

  • サブスクリプションの自動照合:App Store および Microsoft Store のサブスクリプションを毎日自動で照合し、返金・キャンセル・有効期限切れをより迅速かつ正確に同期します。
  • 穏やかな権利処理:サブスクリプション状態の変更時は記録フラグの付与のみにとどめ、現在再生中の音楽を強制停止することは決してありません。デバイスの登録解除は常に管理者の手動操作によって行われます。
  • 数秒での端末再紐付け:デバイスの再連携や機種変更時、1回の手続きで古い認証のクリアと新しい認証の発行を同時に完了し、「しばらく待ってから再試行してください」と表示されることがなくなりました。
  • オンライン状態の検知:ホームサーバーが定期的にオンライン状態をレポートし、管理画面からデバイスがオンラインであるかを容易に確認できます。
  • 2台同時再生のサポート:1世帯につきデフォルトで2台の再生デバイス(例:Mac と iPhone の組み合わせ)の同時接続をサポートします。
  • アカウントセキュリティの強化:サーバー側で再生アカウントのパスワードを保持しない方式に変更。プレイヤーはデバイス認証を通じてホームサーバーから使い捨ての一時アカウント情報を直接取得し、使用後即座に破棄します。また、ネットワーク不達・連携失敗・認証切れなどのエラーを明確に区別して案内し、一律に「接続失敗」と表示するのをやめました。

🖥 デスクトップ版の体験と動作のブラッシュアップ

  • 起動時自動実行:トレイメニューからシステムの起動時に自動実行する設定に正式対応しました。
  • サイレントセッション遷移:ログインの有効期限が切れた際、「セッションが切れました」というポップアップを表示せず、直接ログイン画面へ遷移するように改善しました。
  • ネイティブ音声解析:オーディオタグの解析をネイティブ静的ライブラリに変更し、実行時の動的コンパイルを廃止。起動およびスキャンがより身軽になりました。
  • 稼働ログの拡充:クラッシュや異常リクエストのログ出力を充実させ、潜在的な問題の迅速な特定が可能になりました。
  • ファイルフィルタリングと直感的なステータス:システムの隠しファイルや不要ファイルをデフォルトで除外。トレイから処理済み・再生可能・失敗の3つの指標を直接確認できます。

📌 既知の課題と今後の予定

現在のバージョンでは、以下の課題に引き続き取り組んでいます:

  1. 一部の外付けハードディスク、ネットワーク共有、Windows デバイスにおけるスキャンの挙動を検証中であり、実際の速度はハードウェアやファイル数に影響を受けます。
  2. スキャン画面のスクリーンリーダー読み上げ機能の改善と、一部の失敗分類テキストの拡充を進めています。
  3. Microsoft Store サブスクリプションにおける返金やキャンセルなどのシナリオの検証範囲を順次拡大していきます。

今後は、外付けハードディスク、ネットワーク共有、Windows デバイスでの検証を継続し、アクセシビリティの読み上げと失敗理由の分類文言を補完するとともに、サブスクリプション照合の対応シナリオを広げてまいります。