バージョン 6.75.0

リリース日: 2026-09-25

DpdoPlayer

改善

  • マルチチャンネル DSD をチャンネル単位で複数のデバイスへ振り分け可能: 1 本の DSD ストリームをチャンネルごとに送ります —— 左右を 1 台ずつ、6 チャンネルを 3 台に、といった接続ができ、使うデバイス数は選んだモードで決まります。DoP のパケット配置は実装を 1 つだけ持ち、バイト単位の契約テストで担保しています。
  • DSD 直出(native)の扱いを明文化: チャンネルの並べ替えや複製など 1-bit でできる操作は直出を許可し、合算 / ゲイン変更 / チャンネル全体のミュートなど 1-bit にはできない操作は理由を添えて明示的に拒否し、黙って降格しません。合算が必要な構成は自動的に PDM2PCM デコードへ切り替わり、その理由をログに明記します。
  • デバイスが DoP キャリアレートを受けられない場合は実測に基づいて段を下げます: デバイスが実際に受け付ける段まで DoP キャリアを下げます(エンジン側の DSD レート変換)。
  • マルチチャンネル素材を少ないチャンネルへ折り込むときはトラック全体を静的ノーマライズ: 再生前に全体のピークを一度走査し、トラック全体に固定の減衰を 1 つだけ適用します(AGC でもリミッターでもありません)。折り込んだあとにクリップしなくなります。
  • 新しいコマンドラインスイッチ -rig-info: 解決済みのプリセットを JSON として出力します(-rig が読み込むのと同じスキーマ)。GUI はこれを使ってプリセットをエディターへ読み込みます。
  • macOS 版を新規追加: ネイティブな CoreAudio 出力バックエンドを備えます —— DoP キャリア出力、排他(hog)モードと読み戻し検証、ネイティブ DSD の対応可否はデバイスから実測して判定します(決め打ちしません)。コマンドライン再生の入口と DMG パッケージングスクリプトも同時に用意しました。
  • iOS クライアントを新規追加: エンジンはアプリのプロセス内で動作し(サブプロセスに依存しません)、出力はオーディオセッションごとに DoP を使います。機能の解放は App Store のアプリ内課金(IAP)で行います。審査に必要なプライバシーマニフェストと提出契約のチェックも同梱しました。

修正

  • 1 曲終わったあと次の曲へ進めない: ALSA セッションで曲を切り替えるときにデータを SETUP 状態へ書き込んでいたため、曲が終わっても次へ進めませんでした。
  • 形式やサンプリングレートを切り替えるとデバイスが使用中になる: ハードウェアパラメータを設定し直す前にデバイスを解放し、デバイスが受け付けた形式を記憶するようにしました。
  • チャンネル数の少ないデバイスでマルチチャンネル素材の再生が途切れる: 折り込んだあとの形式を「形式が変わった」と誤判定していました。折り込んだあとの形式のまま再生を続けます。
  • カバーアートの読み取りを補完: .wav と .aiff コンテナに内蔵された ID3 ブロック、ID3v2.3 タグ、他のツールが書き込んだカバー種別を読めるようにしました。.wv / .ape で ID3v2 のみを書き APEv2 を書かないファイルも同様です。

本バージョンでエンジンとパッケージャーの機能変更はありません。

バージョン 6.74.23

リリース日: 2026-09-24

DpdoPlayer

改善

  • 「再生中」パネルにアルバムアートを表示:内蔵(SACD ISO の /COVER.JPG、DSF/DFF の ID3、FLAC の PICTURE ブロック)→ 音源と同じフォルダの画像(cover.jpg、folder.jpg、音源と同名のファイル)の順に探し、どこから取得したかをツールチップに表示します。
  • パネルに「音声データ」を追加:サンプリングレート / ビット深度 / チャンネル / DSD / DST / 長さを音源そのものについて表示します(デバイスへ送る形式ではありません)。
  • パネルに左右 2 本のレベルバーを追加:実際にデバイスへ書き出したデータのピークを表示し、0 dBFS で赤くなり 1.5 秒そのまま残ります — クリップの有無が一目で分かります(一時停止中はゼロに戻ります)。
  • 「前の曲 / 次の曲」ボタンを追加:再生中は同じセッションのまま切り替えます(デバイスを閉じて開き直しません)。最初 / 最後の曲ではグレー表示になり、その旨を表示します。
  • 音量スライダーの両側に − / + ボタンを追加(1 回 ±5、長押しで連続)、スライダーと同じ経路で送信します。

修正

  • UI アイコンを統一:一時停止 / 前の曲 / 次の曲を、再生・停止と同じ記号ファミリーに変更しました — 以前のメディア制御文字はシステムによりカラー絵文字で描画され、一部のフォントでは表示されませんでした。

バージョン 6.74.22

リリース日: 2026-09-23

DpdoPlayer

改善

  • 再生中のトラックがリスト内で追従します:SACD ISO / CUE を 1 セッションで連続再生するとき、強調表示と太字が現在のトラックに追従します(以前は常に 1 行目のままでした)。
  • 「更新を確認…」をステータスバーのライセンス入口の隣に移動:3 つの画面で統一し、旧「ヘルプ」メニューは削除しました(深すぎる入口は無いのと同じです)。
  • デバイス一覧がすべての端点を表示(無効・未接続も含む):各行に実際のフォーマットを表示し、「HQ」端点ファミリーを明示します —— bit-perfect で再生できる端点を選びやすくなります。
  • -track 指定時の -start / -end はトラック内の相対秒:-track 2 -start 0 -end 5 はそのトラックの 0–5 秒です。範囲外は明確に拒否し、途中までのデータを返しません。
  • 同一セッション内の曲の切り替えでオーディオデバイスを閉じて開き直さなくなりました(同じディスク内の曲送りが明らかに速くなり、DSD 出力も途切れません):出力フォーマットが変わらない場合は、すでに開いているデバイスをそのまま使います。
  • DSD(DoP)出力で一時停止が実際に効くようになりました:一時停止中も DoP マーカー付きの無音を出し続け、再開時は同じ位置から続きます —— DSD ドメインから外れることも、進行が飛ぶこともありません。

