3 ポイント 投稿者 GN⁺ 2025-02-12 | 1件のコメント | WhatsAppで共有
  • Free Lossless Audio Codec(FLAC)の 1.5 アップデートで、ついにマルチスレッド音声エンコードを導入
    • 従来は単一スレッドしか利用できなかったが、今後はマルチコア CPU を活用可能
    • flac コマンドで -j # または --threads=# オプションによりスレッド数を設定可能
    • マルチスレッドエンコードのサポートにより、大量の音声ファイルをはるかに高速に変換可能
  • 追加の改善点
    • チェーンされた Ogg FLAC ファイルのデコードもサポート
    • ライブラリの安定性向上: バグ修正およびビルドシステムの更新を含む
    • libFLAC、libFLAC++、metaflac では、メタデータ変更時に既存ファイルを上書きする代わりに新しいファイルとして書き込み可能

1件のコメント

 
GN⁺ 2025-02-12
Hacker News の意見
  • Ogg FLAC ファイルを連結してデコードできるようになることに期待している

    • 一部のソフトウェアは、libFLAC/libFLAC++ を使ってデマルチプレクスとデコードを行う際、FLAC ベースの Icecast ストリームとうまく動作しない
    • こうしたストリームは通常 Ogg に多重化され、以前の Ogg ビットストリームを閉じて新しく開始することでメタデータを更新する
    • libFLAC を使ってデマルチプレクスとデコードを行う場合、ストリームが更新されると無限に停止してしまう
    • アプリ側で独自に Ogg のデマルチプレクスを行い、ストリーム間でデコーダをリセットする必要がある
    • 連結された Ogg FLAC はロスレスなインターネットラジオストリームを提供でき、アウト・オブ・バンドな方法に頼らず豊富なインバンドメタデータを含められる
    • Vorbis コメントブロックに入れられるものなら、インバンドのアルバムアート、アーティスト情報、リンクなど何でも含められる
  • FLAC エンコードはすでに現代的なマシンで実時間の 60 倍以上の性能を出している

    • ライブラリ全体をトランスコードする必要がないなら、エンコード設定により多くの時間をかけることになる可能性が高い
  • FLAC は現在 RFC 9639 として公開されている

  • Windows で libwinpthread を使う 8 コア / 16 スレッドのマシンでの性能テスト

    • flac -f -8 a.wav a.flac コマンドの平均時間は約 13.148 秒
    • flac -j16 -f -8 a.wav a.flac コマンドの平均時間は約 2.404 秒
    • 2 つ目のコマンドは 1 つ目より約 5.47 倍高速に実行された
  • こうした改善が低遅延の FLAC ストリーミングにつながるのか気になっている