发烧论坛

注册

 

发新话题 回复该主题

Foobar2000 DSD实时转换软件设置与音质体验——我的实践 [复制链接]

1#
首先转载一篇文章,学习一下。向文章原作者赵宇为先生和数码多网站表示敬意!
Foobar2000 PCM到DSD实时转换软件设置、音质体验与工作原理
作者:赵宇为  2016.09.07  发表于 数码多 网站
http://www.soomal.com/doc/10100006835.01.htm
无论是随身听播放器还是USB接口的DAC产品,对DSD音频的支持在这一年多里变得越来越普及,而从2011年10月得益于PS3的破解,SACD Rip内容流出至今已经过去了近五年,索尼以默许甚至鼓励的态度来推广这些明明是盗版的SACD的录音制品,支持DSD播放的硬件设备也越来越多,甚至可以说达到了普及的程度。DSD是否带来了更好的音质?可否将所有的PCM音乐全部转换成DSD?这么做是否可以有音质提升?这些答案都是肯定的。而本文主要来讲解如何通过Foobar2000设置,让所有的PCM音乐,包括16bit/44.1kHz或者高清的24bit/96kHz的音乐,都让USB DAC以DSD的形式播放。并且会谈到简单的工作原理。
一、需要使用的工具与功能
Foobar2000播放DSD应该使用的工具
原本,我们打算先写一篇在Windows10下设置播放DSD的文章,因为在最近测试各种USB声卡时在Windows
ASIO下确实遇到了一些问题。如今在Foobar2000下播放DSD和2012年时写的文章内容其实有了一点点变化。虽然工具还是那几个,但版本升级带来了实用方法和界面上的区别。我们在谈到PCM到DSD转换之前,先来简单说明一下这几款工具现在的版本和变化。
首先,整个测试基于Foobar2000的较新版本1.3.10正式版,要在USB模式下播放DSD的音乐,当然需要安装用来识别常见SACD Rip封装文件的插件。在Foobar2000中,这个插件叫做foo_input_sacd版本是0.8.4。同时,USB声卡需要以ASIO的通道来传输数据,需要安装Foobar2000的ASIO插件,目前的版本是2013年的一次更新为2.1.2.由于以上两个小插件的更新,其实如果只是播放DSD,已经不需要安装ASIO,Proxy这个插件了。下文我们会谈到。
但是要玩PCM到DSD的实时转换,或者希望切换DSD的工作模式是Native还是DoP,还是需要安装ASIO Proxy,这里推荐安装最新版本0.9.2,这是一个在2016年8月刚刚更新的版本。这个版本其实就解决了0.8.x版本在Windows10下运行不稳定,设置窗口经常无法弹出的问题。
至此,都安装上了最新版本的ASIO插件、SACD插件和ASIO Proxy插件后,Windows10下的Foobar2000播放DSD应该是没有任何问题的。下面我们来聊聊ASIO Proxy这个插件的强大功能。
ASIO Proxy插件的功能
ASIO Proxy插件的名字有点奇怪,听起来以为是给声卡的ASIO做一个设置的代理,但从功能上来说它其实是一个DSD到ASIO的通道管理器。在0.7.x的**,我们虽然安装了Foobar2000的ASIO插件,但在播放设备中还不能如图下红框内直接看到DSD ASIO播放设备[这是新版插件的功能,2012年-2013年还不可以]。所以,我们必须要安装ASIO Proxy,在里面设置需要用于DSD输出的ASIO声卡设备。而现在已经不需要了。

Foobar2000DSD播放设置-ASIO/DSD插件下直接可以选择播放设备

那么ASIO Proxy有什么功能呢?在0.7的早期版本,ASIO Proxy除了选择管理声卡ASIO设备外,还可以选择这个设备工作的模式。当年DoP1.0的规范刚刚出现。而现在还有了DoP的1.1规范,DSD ASIO Native规范等等。而在之后某个版本,ASIO Proxy开始加入了DSD to DSD、PCM to DSD的转换功能。至少这在0.8版本中已经出现,这个时间应该已经有两年多了……但我们忽略了这个强大的功能一直没有使用。直到前几个月,Mac上的Audirvana播放器升级,说支持SDM转换了,研究了一下才明白,原来这就是PCM到DSD的实时转换器。也就是说,我们平时使用的PCM规格的音乐,通过ASIO Proxy,经过简单的设置是可以全部以DSD的方式输出播放的。也就是说16bit/44.1kHz的音乐也可以以DSD64或者DSD128格式播放,可是这有意义啊?我们接下来说说它的简单原理。