修正

  • 最初の再生でだけ出るノイズ(2 回目は正常):エンジンが最終的な出力設定を受け取る前に再生を始めており、1 曲目が前回のモードを使っていました。現在は初回再生の前に必ず設定が整います。
  • kX 系カードで ASIO が認識されない:そのドライバの初期化がハングするため、検出を別プロセスに移し 4 秒で打ち切りました —— ハングしてもその区間だけに留まり、どこで止まったかをログに明記します。
  • 曲送り後にデバイスを開けない(0x800401f0):COM の初期化をスレッド単位に変更し、すべての呼び出し箇所を網羅しました。
  • デバイス / 方式の切り替え後に時々「デバイス使用中」:前のセッションの終了待ちを 3 秒から上限付きの 10 秒に、排他モードの再試行予算を約 12 秒に広げました。
  • マルチチャンネルがステレオに折り畳まれたことを画面で明示(折り畳み方と LFE の行き先を含む):ログだけに書くことはもうしません。
  • 出力デバイスを指定したのに別のデバイスから音が出る:指定がある場合 ASIO が横取りしなくなり、実際の出力先もログに明記します。
  • DSD 経路のないデバイスに DoP を送り込まない(超音波か無音になるだけです):PCM にデコードし、理由を表示します。
  • オンライン更新の失敗・キャンセル時に自動再起動しない(以前は「再起動 → 再通知 → キャンセル」で止まらなくなりました)。
  • 更新の案内に裸の %s が出ない。
  • SACD ISO のセクタ配置フォールバック警告は 1 回だけ(以前はセクタごとに数千行を出していました)。
  • 再生時のプチノイズ(爆点)を修正:出力デバイスを指定すると、DSD に対応できる機器(DoP=yes の USB DAC)の DSD 再生が ASIO ネイティブから DoP に降格していました。指定した端点自体にDSD 経路がない場合のみ経路を変更し、対応機器は本来のネイティブ経路を使います。
  • DoP の排他バッファを「大きい値優先」に変更(2 秒から順に下げ、実測 80 ms → 500 ms):バッファが小さいと周期的なアンダーランが起き、それが「プチノイズ」として聞こえます。
  • ComTrue/Fosi 系 USB DAC では auto が既定で DoP を使うようにしました:これらの機器では ASIO ネイティブ出力が実測で無音でした(以前は環境変数がないと DoP に切り替わらず、既定のままだと音が出ませんでした)。
  • 起動時と再生中にオーディオデバイスを再列挙/プローブしなくなりました(起動時のプチノイズと、再生中に時々出るプチノイズの一因)。
  • デバイス音量に触れる前、曲を切り替える前に、出力バッファを DoP マーカー付きの無音で埋めるようにしました:DAC が DSD ドメインから外れる瞬間が無音に乗るため、プチノイズが減ります(再生中に音量を変えると、機種によっては一度軽いプチノイズが聞こえることがあります)。
  • native / ASIO 出力を明示的に選んだとき、自動で DoP に戻さなくなりました:選んだ出力経路で動作します(auto は従来どおりプレーヤーが最適な経路を選びます)。その経路の既知の影響はログに明記されます。
  • 一部の旧自作 SACD ISO の再生時に約 0.9 秒ごとに聞こえていた軽いプチノイズを修正:そうしたイメージには、パケット長がセクター内の実際の音声より 3 バイト短く書かれているセクター(末尾に余りバイト)が少数あり、リーダーはセクター全体を非オーディオと見なして捨てていました。現在は宣言された長さのバイトだけを取り出すため、音楽は失われません(市販 SACD イメージの解析結果は従来どおり)。
  • 曲送り後に再生が止まり、次の曲へ自動で進まなくなる不具合を修正: セッション内で曲を切り替える際、前の曲の残りを破棄したあと出力ストリームが停止したまま再開されず、書き込みが停滞して再生全体が中止されていました(中止は仕様どおり「再生完了」として報告されないため、次の曲に進まないように見えます)。現在は破棄後すぐにストリームを再開します。差動(マルチデバイスの正/逆相)出力も同様に修正しました(サブデバイスへの「再準備」の転送が抜けていました)。

バージョン 6.74.21

リリース日: 2026-09-23

DpdoPlayer

改善

  • 排他セッションモデル:再生を開始した時点でデバイスを排他で確保し、曲を変えてもデバイスは開き直しません(同一サンプルレートはその場で再設定、レート違いと DSD↔PCM はドライバの制約に従って処理)。デバイスまたはチャンネル構成を変えたときだけ開き直し、終了時は必ず排他を解放します。
  • CUE / SACD ISO も 1 つのセッションで連続再生:ディスク全体でデバイスを開くのは 1 回だけになり、曲送りで開き直さなくなりました(従来は 1 曲ごとに別プロセスを起動し、毎回デバイスを排他で取り直していました)。
  • プレイヤーのパネル設定をすべて記憶:モード / チャンネルレイアウト / チャンネル構成 / ビット深度 / DoP モード / PDM2PCM のオン・オフとゲイン / クロスオーバー / 音量を、次回起動時に復元します。
  • 3 つの GUI すべてにオンライン更新を搭載:起動時に一度サイレントで確認し(新しいバージョンが本当にあるときだけ通知)、メニューの「ヘルプ → 更新を確認…」でいつでも手動確認できます。ダウンロード後は SHA-256 を検証し、インストール先に書き込める場合はその場でファイルを置き換え、書けない場合のみインストーラーを実行(Windows はサイレントインストール、Linux はシステムのパッケージ管理)し、完了後に自動で再起動します。
  • ライセンスの問題をその場で特定できます:ライセンス検証に失敗したときは、本機のハードウェア因子すべて(値はハッシュ化、生のシリアル番号は含みません)と改ざん防止状態キーをログに出力し、コマンドラインに -auth-diag を追加しました。2 回実行して差分を取れば、どの因子が変わっているか分かります。

