版本 6.75.0
發布日期: 2026-09-25
DpdoPlayer
改進
- 多聲道 DSD 可依聲道分配到多台裝置:一條 DSD 流按聲道分送 —— 左右聲道各接一台、或 6 聲道分三台這類接法都行,用幾台裝置由所選模式決定;DoP 打包的佈局只保留一份實作,並有逐位元組契約用例把關。
- DSD 直出的口徑寫明:聲道重排、聲道重複這類 1-bit 做得到的操作允許直出;需要求和 / 改增益 / 整路靜音這類 1-bit 做不到的操作會按理由明確拒絕,不再靜默降級;需要求和的方案會自動改走 PDM2PCM 解碼,並在日誌裡寫明原因。
- 裝置吃不下 DoP 載體碼率時按實測降檔:按量測把 DoP 載體降到該裝置收得下的檔位(引擎側的 DSD 速率變換)。
- 多聲道折疊到較少聲道時做整段靜態正規化:起播前先掃一遍整段峰值,再對整段施加一個固定衰減(不是 AGC,也不是限幅),正規化之後不再削頂。
- 新增命令列開關
-rig-info:把預設的解析結果匯出成 JSON(與-rig載入時同一套 schema),介面據此把預設裝進編輯器。 - 新增 macOS 版:原生 CoreAudio 輸出後端 —— DoP 載體輸出、獨佔(hog)模式並做回讀驗證、是否支援原生 DSD 依實測探測(不寫死);命令列播放器入口與 DMG 打包腳本一併就位。
- 新增 iOS 客戶端:引擎在應用程式行程內執行(不再依賴子行程)、輸出依音訊工作階段走 DoP;功能解鎖走 App Store 內購(IAP);隨附上架所需的隱私清單與提交契約檢查。
修復
- 一首播完接不上下一首: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 / 長度 —— 報的是音源,不是送往裝置的格式。
- 「正在播放」面板新增左右雙聲道活動條:依真正寫入裝置的那一片資料顯示即時峰值,到 0 dBFS 會變紅並留痕 1.5 秒 —— 會不會爆音一眼可辨(暫停時歸底)。
- 新增「上一首 / 下一首」按鈕:播放中在同一工作階段內換曲(不關閉並重開裝置),到第一首 / 最後一首會變灰並如實說明;未播放時只移動選取。
- 音量滑桿兩側新增
−/+按鈕(一次 ±5,可長按連發),與滑桿走同一條下發路徑。
修復
- 介面圖示統一:暫停 / 上一首 / 下一首改用與播放、停止同族的文字符號 —— 先前的媒體控制符號會被系統渲染成彩色圖示,在部分字型下甚至顯示成方塊。
版本 6.74.22
發布日期: 2026-09-23
DpdoPlayer
改進
- 正在播放的那一軌會跟著走:SACD ISO / CUE 整張盤連續播放時,高亮與加粗隨曲目切換(此前永遠只標在第一行)。
- 「檢查更新…」入口挪到狀態列授權入口之後:三個介面統一;原本的「說明」選單已刪除(入口太深等於沒有)。
- 裝置清單列出全部端點(含未啟用 / 未插入):每條端點標出實際格式,並點名「HQ」端點族 —— 便於挑出能 bit-perfect 的那一條。
-start/-end指定-track時按軌內相對秒:-track 2 -start 0 -end 5就是該軌的第 0–5 秒;越界會明確拒播,不再給出半截資料。- 同一次工作階段內換曲不再關閉並重開音訊裝置(同一張盤內切歌明顯更快,也不打斷 DSD 輸出):換曲時輸出格式沒變就沿用已開啟的裝置,不再「關掉—重開」。
- 暫停在 DSD(DoP)輸出下真正生效:暫停期間繼續輸出「帶 DoP 標記的靜音」,恢復後從原位置繼續 —— 既不掉出 DSD 域,也不跳進度。
修復
- 首曲出現沙沙聲、再點一次就正常:引擎在拿到最終輸出設定之前就開播了,首曲誤用了上一次的模式;現在設定一定在首次播放前到位。
- kX 類音效卡的 ASIO 認不到:該驅動的初始化會卡住,探測改到獨立行程並限時 4 秒 —— 卡住也只影響那一段,並寫明卡在哪一步。
- 換曲後無法開啟裝置(
0x800401f0):COM 初始化改為按執行緒執行,涵蓋全部呼叫點。 - 換裝置 / 換方案後偶發「裝置被占用」:等待舊工作階段退出的時間由 3 秒改為有上限的 10 秒,獨占重試預算放寬到約 12 秒。
- 多聲道被折疊成立體聲時介面會醒目提示(含折疊方式與 LFE 去向),不再只寫在日誌裡。
- 指定了輸出裝置卻從另一台裝置出聲:指定裝置後 ASIO 不再搶走輸出,日誌也會寫明實際出口。
- 裝置沒有 DSD 通路時不再硬發 DoP(那只會是超聲或靜音):改為解碼成 PCM,並說明原因。
- 線上更新失敗或被取消時不再自動重啟(此前會卡在「重啟 → 又提示 → 又取消」)。
- 更新提示裡不再出現裸的
%s。 - SACD ISO 扇區佈局的兜底警告只報一次(此前逐扇區刷屏上千行)。
- 修「播放有爆點」:指定輸出裝置後,本來能做 DSD 的裝置(DoP=yes 的 USB DAC)的 DSD 播放被降級成 DoP —— 現在只在該端點自己沒有 DSD 通路時才改道解碼,能做 DSD 的仍走它自己的原生通路。
- DoP 獨占緩衝改為優先取大(2 秒起逐檔退,實測由 80 ms 提升到 500 ms):緩衝過小會週期性欠載,聽感就是爆點。
- ComTrue/Fosi 系 USB DAC 的 auto 預設改走 DoP:這類裝置的 ASIO 原生輸出實測沒有聲音(原本要設環境變數才改走 DoP,介面預設因此放不出聲)。
- 起播與播放期間不再重新列舉/探測音訊裝置(起播爆響與播放中「不定期爆一聲」的一類根因)。
- 碰裝置音量或換曲之前,先把輸出緩衝墊好「帶 DoP 標記的靜音」:掉出 DSD 域的那一瞬落在靜音上,減少爆點(播放中調整音量時,某些 DAC 仍可能聽到一次輕微爆點)。
- 明確選擇 native / ASIO 輸出時不再被自動改回 DoP:按所選的輸出路徑執行(auto 仍由播放器挑選最佳路徑),日誌會寫明該路徑在本機上的已知後果。
- 修復個別舊版自製 SACD ISO 播放時每約 0.9 秒一次的輕微爆音:這類盤有少量扇區的包頭長度比扇區內實際音頻少 3 個位元組(尾部有游離位元組),讀取器此前會把整個扇區當成非音頻而丟掉 —— 現在按宣告長度取位元組,音樂不再丟(商業 SACD 盤的解析結果不變)。
- 修復切歌後播放停住、不再自動下一首:工作階段內換曲時舊曲殘餘被丟棄後,輸出流停住卻沒有重新啟動,導致寫入連續停滯並中止整次播放(中止按約定不報「播放完成」,所以看起來就是不接下一首)。現在丟棄殘餘後立即把流重新跑起來;差分(多裝置正/反相)輸出同樣修好了(它此前漏了把「重新準備」轉發給各台子裝置)。
版本 6.74.21
發布日期: 2026-09-23
DpdoPlayer
改進
- 獨佔工作階段模型:選定裝置開始播放即獨佔,換曲不換裝置(同取樣率原地重新配置,跨取樣率與 DSD↔PCM 依驅動限制處理),換裝置或改聲道方案才重新開啟;關閉程式一定釋放獨佔。
- CUE / SACD ISO 在同一個工作階段內連續播放:整張碟只開啟裝置一次,換曲不再重新開啟(先前每首各起一個行程,每首都重新獨佔裝置)。
- 播放面板參數全部記住:模式 / 聲道佈局 / 聲道方案 / 位元深度 / DoP 檔 / PDM2PCM 開關與增益 / 分頻 / 音量,重開程式照舊生效。
- 三個介面都內建線上更新:啟動時靜默檢查一次(只有真有新版本才提示),選單「說明 → 檢查更新…」可隨時手動檢查;下載後校驗 SHA-256,能就地覆蓋安裝目錄就覆蓋,覆蓋不了才呼叫安裝程式(Windows 靜默安裝、Linux 用系統套件管理),更新完成後自動重新啟動程式。
- 授權出問題可以直接定位:授權校驗失敗時記錄會列出本機全部硬體因子(值已雜湊,不含原始序號)與防回撥狀態鍵;命令列新增
-auth-diag,連跑兩次比對就能看出是哪個因子在變。
修復
- 換曲不再中斷獨佔工作階段:先前每次換曲都先停止播放器(釋放裝置)再重開,獨佔工作階段形同沒有;現在換曲在工作階段內完成,裝置不再反覆開關。
- 雙擊才換曲、單擊只選取:先前雙擊會連發兩條播放命令。
DSD 直送失敗或裝置不支援該位元深度時不再中斷:同一個行程內就地改用 PDM2PCM 解碼(裝置拒絕該位元深度時自動退到 16 bit),已排隊的曲目與工作階段都不會遺失。 DSD 回退後的解碼判決不再留給下一首:裝置沒有 DSD 通路時播放器會就地改用 PDM2PCM 解碼;先前這個決定留在工作階段裡,接著切到 PCM(如 FLAC)會被按 DSD 解碼而播不出來。現在每首依工作階段設定重新判定。
進度與總時長顯示修正:末軌("播到檔案尾")的時長先前按內部哨兵值顯示成 31 年、進度條直接跳到 98%;現在一律按真實檔案尾計算。
- 24 位元 PCM 在只接受 S16_LE/S32_LE 的裝置上不再打不開:裝置拒絕 24 位元容器時自動改用 32 位元容器重新開啟,同一數值左移 8 位元、滿刻度對齊,完全無損(不是降低位元深度)。
- 按 Start 從上次播到的那一首繼續:先前每次都從第一首重新開始;僅當清單裡找不到那筆記錄(換過清單或該曲已刪)才回到第一首。
- 修「憑證有效卻被拒」:防回撥狀態檔的校驗鍵先前由"本機目前可用的硬體因子集"算出 —— 韌體或系統更新讓因子集變化之後,舊狀態檔會被判成"被改過",於是報
No valid '.DpdoPlayer.crt' found而拒絕授權(憑證本身完全有效)。現在校驗鍵不再依賴會變的因子集,並且只有所有狀態副本都驗不過才判竄改。
版本 6.74.20
發布日期: 2026-09-21
DpdoPlayer
改進
- 聲道方案統一(裝置↔聲道對應 + 混合矩陣 + 混合音量):介面「聲道方案」可選預設、編輯 8×8 混合係數、載入/儲存
*.json方案;命令列-rig收預設名或同一份方案檔 —— 一個方案同時管介面與命令列。方案不合法(未知聲道名、係數越界、對應長度與裝置不符)直接拒絕播放,不會靜默套用錯矩陣。 - 新增實測掃描(
-scan):用當前方案把整段素材真跑一遍,報每路實測峰值、是否削頂、以及要落回 0 dBFS 該設的混合音量。峰值只讀樣本,不改音質。 - DSD 直出支援逐聲道重排:native / DoP 直出下也能指定「第 i 台 DAC 接第幾路」;需要混音或改電平的方案會自動改用 PDM2PCM 解碼播放,並在日誌與播放說明裡寫明原因(能播優先)。
- 裝置聲道數多於來源時按左右對稱補齊:立體聲來源 → 4 路 = L,R,L,R;→ 5.1 時中置與低頻留空(幻中置),不再「複製最後一軌」。
PDM2PCM 輸出增益預設 +6 dB(DSD 與 PCM 素材等響),
-pdm2pcm-gain 0可關閉。播放緩衝 200 ms → 2000 ms(Windows 獨佔與 Linux 輸出同一口徑):緩衝更大,能扛住餵數執行緒被系統搶佔的那幾十毫秒;開流日誌會印出實際拿到的緩衝值。
- 記住上次播放到哪一首:打開播放清單時自動選取並捲動到那一首(該曲已被刪除時如實提示,不會跳到別的曲子)。
- 起播前的掃描有進度了:DSD/多聲道素材在起播前要整盤試算峰值,現在每秒回報一次百分比與秒數,介面同步顯示進度條,不再像卡住。
- 同一檔案重播、切歌回來不再重複掃描:試算結果按檔案快取(以路徑+大小+修改時間+當前聲道方案為鍵),第二次起播幾乎立刻開始;快取不改變輸出,一個位元組都不動。
- pairs 多裝置模式:每台裝置吃來源的一對聲道,原樣輸出(不取反)—— 4 聲道來源接 2 台 DAC、8 聲道接 4 台,不必再拆成多條命令。
- IEC 61937 直通(
-passthrough):不解碼,把 DTS 位元流封成 IEC 61937 突發交給擴大機/解碼器解。音量、矩陣、正規化在這條路上完全不參與(位元流動一個位元就是損壞),開播日誌會寫明。需要接收端支援。 - 多裝置模式名稱統一:差分/BTL/分頻/pairs 現在都由
-mode指定,日誌會印出每台裝置實際吃哪幾路。 - 無損壓縮格式(APE / WavPack / TTA / ALAC)改為逐幀流式播放:長專輯不再整盤解進記憶體(實測 300 秒素材由約 220–320 MB 降到約 15 MB),起播也不再等預載。
- PDM2PCM 解碼(DSD→PCM)改為多核並行:多聲道素材約快一倍,輸出逐位元組不變(串行與並行結果完全相同)。
- 新增「播放後還原裝置音量」選項(命令列
-restore-vol,或寫進player.conf的restore_vol=1):設定過裝置音量後,播放結束自動還回播放前的值;預設關閉。修復
- 多聲道下混不再靜默丟中置/環繞:裝置聲道數不夠時改為按 BS.775 角色折疊(LFE 不參與),削頂次數會統計並寫進日誌。
- Linux 上藍牙耳機等系統混音輸出現在能正常播放:藍牙音訊在系統混音器之後,播放器以前只列音效卡,介面的裝置清單裡根本沒有耳機(選不到=放不了);現在清單會列出系統輸出與每個輸出端點。被掛起的輸出會在開播前自動喚醒(此前吞吐只有約 1/13 即時,聽起來像卡住),
-vol也改為設定該輸出自身的音量,不再誤改其它音效卡。 - 母帶預設隨安裝包一起出貨:Windows 安裝包、Linux 的 deb/tgz 與可攜目錄都能讀到 6 個預設(此前包裡沒有,得手工放進去)。
- DSD + 多裝置(差分/BTL)不再中途卡住:開播前逐台檢查 DAC 的 DSD 能力,只要有一台不支援就整體改用 PDM2PCM 解碼,並在日誌裡點名是哪一台(此前會先按 DSD 開啟,中途寫入逾時後中止整次播放)。
- 裝置有多路播放音量控制項時,現在每一路都設到目標值:此前只設一路,另一路停在裝置自己的低位(實測 Fosi DS1 第二路低 20 dB)⇒ Linux 會比 Windows 明顯輕。開啟「還原裝置音量」時,每一路都會逐位元組回到播放前的原值。
- 兩處「逐位元組精確」修復:多聲道(>2 聲道)輸出不再有 ±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 不進下混),多聲道端點則一軌一台裝置;進度、曲目間無縫與多裝置差分沿用 DSD / PCM 那條鏈路。播放說明與檔案選擇篩選器裡的「支援格式」改成與播放器實際能力一致:補上 SACD ISO、CUE、AIFF,移除從未支援的 MP3 / AAC / OGG;拖入資料夾時會明確報出沒有解碼器的音訊檔數量,不再靜默略過。
本版引擎與打包器無功能變更。
版本 6.74.18
發布日期:2026-09-20
DpdoEngine / DpdoPackSACD / DpdoPlayer
改進
- 引擎端命令列輸出與日誌全部改為英文(說明、錯誤、報告口徑一致);Windows 下的中文輸出不再亂碼;四個圖形介面(播放器 / 打包器 / 音訊工具 / 授權註冊)支援中英雙語,隨介面語言切換,也可用 DPDO_LANG=zh|en 明確指定。
- 命名統一:原「DSD→PCM」一律稱 PDM2PCM(與專案名 PCM2PDM 對稱);命令列為 -pdm2pcm-gain、環境變數為 DPDO_PDM2PCM_GAIN(舊名不再接受)。
- 播放器讀 SACD ISO:光碟本身沒有軌層級標題時,曲目名稱以「專輯 - 演出者 - 軌號」補齊,不再顯示成檔案名稱。
修正
- DpdoEngine --log 的四個取值(fir / ns / freq / all)先前會崩潰或卡住、產物為空 —— 已修。
- Windows 安裝程式改為可選元件安裝(播放器 / 打包器 / 命令列工具,預設全裝)。
授权
改進
- 授權體系加固。
更新日誌
版本 6.74.16
發布日期:2026-09-15
DpdoPlayer
修正
- 板載端點被餵 DoP 只有絲絲聲 —— 能否放 DoP 改用裝置端證據判斷:端點「能開 176400」不等於「能解 DoP」(板載 codec 電路上就沒有 DSD 通路)。判為不支援的端點,
-dop force會被拒絕並自動改用 DSD→PCM 解碼播放;真強制保留除錯開關 - 收尾那聲絲絲聲/卡住:WASAPI 收尾排空改為有上限、且能被停止請求中止的真等待(以前空轉或算秒數,緩衝殘餘資料被直接丟棄=收尾爆音);ASIO 收尾與寫入環的空轉等待一併移除
- 「開啟成功卻寫不進去」:獨佔 PCM 不再對裝置打事件等待;閒置後第一條獨佔流偶爾「被接受但永不消費」時,播放器會自動丟棄它、重開一條並繼續播放(判據只看緩衝佔用,不看音訊時鐘)
- 按停止沒反應、只能關掉 GUI 才停:自動回退會重啟子行程來播放,而停止命令寫在父行程的 stdin 上、被父行程吃掉 —— 現在子行程使用獨立的命令管線、父行程只負責轉發,已按停止就不再重啟。實測同一素材停止:82 秒 → 0.15 秒完成收尾
改進
- GUI:裝置下拉顯示能力後綴(⟨DoP 2x⟩/⟨DoP 1x⟩/⟨DoP 未確認⟩/⟨僅 PCM⟩)與一行「實際會發生什麼」提示;新增「標記為 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 加速兩端一致);數值選項統一取值守衛(不再吞掉輸出檔名);引擎 GUI 預覽崩潰與子程序收尾
版本 6.74.13
發布日期:2026-09-13
DpdoEngine
修正
--surround一直是失效的;可選位置參數會吞掉輸出檔名;--hrtf-load失敗時靜默無提示
改進
- 空間音效/環繞/音調獨立頁(HRTF · 環繞 · 音調 · DSRE)
版本 6.74.12
發布日期:2026-09-13
DpdoEngine
改進
- 調變器四選一介面 +
--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 回呼崩潰的根本原因修正(回呼尚未就緒就解引用自身)+ 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 上無效 —— 兩個輸出後端此前只記錄數值、不落到裝置上;現在落到裝置(DAC)側音量,宿主端不對 DSD 位元流做軟體衰減(無損);不寫-vol則完全不動裝置音量
改進
- 啟動輸出一行唯讀診斷(目前端點音量),便於核對
-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 時輸出一行診斷;依 ASIO SDK 規定不在宿主端調整執行緒優先權(優先權屬驅動職責)
DpdoPackSACD
修正
- UDF 卷識別寫得不合規範,第三方工具讀不出碟名 — 中文卷名時描述符裡的長度按「字元數」記(規範要求按「位元組數」),主卷描述符的編號也寫成了 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被靜默忽略 — seek 失敗後沒有退路,參數等於沒寫;現已生效 - 裝置被占用時白回退、不說原因 — 現在明確報出占用原因,不再靜默換裝置
-start/-end指不到 CUE / SACD ISO 裡的某一首 — 區間序列現在支援起播偏移,Windows 端與 Linux 對齊- 差分 / 數位分頻下多裝置反覆切換模式 — 開工前先做 DSD 預檢,避免裝置被反覆切換出聲;分頻強制走 PCM 域
通用
改進
- 兩平台選項契約對齊(9 → 27 項) — 未知選項不再一律甩給「Windows 專屬」,兩邊參數形狀有差異會被回歸當場抓出
版本 6.74.2
發布日期:2026-09-12
DpdoPlayer
修正
- 播放進度總時長一直跳動 — Windows 下進度條右側的總時長曾被每次重新推算(已播秒×100÷百分比),兩個來源不同的量相除導致數值亂跳;現改由引擎按曲目給定總長(只在換曲時變化),已播秒與 Linux 端統一為「總長 × 進度」
改進
- 回歸項增至 27 項 — 新增「進度協議 + 兩平台選項契約」與「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) — 等化器頻段編輯與響應曲線、母帶預設與預設管理器、波形/頻譜預覽、錄音頁(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 靜音)自動補齊並按區塊對齊 header,杜絕截斷與末尾毛刺
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 三種格式
修復
- 審計修復 12 項 —
-dev缺參不再越界讀 argv;DoP DSD128+ 播放邏輯修正(DSD64→Solution1、DSD128/256→Solution2);大檔案 >256MB 自動切流式防 OOM;Mixer 跨線程競爭加鎖;DSF/DFF 頭解析邊界校驗;移除pkill -f alsa寬泛匹配誤殺;BTL 模式明確警告回退 STANDARD;CoreAudio 忙等 5s 超時等 - 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 fallback 降採樣率加日誌警告
工具
新增
- thdn deep-spectrum 驗證模式(
--deep) — 相干 FFT 長度 + twofold LSQ 去音 + Welch 平均 + 噪聲底統計;DD 精度運算、Bluestein 任意長度 FFT、7 項 Blackman-Harris 窗;與參考fft_app.py交叉驗證一致(DSD64 2k–15k median −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),固定頭 + 文本區 + 聲道交錯 DSD(MSB-first),兼容 AudioGate / ffmpeg / Audacity
修復
- wav/flac 讀取位深歸一化 — 16-bit 素材 ×2、24-bit 素材 ×256 的放大 bug(s32 轉換除數錯誤),影響所有 16/24-bit 輸入的轉換質量
- CIFB 穩定性審計 — 修復 fallback 0.79 隱患,增加構建時診斷
版本 6.68.1
發佈日期:2026-08-26
DpdoEngine
新增
- WSD 格式輸出 — 支持直接輸出 Korg WSD(
.wsd),固定頭 + 文本區 + 聲道交錯 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 的放大 bug(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
新增
- 錄音邊錄邊轉(流式錄音) — 錄音時即時流式轉換,無需錄完再二次轉換
- 全程 64 位雙精度 — DSP 處理鏈路全面升級 double 精度(工業級/發燒級/競賽級)
改進
- 深度程式碼審計 — 三輪審計修復(環形緩衝溢位檢測、OOM 防禦等)
- 競賽級品質門禁 — -Wall -Wextra 編譯零警告
- 效能最佳化 — FIR/雜訊整形共享執行緒池(消除執行緒建立風暴)、轉置係數 32B 對齊、峰值檢測序列化、SoftLimiter 快速路徑
- DpdoAudioTools 參數對齊 — 與 DpdoEngine 參數全面對齊
版本 6.66.6
發佈日期:2026-08-04
DpdoEngine
變更
- CLI11 命令列解析遷移 — 全庫參數統一
--param value分開傳,修復存量吞參問題(含 --eq/--eq-precut 共 3 處) - 效果鏈單元測試 — 納入構建線
- 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.8 kHz/24-bit) 格式輸出,兼容專業音頻工作站
- 心理聲學噪聲整形 — 新增心理聲學模型感知噪聲整形 (
-psy),利用聽覺掩蔽效應優化噪聲分佈 - 自適應參數 — 新增自適應參數調整功能 (
-adaptive),根據輸入信號動態優化處理參數 - OpenCL GPU 加速 — 引入 GPU 加速框架,顯著降低高階上採樣和長 FIR 濾波的處理時間
- 前置限制器 (LAL) — 新增前瞻限制器 (
-lal),提供瞬態峯值保護 - 削波濾波器 (APO) — 新增 Anti-Popping Overflow 削波保護
- 立體聲擴展器 — 新增立體聲寬度擴展模塊
- 母帶預設 — 新增古典、流行、爵士三種母帶預設
- Dpdo DSP 模組 — 低音、高音、參數均衡、交叉饋送
- 8 種抖動類型 — 新增多種抖動算法,包括矩形、三角形、噪聲整形等
- LUFS 響度標準化 — 支持 ITU-R BS.1770 標準的響度測量與增益調整
- ReplayGain — 支持 ReplayGain 元數據標準化
- DST 壓縮 — 原生 DST 編碼支持,無損壓縮 DSD 流
- DSD 原生錄製 — 支持直接錄製 DSD 原生流,繞過 PCM 中間格式
- 管道輸出模式 — 新增
-pipe模式,支持 stdin/stdout 管道處理 - 數據統計 — 新增
-stats統計信息輸出 - 頻譜圖 — 新增
-spectrogram頻譜圖生成 - 反向轉換 — 支持
--reverseDSD → PCM 反向轉換 - 用戶預設系統 — 新增
-preset-load/save/list預設管理 - 分析報告 — 新增
-pdfrpPDF 分析報告、-noise-profiling噪聲分析 - 元數據支持 — 完整的元數據參數(藝術家、標題、專輯、流派等)
- 自動聲像校正 — 自動檢測並修正聲道偏移
- 均衡器 — 多段參量均衡器支持
- 諧波飽和 — tanh/poly/softclip/fullwave/tape 五種諧波失真類型
改進
- 將 E 系列噪聲整形算法提升至雙精度浮點
- 優化多線程併發性能
- 改進大文件(超過 4 GB)處理能力
- 增強 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 需要手動配置設備名