二、PCM转DSD音质为什么会更好?

跳过或减少Delta-Sigma DAC的多比特多阶调制器



Delta-SigmaADC和DAC工作流程图(图片转载自DSD-Guide)

如图所示,这是转载自DSDGudie[dsd-guide.com]的一张Delta-Sigma ADC和DAC的工作流程图。我们先来看DAC部分,即后面那个橙色方块的流程。Delta-Sigma是A/D和D/A的一套独特的方法,大概从上世纪80年代起即进入了这一类DAC独当一面的**,有兴趣可以来看看这个帖子[音频]《转发一篇DAC发烧贴:1bit和多bit,DAC名器和简单原理!》[发布者:acwell] 。我们目前使用的DAC芯片,全部为这一类DAC。Delta-Sigma的实现方法很难用一个通俗易懂的例子来讲解,目前来看只能用数学的方法来描述,这里先不做讲解。

但从音响发烧友的角度,用发烧友常用的词汇来谈谈Delta-Sigma DAC和我们常见的一些玩法和说法。首先,如上图可以看到它将这个模块标注为Oversampling DAC,即这种类型的DAC是要做升频的。因为44.1kHz的采样率相对较低,而低通滤波又不可能像数字上看到的那么理想,所以必须要把噪声推到更高的频率段。所以,Delta-Sigma DAC要做多阶的调制,对PCM规格的信号进行升频,并且做1bit化的输出。这个过程一般习惯称之为SDM即Sigma-Delta Module。所以,任何Delta-Sigma DAC都具有解码DSD的能力。老产品不支持DSD解码,是因为在设计上的数字通道没有留下硬件上的接口,而不是DAC的问题。

将PCM转换为DSD 1bit输出其实并非SACD之后的专利和产物,从历史角度来说,SACD还应该是从Delta-SigmaDAC上获得了灵感而彻底优化后的产物。我们知道,在80年代很多CD机有1bit的解码技术,例如知名的飞利浦DAC7[这不是一颗芯片],而是TDA1547DAC和SAA7350芯片的组合。因为设计师看不上TDA1547内的SDM,而外加一颗芯片SAA7350专门做三阶调制和数字滤波。所以,今天一些DIY产品只使用TDA1547是不可能做出DAC7的味道的。而在那个**,由于集成在DAC内的SDM性能指标差,所以外置SDM和外置数字滤波器的方案很常见。这样看似费力的方案,其实性能确实不输给今天集成度很高的单一DAC芯片。但是,和优秀的DAC相比,例如CS4398已经有五阶的SDM,现代的DAC可能会更好一些。

Delta-Sigma DAC用一种特别的方法对D/A进行处理,升频、波形重整的过程大体上说牺牲了速度而换取了精度。升频的好处对于信噪比来说显而易见,噪声被移到了很高的频率段,对模拟低通滤波来说设计更为方便。但,也正是SDM的多阶过程的每一个变化都会产生相位上,时钟上的失真。也因此我们一直在谈论说,数字音频对时钟要求多么多么高。这其实是Delta-Sigma方法和PCM编码带来的问题,而并不是所有数字音频的问题。当然,在CD机**,电动机的伺服系统的时钟也同样重要。

我们能否避免SDM带来的失真呢?DAC7和80年代的1bit DAC设备告诉我们一个方法,用更好的芯片来完成这个工作。不同**有不同的做法。第一,我们在ADC时就直接使用高采样率,对于AD和之后的DAC来说,它可以少做升频,减少失真,降低时钟Jitter的影响。这也就是为什么我们听24bit/96kHz的音乐更好听的道理,并不是因为你听到了什么20kHz-48kHz的超声波,也不是因为96kHz的采样率记录了更多的节目信息,而是降低了SDM的负担,减少了DAC内部的失真[ADC同理]。但这还不彻底。彻底的方式,就是不经过SDM,直接输出。可不可以?