修正

  • 曲送りで排他セッションが切れなくなりました:従来は曲送りのたびに再生を停止(デバイスを解放)してから開き直していたため、排他セッションは実質機能していませんでした。現在はセッション内で曲が切り替わり、デバイスの開閉は繰り返されません。
  • ダブルクリックで曲送り、シングルクリックは選択のみ:従来はダブルクリックで再生コマンドが 2 回送られていました。
  • DSD 直接出力の失敗や未対応ビット深度で中断しなくなりました:同じプロセス内で PDM2PCM デコードに切り替え(デバイスが拒否した場合は自動的に 16 bit に落とします)、再生待ちの曲もセッションも失われません。 DSD フォールバック後の判定が次の曲に持ち越されなくなりました:デバイスに DSD 経路がない場合、プレイヤーはその場で PDM2PCM デコードに切り替えますが、その判定がセッション中ずっと残り、続けて PCM(FLAC 等)へ切り替えると DSD として扱われて再生できませんでした。現在は曲ごとにセッション設定から判定し直します。

  • 進捗と総時間の表示を修正:最終トラック("ファイル末尾まで再生")の長さが内部センチネル値のため 31 年と表示され、進捗バーが 98% に飛んでいました。現在は実際のファイル末尾から計算します。

  • S16_LE/S32_LE のみ受け付けるデバイスで 24bit PCM が開けなくなりました:デバイスが 24bit コンテナを拒否した場合は 32bit コンテナで開き直します。同じサンプルを 8bit 左シフトしてフルスケール整列するため完全に無損失です(ビット深度を下げるものではありません)。
  • Start は前回再生していた曲から再開:従来は毎回 1 曲目から再生していました。リストにその記録が見つからない場合(リストを入れ替えた/曲を削除した)のみ 1 曲目に戻ります。
  • 「証明書は有効なのに拒否される」不具合を修正:改ざん防止状態ファイルの検証キーは従来「本機で現在利用できるハードウェア因子の集合」から算出していたため、ファームウェアやシステム更新で集合が変わると古い状態ファイルが「改変された」と判定され、No valid '.DpdoPlayer.crt' found としてライセンスが拒否されていました(証明書自体は完全に有効)。現在は検証キーが変化する集合に依存せず、すべての状態コピーが検証に失敗した場合のみ改ざんと判定します。

バージョン 6.74.20

リリース日: 2026-09-21

DpdoPlayer

改善

  • チャンネル構成の一元化(デバイス↔チャンネル対応 + ミックス行列 + ミックス音量): GUI ではプリセット選択・8×8 のミックス係数編集・*.json の読み書き、CLI では -rig にプリセット名または同じファイルを指定 —— 同じ 1 つの構成で両方を制御します。不正な構成(未知のチャンネル名・係数の範囲外・対応長がデバイスと不一致)は再生を拒否し、誤った行列を黙って使うことはありません。
  • 実測スキャン(-scan)を追加: 現在の構成で素材全体を実際に通し、各チャンネルの実測ピーク・クリップの有無・0 dBFS に収めるためのミックス音量を報告します。ピークは読むだけで、音質は変わりません。
  • DSD 直出(native / DoP)でチャンネル並べ替えに対応: 「何番目の DAC にどのチャンネル」を DSD でも指定できます。ミックスやレベル変更が必要な構成は自動的に PDM2PCM デコード再生へ切り替わり、その理由をログと再生の説明に明記します(再生できることを優先)。
  • デバイスのチャンネル数がソースより多い場合は左右対称に補完: ステレオ → 4ch = L,R,L,R、→ 5.1 ではセンターと LFE を無音(ファントムセンター)にします。「最後のトラックをコピー」は廃止。
  • PDM2PCM 出力ゲインの既定を +6 dB に(PCM 素材と等しい音量感)、-pdm2pcm-gain 0 で無効化できます。

  • 再生バッファを 200 ms → 2000 ms に拡大(Windows 排他と Linux で同一):バッファが大きいほど、供給スレッドが数十ミリ秒プリエンプトされても耐えられます。実際に確保されたバッファ値は開流時のログに出ます。

  • 前回再生していた曲を記憶: プレイリストを開くとその曲を自動選択して表示位置までスクロールします(削除済みならその旨を表示し、別の曲に飛びません)。
  • 再生前スキャンに進捗表示: DSD/マルチチャンネル素材は再生前に全体をスキャンしてピークを算出します。1 秒ごとにパーセントと経過秒数を表示し、GUI には進捗バーが出ます(固まったように見えなくなりました)。
  • 同じファイルの再スキャンを省略: スキャン結果をファイル単位でキャッシュ(パス+サイズ+更新時刻+現在のチャンネル構成がキー)し、2 回目以降はほぼ即座に再生が始まります。キャッシュは出力を一切変えません(1 バイトも変わりません)。
  • pairs マルチデバイスモード:各デバイスがソースの 1 組のチャンネルをそのまま(反転なしで)受け取ります。4ch ソースを 2 台の DAC へ、8ch を 4 台へ、複数のコマンドに分けずに再生できます。
  • IEC 61937 パススルー(-passthrough):デコードせず、DTS ビットストリームを IEC 61937 バーストとしてアンプ/デコーダーに渡します。この経路では音量・マトリクス・正規化は一切関与しません(1 ビットでも変わると破損になるため)、再生ログにも明記します。受け側の対応が必要です。
  • マルチデバイスのモード名を統一:ディファレンシャル/BTL/クロスオーバー/pairs はすべて -mode で指定でき、各デバイスが実際に受け取るチャンネルをログに出力します。
  • 可逆圧縮形式(APE / WavPack / TTA / ALAC)をフレーム単位のストリーミング再生に:長いアルバムを丸ごとメモリに展開しなくなりました(実測 300 秒の素材で約 220–320 MB → 約 15 MB)。再生開始時のプリロード待ちもなくなります。
  • PDM2PCM デコード(DSD→PCM)をマルチコア化:マルチチャンネル素材で約 2 倍高速、出力はバイト単位で同一(逐次実行と並列実行の結果は完全に同じ)。
  • 「再生後にデバイス音量を元に戻す」オプションを追加(-restore-vol、または player.conf の restore_vol=1):デバイス音量を変更した場合、再生終了時に再生前の値へ戻します。既定はオフ。

    修正

  • マルチチャンネルのダウンミックスでセンター/サラウンドを黙って捨てなくなりました: デバイスが全チャンネルを受けられない場合は BS.775 に従って役割ごとに折り畳み(LFE は除く)、クリップ回数は集計してログに出します。
  • Linux で Bluetooth ヘッドホンなどシステムミキサー経由の出力が再生できるようになりました:Bluetooth 音声はシステムミキサーの後ろにあり、従来のデバイス一覧はサウンドカードしか出していなかったため、ヘッドホンが選べず再生できませんでした。現在はシステム出力と各出力エンドポイントを一覧に表示します。サスペンド中の出力は再生前に自動で復帰します(従来は実時間の約 1/13 の速度で、固まったように聴こえました)。-vol もその出力自身の音量を設定し、他のカードを触りません。
  • マスタリング用プリセットをインストーラに同梱: Windows インストーラ、Linux の deb/tgz、ポータブル版のいずれでも 6 つのプリセットを読めます(従来はパッケージに入っていませんでした)。
  • DSD + 複数デバイス(差動/BTL)が途中で止まらなくなりました: 再生前に各 DAC の DSD 対応を確認し、1 台でも非対応なら全体を PDM2PCM デコードに切り替え、どのデバイスかをログに明記します(従来は DSD で開いた後、書き込みタイムアウトで再生が中断していました)。
  • デバイスが複数の再生音量コントロールを持つ場合、すべてを目標値に設定するように:以前は 1 つだけ設定し、もう 1 つはデバイス固有の低い値のままでした(実測: Fosi DS1 の 2 つ目は 20 dB 低い)⇒ Linux が Windows より明らかに小さく聞こえていました。「音量を元に戻す」を有効にすると、すべてが再生前の値へ正確に戻ります。
  • バイト単位の正確さに関する 2 件の修正:マルチチャンネル(3 チャンネル以上)出力の ±1 LSB のスケーリング誤差を解消(ソースとバイト単位で一致)。短い素材+時間制限の再生で誤って失敗と報告されなくなり、終了コードが実際の結果を反映します。

