版本 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 需要手动配置设备名