当然可以,播放DSD得到好的音质就是这个道理。而我们现在要用软件来实现SDM更是可以,用电脑的CPU配合播放器软件来完成整个SDM的工作,而只使用DAC芯片内的DSD解码部分。所以,从理论上来说这是完全成立的。


PCM不同规格信号与DSD信号的频域噪声信号分布图(图片转载自DSD-Guide)

这张图片的意思不是说高采样率和DSD拥有更多的信息,超声波配合你的超能力,所以听起来就更逼真。而是说,将噪声放在更高的频率段,明显更容易被模拟器件的滤波器滤除干净。

也许你还不相信CPU和软件算法的能力?我们不如回到ADC,即你听到的录音制品制作的过程。即便是DSD64的SACD内容,它也是基于24bit或者32bit的384kHz或者352.8kHz的PCM录音下,通过SDM转换而来的,而不可能是DSD直接录音的。为什么这么说,因为目前DSD音乐无法做后期编辑处理。其实,24bit/352.8kHz已经并不比DSD64差了。

小结:我们这里做一个小结,来说明Delta-Sigma DAC在解码PCM、解码高清PCM、解码DSD时差别的原因是在于它内部的SDM需要工作在什么状态。简单的说,我们使用24bit/96kHz[或更高采样率]是让了DAC内部的整形做更少的工作,而不是听到超声波。而我们用软件的方法做升频,也是同样道理——软件的升频其实是为了DAC内部不升频。而DSD是更彻底的方案,下面要做的就是用软件来实现PCM到DSD转换,让播放音乐时DAC直接进入DSD状态。

三、设置方法与主观听感

Foobar2000DSD设置之ASIO Proxy 0.9版本 PCM-DSD转换设置

在这套设置中,PCM到DSD转换和播放DSD音乐其实没有什么差别。这里直接进入设置方法,安装的插件请见前文。ASIO Proxy 0.9版本如图所示和0.8版本相比有所变化,看起来更为直观。在安装好该软件后,在ASIO设备中可以看到dsd-asio选项,双击单开,如图看到界面。这个界面顶部可以选择要使用的声卡设备。如图我们使用FiiO ASIO Driver。



Foobar2000DSD播放设置-ASIO Proxy 0.8.3版本设置界面

图中有五列内容,第一列已经是现成的采样率,标明了Input。它是指一个输入条件,即你在播放该采样率、该格式的音乐时会做以下四个项目的转变。Output是指以什么形式输出,可以选择DSD64、128和256.DSD256或512,必须要DSD Native才可以,DoP1.0是不可以的。


Foobar2000DSD播放设置-PCM实时转换DSD界面-ASIO Proxy 0.9版本设置界面

Converter内,是四个类型的SDM,Type ABCD,没有找到ABCD的官方说明差别。Sample&Hold,不太明白,好像是DSD to DSD时的升频,似乎没太大必要了。DSD64和DSD128的差别真得听不出来,更不要说DSD512了。DSD Mode有常用的DoP和Natvie,当然还有两个独家的方案。



Foobar2000DSD播放设置-PCM实时转换DSD界面-ASIO Proxy 0.9版本界面与CPU占用率情况

如图所示虽然是FiiO的Driver,当然只是我们一个实验性的设置,经过测试,飞傲的播放器USB DAC模式是可以支持DoP和Native两种模式DSD的,但最高只可以支持到DSD64.PCM到DSD的SDM需要消耗一定的CPU运算量,如截图所示,我们是在做一个24bit/96kHz到DSD64的转换,在Macbook Air的i5 4250U [1.9GHz 双核超线程,带超线程的i5……] CPU下,需要7%-15%左右的CPU占用率。

而对比macOS下的Audirvana Plus的SDM,Foobar的这套精度应该还比较低,这款播放器下的SDM可以选择7阶和8阶[CS43xx系列是5阶,而DAC7是3阶]的精度,CPU占用率要比这个高2-3倍。我们会单独写一篇Aurvana Plus的滤波器功能的文章。


主观听感