本リリースにはエンジン側の性能改善(可逆形式のストリーミング再生、PDM2PCM のマルチコアデコード)が含まれます。パッケージャ(DpdoPackSACD)に機能変更はありません。

バージョン 6.74.19

リリース日: 2026-09-21

DpdoPlayer

新機能

  • DTS / DTS-WAV 再生:.dts ファイルと DTS-in-WAV コンテナを直接再生できるようになりました(DTS コア 2.0–5.1、44.1 / 48 kHz)。ステレオ出力ではチャンネル役割に応じてダウンミックスし(センター・サラウンドは −3 dB で折り込み、LFE は含めません)、マルチチャンネル出力では 1 チャンネル 1 台に振り分けます。進行表示・曲間ギャップレス・複数台の差動再生は DSD / PCM と同じ経路です。

  • 再生ヘルプとファイル選択フィルタの「対応フォーマット」を実際の対応範囲に合わせました(SACD ISO・CUE・AIFF を追加、未対応だった MP3 / AAC / OGG を削除)。フォルダをドラッグした際は、デコーダの無い音声ファイル数を明示し、黙って飛ばしません。

本バージョンでエンジンとパッケージャーの機能変更はありません。

バージョン 6.74.18

リリース日:2026-09-20

DpdoEngine / DpdoPackSACD / DpdoPlayer

改善

  • エンジン側のコマンドライン出力とログを全面的に英語化(ヘルプ・エラー・レポートで口径統一)。Windows での中文字出力の文字化けを解消。4 つの GUI(プレーヤー / パッケージャー / オーディオツール / ライセンス登録)は日中二言語対応となり、UI 言語に追従(DPDO_LANG=zh|en で明示指定も可)。
  • 名称を統一:従来「DSD→PCM」と呼んでいた処理は PDM2PCM に統一(プロジェクト名 PCM2PDM と対称)。コマンドラインは -pdm2pcm-gain、環境変数は DPDO_PDM2PCM_GAIN(旧名称は受け付けません)。
  • SACD ISO の読み込み:ディスクにトラック単位のタイトルが無い場合、曲名を「アルバム - アーティスト - トラック番号」で補完(ファイル名表示をやめました)。

修正

  • DpdoEngine --log の 4 つの値(fir / ns / freq / all)はクラッシュまたは停止し、出力ファイルが空でした — 修正済み。
  • Windows インストーラーをコンポーネント選択式に変更(プレーヤー / パッケージャー / コマンドラインツール、既定ですべて選択)。

ライセンス

改善

  • ライセンス体系の強化。

チェンジログ

バージョン 6.74.16

リリース日:2026-09-15

DpdoPlayer

修正

  • オンボード端点に DoP を流すとノイズ(ヒス)しか出ませんでした —— DoP 可否の判定をデバイス側の証拠に変更(176400 を開ける=DoP を解せる、ではありません。オンボードコーデックには DSD 経路が回路として存在しません)。不可と判定した端点では -dop force は拒否され、自動的に DSD→PCM 再生に切り替わります(強制はデバッグ用スイッチで可能)
  • 終了時のヒス/ノイズと固まり:WASAPI の終了時ドレインを上限付きで停止要求にも応答する本物の待機に変更(以前は空回りや秒数待ちで、バッファの残りを捨てていました=終了時のノイズ)。ASIO のドレインと書き込みリングの空回りも除去
  • 「開くのに書き込めない」:排他 PCM はデバイスイベント待ちをやめました。アイドル後に最初の排他ストリームが「受け入れられたのに一切消費されない」場合は、それを捨てて開き直して再生を続けます(判定はバッファ占有量のみ、オーディオクロックは見ません)
  • 停止を押しても反応せず、GUI を閉じて初めて止まる問題:自動フォールバックは子プロセスで再生を再開しますが、停止コマンドは親プロセスの stdin に書かれ、親が飲み込んでいました。子プロセスは専用のコマンドパイプを使い、親は転送のみ、すでに停止済みなら再起動しません。同じ素材での実測:終了まで 82 秒 → 0.15 秒

改善

  • GUI:デバイス一覧に能力サフィックス(⟨DoP 2x⟩/⟨DoP 1x⟩/⟨DoP 未確認⟩/⟨PCM のみ⟩)と「実際にどうなるか」の 1 行ヒントを表示。判定が不確かなデバイスをワンクリックで登録できる「DSD デコーダーとしてマーク」を追加。Linux 側も Windows と同じ判定と -dsd-caps を使用

バージョン 6.74.15

リリース日:2026-09-14

DpdoPlayer

修正

  • 再生後に ALSA drain で空回りしてプロセスが終了しない問題を修正。書き込めないときは無限に無言リトライせず、その回の再生を終了してエラー表示。DSD ビット順は拡張子が .iso かどうかではなく内容で判定

DpdoEngine

修正

  • SACD ISO の曲名/ディスク名が常に空だった問題を修正。DST フレームの問題は初回に詳報+終了時に要約(黙って捨てたり毎フレーム大量出力しない)。大きなファイルは 64 ビット位置指定(2 GB 超でも seek を諦めない)。バッファ確保前に空き物理メモリを確認。エンジン GUI は失敗理由を表示、情報ページの探査を非同期化

バージョン 6.74.14

リリース日:2026-09-14

DpdoEngine

修正

  • リーダー三件の修正(WSD の範囲外読み取り/SACD 48 kHz 基底とマルチチャンネル/DSF データ長)、Windows で中国語・日本語・韓国語の入力ファイルが開けない真の原因(メディア情報プローブがナロ fopen を使用)

改善

  • Windows クロスビルドに libFLAC/libmysofa/OpenCL を追加(FLAC 書き出し・HRIR・GPU 加速が両 OS で一致)、数値オプションの値ガードを統一(出力ファイル名を飲み込まない)、エンジン GUI のプレビュー クラッシュと子プロセスの終了処理を修正

バージョン 6.74.13

リリース日:2026-09-13

DpdoEngine

修正

  • --surround がまったく効いていませんでした。任意の位置引数が出力ファイル名を飲み込む問題、--hrtf-load の失敗が無言だった問題も修正

改善

  • 空間オーディオ/サラウンド/トーンの独立ページ(HRTF · サラウンド · トーン · DSRE)

バージョン 6.74.12

リリース日:2026-09-13

DpdoEngine

改善

  • モジュレーター四択 UI と独立した --poly スイッチ、新規 --reverse(DSD→PCM)モード、DST と DXD 出力の排他(同時指定は失敗)
  • バッチ処理:出力ディレクトリ + 命名テンプレート + 出力形式、メタデータ入力欄、トラックごとのパラメータ、レポート/解析フラグ、--stopgain-alpha(停止帯域減衰)、「情報/診断」ページを追加

バージョン 6.74.11

リリース日:2026-09-13

DpdoPlayer

修正

  • ウィンドウを閉じる/GUI を強制終了したとき、プレーヤーは DAC の DSD 排他を確実に終了(デバイスを掴んだままのプロセスを残さない)

バージョン 6.74.10

リリース日:2026-09-12

DpdoPlayer

修正

  • ウィンドウ/アプリケーション名をエンジン GUI と揃えました —— タスクバー表示が正しく

改善

  • 音量スライダーがシステム(エンドポイント)音量に追従(起動時に 100 固定しない)

バージョン 6.74.9

リリース日:2026-09-12

DpdoPlayer

修正

  • -dop auto は既定で native 出力に戻り、DoP は明示的な opt-in に
  • ASIO コールバックのクラッシュ根本原因を修正(未初期化の self を参照)。native DSD は再生終了時に排他を確実に解放。曲送りは先に stop を送って正常終了させる(強制終了しない)

バージョン 6.74.8

リリース日:2026-09-12

DpdoPlayer

修正

  • Windows:中国語・日本語・韓国語を含むパスが開けない根本原因を修正。DoP 独占は 24-bit packed コンテナを優先(32 ビットコンテナは一部 DAC で無音)。排他 PCM は同一サンプルレートの排他を優先し、取れない場合のみ共有へ退避して警告

改善

  • -vol をデバイス側ハードウェア音量に統一(ホスト側のソフトウェア減衰を廃止)—— Linux と Windows で同一仕様

    バージョン 6.74.7

リリース日:2026-09-12

DpdoPlayer

修正

  • -vol が Windows で効いていませんでした —— 2 つの出力バックエンドは値を保持するだけでデバイスに反映していませんでした。現在はデバイス(DAC)側の音量に反映し、ホスト側で DSD ビットストリームにソフトウェアゲインをかけません(無損失)。-vol を指定しない場合はデバイス音量に一切触れません

改善

  • 起動時に読み取り専用の診断行を 1 行出力(現在のエンドポイント音量)—— -vol が効いたか確認できます

バージョン 6.74.6

リリース日:2026-09-12

DpdoPackSACD

修正

  • ISO 9660 のボリューム識別子を実ディスクの慣例 DISC1 に変更 —— 以前は SACD ISO;UDF 側のラベルは引き続き --album に従います

バージョン 6.74.5

リリース日:2026-09-12

共通

改善

  • インストーラのバージョン番号をコードのバージョンから単一の情報源として取得するようにしました —— 以前はパッケージスクリプトに固定されており、作り直したパッケージが古い番号のままでした

バージョン 6.74.4

リリース日:2026-09-12

DpdoPlayer

修正

  • DFF / WSD の再生開始位置(-start / -end)はブロック境界まで捨てる方法しかなかった — 実測で約 0.7 ms(30 サンプル)ずれていました。現在は DSF / DFF / WSD のいずれも直接シークし、サンプル単位で正確です
  • 再生開始・ジャンプのたびに先頭 31 フレームが欠けていた — DSD→PCM 変換でフィルタの過渡が埋まる前に出力していたため、先頭に約 0.7 ms の無音ができていました。スキップ数はフィルタの実際の充填量に合わせました
  • -dop の明示指定が無視されていた(Windows) — -dop native / -dop asio / -dop auto が前段の裸の -dop 分岐に食われ、黙って DoP/WASAPI に降格していました。現在は明示指定が有効です