最后,再做一次说明。在看过前文后,我们应该不会纠结44.1kHz如此低采样率的音乐文件转换到高采样率甚至DSD有什么意义?我们以前将44.1kHz升频到352.8kHz或更高,不是要得到更多的信息量,虽然看上去文件是大了不少。它的意义是要让DAC的SDM避免或减少升频、调制工作。而现在我们做的更彻底,把它转换成DSD。这同样或者从来就不是一个信息量的问题,而是对DAC芯片内的工作模式和工作方法有所不同。你听到的完全不是做PCM时DAC工作的单元,而是芯片和电路DSD部分输出的信号。而其实DSD解码基本不需要DAC做什么工作,只是一个通道管理,滤波输出罢了。而PCM是需要做SDM大量的运算工作转换的。而这里,我们用了更高精度的算法让电脑的CPU来完成这部分工作。

主观听感的差别也是相当正面的,这与我们以前玩的升频带来的差别还是较大的。无论是电脑CPU还是随身听、或者声卡专用的芯片进行升频,一般会带来听感上差异的主要特点是声音密度,低频会变得结实,声音厚度会稍有改善。但SDM后直接通过DSD输出,会带来更大改善。

理论上,不同芯片DSD和低通滤波还是有差异,但是我们对比了Mojo、乐之邦02Mark2、06MX,飞傲X7等DAC基本得到了同样的声音变化特征。在DSD模式下,输出整个声音背景的安静程度会有比较大幅度的提升,这对于喜欢追求背景“黑度”的玩家来说和耳机玩家来说是一大福音。其次,整个声音的后延瞬态变得干净而平滑,就是声音收紧的这个瞬态更为自然细腻。如果对比PCM状态,哪怕是24bit/96kHz,也会觉得它的瞬态发糊,这主要发生在中频和低频。而对高频的改善,同样是这部分瞬态,声音的边缘圆滑了很多,相比PCM状态就是毛刺感明显。这种变化不需要你有多么高级的设备,一套入门设备,同样可以轻易的体会得到。


总结

原本我们打算写这篇文章只是谈谈ASIO Proxy新版本对于Windows10兼容稳定性,恰好又发现了SDM转换的魅力,同时也研究了为什么用CPU去做SDM可以带来好声音的简单原理。关于Delta-Sigma DAC和ADC的细节目前还没有找到一个简单易懂的方法阐述,但对于发烧友来说,前文的道理已经说得比较明白了。对于可以支持DSD的声卡用户来说,还不赶快用ASIO Proxy设置一下,听听声音带来的变化。

而每每谈到DSD总会说到版权问题,但索尼作为SACD几乎惟一的技术倡导者,明显是在默许这类软硬件的使用。不然,自家以及众多日本厂商也不会推出支持DSD播放的解码器。所以,我们认为这是索尼开放的态度,以独特的方式让很少一批的发烧友更多领略SACD和DSD的风采。也许在恰当的时候,我们有可能看到DSD音频技术在互联网音频中的应用出现。

本主题由 版主 eric 于 2021/2/22 16:41:08 执行 设置精华/取消 操作
分享 转发
TOP
2#

转发文中的照片,与原文一起贴了两次均未成功,笨办法,单帖出来吧
001.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

001.jpg

002.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

002.jpg

003.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

003.jpg

004.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

004.jpg

005.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

005.jpg

006.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

006.jpg

007.jpg (, 下载次数:0)

(2021/2/22 15:10:10 上传)

007.jpg

TOP
3#

我的Foobar2000转DSD播放实践

先看看我自己设定的Foobar2000的显示界面:

TOP
4#

我的Foobar2000转DSD播放实践

先看看我自己设定的Foobar2000的显示界面:


[attachimg]733599[/attachimg]

TOP
5#

不知何原因,上传不了图片? 请教。
TOP
6#

先看看我自己设定的Foobar2000的显示界面:

TOP
7#

用Foobar2000直接播放DSD文件的前提:有一台能支持直解DSD文件的解码器!

一、安装Foobar2000的最新版本,目前是V1.6.2 (Asion汉化版;向Asion先生表示敬意,一直在用其汉化的Foobar2000)。

二、安装最新版的相关插件:

1、foo_input_sacd版本是1.27;

2、安装Foobar2000的ASIO插件foo_out_asio,目前的版本是2013年的一次更新,版本为2.1.2;

3、安装ASIO,Proxy插件,目前最新版的为ASIOProxyInstall-0.9.4。这个插件比较特别,安装后在Foobar2000的“组件”列表中看不到,插件被安装到了C:\ProgramFiles(X86)\ ASIOProxy 目录下,共有三个文件:foo_dsd_asio.dll、foo_dsd_asio_x64.dll、uninstall.exe。不要试图搬动它们到其他地方!