改善

  • ASIO 2.3 のドライバ能力照会に対応(Windows) — ドライバに「DSD をネイティブ出力できるか」「内部バッファのサンプル数」「ドロップアウトを報告できるか」を問い合わせ、実際に ASIO を使うときだけ診断行を 1 行出力します。ASIO SDK の規定どおり、ホスト側ではスレッド優先度を変更しません(優先度はドライバの責務)

DpdoPackSACD

修正

  • UDF のボリューム識別子が規格に合わず、他社ツールでディスク名が読めなかった — 非 ASCII のアルバム名では記述子の文字列長を「文字数」で記録していました(規格は「バイト数」)。主ボリューム記述子の番号も 1 になっていました(規格は 0)。現在は実ディスクと一致し、udftools / 7-Zip でも正しく読めます

共通

改善

  • 回帰テストを 30 項目に拡大 — 「DSD 再生開始位置(DSF/DFF/WSD/48k)」と「UDF ボリューム識別子の適合性」を追加。後者は独立実装(udftools)で判定し、自前のコードで自己証明しません
  • Linux / Windows の両方でコンパイラ警告ゼロ — プレイヤー側のターゲットも警告ゲートの対象に入れました

バージョン 6.74.3

リリース日:2026-09-12

DpdoPackSACD

修正

  • 作成した SACD ISO は当プログラムでしか読めなかった — 音声セクタヘッダを Scarlet Book の規定位フィールドで書くようにしました(フレーム情報 3 バイト、音声ブロックは 2016 バイト固定、パディングパケットを補完)。第三者ツールも実ディスクと同じ解釈で読めます

DpdoPlayer

修正

  • 実ディスクの SACD を再生するとフルスケールのノイズ、一部は全く鳴らない — 各セクタ内の非音声パケットが音声として連結され、さらに DSD→PCM 経路でビット順がもう一度反転していました。現在は 2048 バイトの恒等式でセクタごとに判定し、音声パケットだけを取り出します
  • DST 圧縮の SACD で音楽にノイズが重なる — ビット順が二度反転していました。修正済み
  • 通常の DSF で -start / -end が黙って無視されていた — シーク失敗時の逃げ道がなく、指定が効きませんでした。現在は有効です
  • デバイス使用中に理由を出さず黙ってフォールバック — 使用中である理由を明示し、黙って別デバイスへ切り替えないようにしました
  • -start / -end が CUE / SACD ISO 内の曲を指定できなかった — 区間シーケンス(N 曲目)で開始オフセットが使え、Windows 側も Linux と揃いました
  • 差分 / デジタルクロスオーバーで複数デバイスがモードを切り替え続ける — 再生前に DSD 事前チェックを行い、デバイスの切り替え連発を防ぎます。クロスオーバーは PCM 領域に固定

共通

改善

  • 両プラットフォームのオプション契約を整備(9 → 27 項目) — 未知のオプションを一律「Windows 専用」にせず、両者の引数の形の違いは回帰テストが即座に検出します

バージョン 6.74.2

リリース日:2026-09-12

DpdoPlayer

修正

  • 再生位置の合計時間が跳ね続ける不具合 — Windows では合計時間が更新のたびに再計算されていました(再生秒×100÷パーセント)。出所の異なる二つの値を割っていたため数値が跳ねていました。現在はエンジンが曲ごとに与える合計時間をそのまま表示し(曲の切り替え時のみ変化)、再生秒は Linux と同じ「合計時間 × 進捗」に統一しました。

改善

  • 回帰テストを 27 項目に拡充 — 「進捗プロトコル + 両プラットフォームのオプション契約」と「GUI ヘッドレススモーク」を追加。オプションのずれ、GUI が起動しない、翻訳の欠落は即座に検出されます。

バージョン 6.74.1

リリース日:2026-09-12

DpdoPlayer

新機能

  • ライセンス検証 — 起動時に .DpdoPlayer.crt を検証(本機 HWID に紐付け)。未認証・証明書無効の場合は再生を拒否し本機 HWID を表示。失効が確認された場合はローカルに記録し、オフラインでも拒否します
  • GUI のライセンス状態バー — 「認証済み/未認証/失効/他機の証明書」をひと目で表示。未認証時は本機 HWID を表示しワンクリックでコピーできます

DpdoPackSACD

修正

  • Windows で CUE が開けない/「有効なトラックがない」 — 中国語ファイル名と UNC ネットワークパスをワイド文字で開くようにし、CRLF の改行がファイル名に混入しなくなりました
  • ビルドスクリプトの陳腐化 — build.sh はルート CMake へ転送する方式に変更し、陳腐化するソース一覧を持たなくなりました

ライセンス

  • 発行ツールがプレイヤー製品に対応 — プレイヤー用の証明書 ToolID を追加し .DpdoPlayer.crt を発行できるようになりました

共通

修正

  • Windows の差動/BTL/デジタルクロスオーバーが無効化 — 出力が ASIO に奪われなくなりました
  • 両プラットフォームのコマンドライン意味論を整合 — 7 か所の相違を修正(Linux の DSD 判定を含む)
  • バックエンドポインタの並行 UAF、制御スレッドの範囲外アクセス — スレッドモデル修正の第一歩
  • 二回目の再生でクラッシュ、GUI が DAC 選択を記憶しない — 修正
  • SACD ISO の区間進捗と時間 — リーダーのサンプル数意味論を修正
  • DST ブロック契約、短ブロックの範囲外、ファイル終端の誤判定 — 修正

バージョン 6.74

リリース日:2026-09-12

  • バージョン表記のみのリリース(内容は 6.74.1 に統合)

バージョン 6.73.1

リリース日:2026-09-09

DpdoPlayer

新機能

  • Windows 版が正式に音を出すように — MinGW による本物の WASAPI バックエンド + libPlayer 再生フロントエンド

修正

  • 非 ANSI パス(韓国語/日本語/DBCS) — ワイド文字コマンドライン、ワイド文字でのファイルオープン、UTF-8 ログ
  • 出力形式の変換 — WASAPI 共有モードのミックス形式とファイル形式が異なる場合のずれを修正
  • 再生スロットリング — デコードが実時間より大幅に速い場合、デバイスの消費ペースで書き込み
  • メインスレッドの競合 — 再生スレッドの起動を待たずにポーリングして終了と誤判定する問題を修正

デスクトップアプリ

  • 二つの Qt GUI(DpdoAudioTools、DpdoPackSACD GUI)を Windows インストーラに収録
  • 旧 GTK3 インターフェースを廃止し Qt に全面移行。エンジン GUI 製品名を DpdoAudioTools に

バージョン 6.73

リリース日:2026-09-09

新機能

  • DpdoAudioTools(Qt6 変換 GUI) — EQ バンド編集と応答曲線、マスタリングプリセットとプリセット管理、波形/スペクトル表示、録音ページ(CD/DSD 録音)
  • DpdoPlayer GUI(Qt6 再生画面) — プレイリスト、複数デバイスとモード選択、進捗と音量、ログ

修正

  • Qt GUI ビルドチェーンが libstdc++/libgcc を動的リンクに。EQ 曲線が表示されない問題を修正

バージョン 6.72.1

リリース日:2026-09-07

DpdoPackSACD GUI

新機能

  • パッケージャのグラフィカル画面(Linux + Windows クロスビルド) — 成果物は release/linux と release/windows に直接配置
  • 中国語/英語がシステム言語に追従 — 翻訳は実行ファイルに埋め込み

修正

  • 画面監査の指摘を修正(レイアウトの重なり、ウィンドウ縮小時の内容隠れなど)

バージョン 6.72

リリース日:2026-09-07

  • エンジニアリング整理版:コンパイラ警告の全解消、冗長コードとディレクトリ名の整理、公式サイトの更新履歴と全サイトのバージョン番号を同期。ユーザーに見える新機能はありません

バージョン 6.71

リリース日:2026-09-02

  • 安定性の締めくくり版:デバイス占有の競合を修正。その他の機能は 6.70.0 の項目として公開済み

バージョン 6.70.0

リリース日: 2026-09-01

DpdoEngine

修正

  • DSF/DFF ライターの末尾パディング — DSD16/32 出力時に、ファイル末尾の残存ブロック(0x69 無音)を自動補完し、ヘッダをブロック単位で整列。切り詰めと末尾ノイズを防止

DpdoPlayer

新機能

  • Korg WSD 再生 — DpdoEngine 6.68.1 が出力する .wsd ファイルの再生に対応(1bit マジックを検出し General/DataSpec 領域を解析、全チェーン WSD 直出)
  • DSD → PCM リアルタイムデコード再生(-pcm [rate]) — DSD ネイティブ非対応の DAC でも DSD を再生可能:Pdm2Pcm がリアルタイムに PCM へデコード。rate=0 は自動(DSD/64 または DSD/32)。-pcm-bits 16|24|32(既定 24-bit + ノイズシェイピング)と組み合わせて聴感が大幅に向上
  • WSD 読み込み対応(エンジン側) — DSDReader/Pdm2Pcm が DSF / DFF / WSD の 3 形式をデコード可能に

修正

  • 監査修正 12 項目 — -dev 引数欠落時の argv 範囲外読み出しを防止;DoP DSD128+ 再生ロジックを修正(DSD64→Solution1、DSD128/256→Solution2);256MB 超の大ファイルは自動でストリーミングに切替(OOM 防止);Mixer のクロススレッド競合にロック追加;DSF/DFF ヘッダ解析の境界チェック;pkill -f alsa の広範囲マッチ誤殺を除去;BTL モードは警告して STANDARD にフォールバック;CoreAudio のビジーウェイト 5 秒タイムアウト等
  • DoP DSD128 チャンネルインタリーブ/ビット順序修正 — Solution2 の出力を ALSA interleaved 順に修正(従来は左右チャンネルが入替);Solution2 が is_MSB を尊重(DFF のビット反転誤りを修正);DSD64 判定を dsd_sampling_frequency_base に変更(48k ファミリー 3072000Hz の誤判定を修正)
  • 静かな catch を全廃 — 11 箇所の catch(...) をすべて e.what() 出力に変更し、エラーを無音で握りつぶさないように
  • バックエンド整合性 — AlsaBackend の 24-bit を S24_3LE に統一し PlayerEngine の出力と一致;WASAPI フォールバックのダウンサンプリングにログ警告を追加

ツール

新機能

  • thdn deep-spectrum 検証モード(--deep) — コヒーレント FFT 長 + twofold LSQ トーン除去 + Welch 平均 + ノイズフロア統計。DD 精度演算、Bluestein 任意長 FFT、7 項 Blackman-Harris 窓。参照 fft_app.py と相互検証一致(DSD64 2k–15k 中央値 −194.2 dB)

バージョン 6.69.0

リリース日: 2026-08-31

DpdoEngine

新機能

  • SOS-EF 高次ノイズシェイパー(--sos-ef) — SOS カスケード + 高精度誤差フィードバックのトポロジーで NS13/NS15 の係数爆発の壁を突破。15次インバンドノイズ約 −143 dBFS(DSD64)、任意の奇数次(3–31)自動設計 + Lee 判定基準による安定化
  • WSD フォーマット出力 — Korg WSD(.wsd)の直接出力に対応。固定ヘッダ + Text 領域 + チャンネルインターリーブ DSD(MSB-first)、AudioGate / ffmpeg / Audacity 互換

修正

  • wav/flac 読み込みのビット深度正規化 — 16-bit 素材 ×2、24-bit 素材 ×256 の増幅バグ(s32 変換の除数誤り)。すべての 16/24-bit 入力の変換品質に影響
  • CIFB 安定性監査 — fallback 0.79 の危険を修正し、ビルド時診断を追加

バージョン 6.68.1

リリース日: 2026-08-26

DpdoEngine

新機能

  • WSD フォーマット出力 — Korg WSD(.wsd)の直接出力に対応。固定ヘッダ + Text 領域 + チャンネルインターリーブ DSD(MSB-first)、AudioGate / ffmpeg / Audacity 互換
  • SOS-EF 高次ノイズシェイパー(--sos-ef) — SOS カスケード + 高精度誤差フィードバックのトポロジーで NS13/NS15 の係数爆発の壁を突破。15次インバンドノイズ約 -143 dBFS(DSD64)、任意の奇数次(3–31)自動設計 + Lee 判定基準による安定化