TOP
8#

10楼的图看出有什么问题了吗?
以后告诉大家。
TOP
9#

@WOOW,请见第一楼赵宇为的文章:
“其实如果只是播放DSD,已经不需要安装ASIO,Proxy这个插件了。下文我们会谈到。但是要玩PCM到DSD的实时转换,或者希望切换DSD的工作模式是Native还是DoP,还是需要安装ASIO Proxy,这里推荐安装最新版本0.9.2,这是一个在2016年8月刚刚更新的版本。这个版本其实就解决了0.8.x版本在Windows10下运行不稳定,设置窗口经常无法弹出的问题。”
TOP
10#

@WOOW,见一楼转载的赵宇为的文章:

"ASIO Proxy插件的功能

       ASIO Proxy插件的名字有点奇怪,听起来以为是给声卡的ASIO做一个设置的代理,但从功能上来说它其实是一个DSD到ASIO的通道管理器。在0.7.x的**,我们虽然安装了Foobar2000的ASIO插件,但在播放设备中还不能如图下红框内直接看到DSD ASIO播放设备[这是新版插件的功能,2012年-2013年还不可以]。所以,我们必须要安装ASIO Proxy,在里面设置需要用于DSD输出的ASIO声卡设备。而现在已经不需要了。

       那么ASIO Proxy有什么功能呢?在0.7的早期版本,ASIO Proxy除了选择管理声卡ASIO设备外,还可以选择这个设备工作的模式。当年DoP1.0的规范刚刚出现。而现在还有了DoP的1.1规范,DSD ASIO Native规范等等。而在之后某个版本,ASIO Proxy开始加入了DSD to DSD、PCM to DSD的转换功能。至少这在0.8版本中已经出现,这个时间应该已经有两年多了……但我们忽略了这个强大的功能一直没有使用。直到前几个月,Mac上的Audirvana播放器升级,说支持SDM转换了,研究了一下才明白,原来这就是PCM到DSD的实时转换器。也就是说,我们平时使用的PCM规格的音乐,通过ASIO Proxy,经过简单的设置是可以全部以DSD的方式输出播放的。也就是说16bit/44.1kHz的音乐也可以以DSD64或者DSD128格式播放,可是这有意义啊?我们接下来说说它的简单原理。“

TOP
11#

看了WOOW先生13楼、16楼的两次回复,我有些疑惑了:其一,赵宇为先生的文章毕竟是4年半以前写的,信息化**,四年多可能有很大变化;其二,我的笔记本上的Foobar2000安装了很长时间了,每次升级都不删除旧版,直接覆盖升级,实际上上一版的插件都会自动保留,所以到底哪些插件现在还有用,不太清楚。今天下午,彻底删除了笔记本上的Foobar2000及所有插件(相关目录都删掉了,彻底!)另起炉灶,重装!

2021.02.24下午,重新安装Foobar2000 V1.6.2 (Asion汉化版)

安装后进入Foobar2000的 媒体库、配置、“组件” ,可见下图:

TOP
12#

可以看到,一些插件不是最新的,比如 Super Audio CDdecoder,查找最新的SACD插件,这个插件Foobar2000网站上没有!SACD插件地址:https://sourceforge.net/projects/sacddecoder/,哈哈,Last Update: 11 hours ago,最后的更新,11小时之前,鲜!!!

下载后得到:foo_input_sacd-1.3.1.zip解压后在foo_input_sacd-1.3.1文件夹中得到三个文件,如下图:


安装上图中的这两个插件。
TOP
13#

       当然,一定要安装上“ASIOProxyInstall-0.9.4”,不然就不能实现将44.1khz 16bit 的CD文件转为DSD播放。我实验了,装了“ASIOProxyInstall-0.9.4”就能将44.1khz 16bit 的CD文件转为DSD播放,然后删除“ASIOProxyInstall-0.9.4”,立即就不能将44.1khz 16bit转为DSD播放了ASIOProxyInstall-0.9.4 下载地址:
       https://sourceforge.net/projects/sacddecoder/files/foo_dsd_asio/




TOP
发新话题 回复该主题