修正

  • wav/flac 読み込みのビット深度正規化 — 16-bit 素材 ×2、24-bit 素材 ×256 の増幅バグ(s32 変換の除数誤り)。すべての 16/24-bit 入力の変換品質に影響

バージョン 6.68.0

リリース日: 2026-08-07

DpdoEngine

変更

  • Dpdo DSP に統一 — 内蔵 DSP モジュールの名称を Dpdo DSP に統一し、全10言語サイトのコンテンツを同期
  • コア静的リンク修正 — GetLogicalProcessorInformationEx を静的リンクに変更し、動的ロードのキャスト警告を解消

ウェブサイト

  • 多言語サイト(9言語サブドメイン)とSEO/GEOの改善

バージョン 6.67.0

リリース日: 2026-08-04

DpdoEngine

新機能

  • 録音しながら変換(ストリーミング録音) — 録音中にリアルタイムでストリーミング変換、録音後の2次変換は不要
  • 全行程64ビット倍精度 — DSP処理チェーン全体を倍精度にアップグレード(工業/オーディオファイル/コンペティショングレード)

改善

  • 深層コード監査 — 3回の監査修正(リングバッファオーバーフロー検出、OOM防御など)
  • コンペティショングレード品質ゲート — -Wall -Wextra コンパイル警告ゼロ
  • パフォーマンス最適化 — FIR/ノイズシェイピングのスレッドプール共有(スレッド生成ストーム解消)、転置係数32Bアライメント、ピーク検出の直列化、SoftLimiter高速パス
  • DpdoAudioTools パラメータ整合 — DpdoEngine と全面的に整合

バージョン 6.66.6

リリース日: 2026-08-04

DpdoEngine

変更

  • CLI11 引数解析移行 — 全パラメータを --param value 形式で分離して渡し、既存の引数吞み込みバグ3箇所を修正(--eq/--eq-precut含む)
  • エフェクトチェーン単体テスト — ビルドラインに追加
  • GUIダングリングポインタ修正 — create_main_window のショートカットボタンが vbox 作成前に pack される問題

バージョン 6.66.0

リリース日: 2024-12-30

DpdoEngine

新機能

  • 11次IIRノイズシェイピング — 既存の 3/5/7/9次に 11次サポートを追加、業界最高水準のインバンドノイズシェイピング性能
  • HRTF 空間オーディオ — 頭部伝達関数ベースの 3D 空間オーディオレンダリングモジュール、ヘッドホンサウンドステージ強化
  • DXD 出力モード — DXD (Digital eXtreme Definition、352.8kHz/24-bit) 形式の直接出力、プロ用 DAW 互換
  • 心理音響ノイズシェイピング — 聴覚マスキングベースの知覚ノイズシェイピング (--psy)
  • 適応型パラメータ — 入力信号に応じた処理パラメータの動的最適化 (--adaptive)
  • OpenCL GPU アクセラレーション — 高次オーバーサンプリングと長時間 FIR フィルタリングの処理時間を大幅短縮
  • ルックアヘッドリミッター (LAL) — 過渡ピーク保護 (--lal)
  • アンチクリッピングフィルタ (APO) — クリッピング保護
  • ステレオエクスパンダー — ステレオ幅拡張モジュール
  • マスタリングプリセット — クラシック、ポップ、ジャズの 3 種
  • Dpdo DSP モジュール — ベース、トレブル、パラメトリック EQ、クロスフィード
  • 8 種類のディザタイプ — TPDF、POW-R、Lipshitz など
  • LUFS ラウドネスノーマライゼーション — ITU-R BS.1770 標準
  • ReplayGain — ReplayGain メタデータノーマライゼーション
  • DST 圧縮 — ネイティブ DST エンコード、DSD ストリームの可逆圧縮
  • ネイティブ DSD 録音 — PCM 中間フォーマットを経由しない直接 DSD ストリーム録音
  • パイプ出力モード — --pipe stdin/stdout パイプライン処理
  • 統計 — --stats 出力
  • スペクトログラム — --spectrogram 生成
  • 逆変換 — --reverse DSD → PCM
  • ユーザープリセットシステム — --preset-load/save/list
  • 分析レポート — --pdfrp PDF レポート、--noise-profiling
  • メタデータサポート — アーティスト、タイトル、アルバム、ジャンルなどの全メタデータパラメータ
  • 自動パンニング補正 — チャンネルオフセットの自動検出・補正
  • イコライザー — マルチバンドパラメトリック EQ
  • ハーモニックサチュレーション — tanh/poly/softclip/fullwave/tape の 5 種歪みタイプ

改善

  • E シリーズノイズシェイピングアルゴリズムを倍精度浮動小数点にアップグレード
  • マルチスレッド並行性を最適化
  • 大容量ファイル (4GB 超) 処理を改善
  • DST エンコードの互換性と安定性を強化

修正

  • 特定サンプルレートでのノイズシェイパー境界安定性問題を修正
  • DFF 書き込み時のメタデータ整列問題を修正
  • OpenCL デバイス列挙の互換性を修正

DpdoPackSACD

新機能

  • 完全な SACD ISO 作成サポート
  • メタデータシステム: アルバム、アーティスト、カバー、ジャンル、年、レーベル、作曲家、指揮者
  • CUE トラックシートインポート
  • Dpdo DSD Disc (DVD-R/RW) サポート
  • バーコード (EAN/UPC) および ISRC サポート
  • マルチチャンネル SACD サポート

DpdoPlayer

新機能

  • ネイティブ DSD 再生 (DSF/DFF)
  • デバイス選択 (-dev)
  • チャンネルレイアウト設定 (-layout)
  • 再生モード: standard、differential、BTL
  • DoP モード: auto/force/native
  • ボリュームコントロール (-vol)
  • 低遅延ストリームモード (-stream)
  • パイプ入力サポート

既知の問題

  • 11次IIRは一部の旧型 CPU で計算時間が長くなるため OpenCL アクセラレーションを推奨
  • DST 圧縮ファイルは一部のサードパーティプレイヤーで DSF への展開が必要
  • DpdoPlayer の macOS 版では一部の USB DAC でデバイス名の手動設定が必要