找回密码
 -注册-
查看: 4353|回复: 0
打印 上一主题 下一主题

【烧友分享】从CD到DAC的小秘密

[复制链接]
跳转到指定楼层
1
发表于 2020-2-20 11:37 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式 来自 广东广州
本帖最后由 MaxDigital 于 2020-2-20 11:42 编辑


音乐播放软硬件嘛,当然是将录音信息转成人耳听得到的音波,最后是音箱/耳机,其前面是放大器,最前面是各种储存录音信息的载体,在此单纯谈数字音乐。
数字音乐最初录音时多半是PCM码,也就是记录音波转成的电压振幅,音乐播放软硬件要做的也就是将这PCM码再转回电压振幅交给放大器推动音箱/耳机;
极少数录音是DSD,类似。

录音经过混音制作成最后的音乐CD、档案、internet上的stream,无论何种形式/载体,都是数字资料,只是以各种格式储存/传递;CD上储存的就是PCM码,若是储存在PC或手机等各种形式的"计算机"的档案里,常见的格式WAV、AIFF里面也是PCM码,只是加了些头尾打包起来(曲名、演出者、封面照片之类的...);
为了省储存空间,音乐资料可以压缩成大约1/4大,却无损其内容,这主要格式是ALAC、FLAC,还原后当然还是与原本的PCM码完全相同,不信你可以自己比对看看~写程序的人当然自己都先验证过了...你去抓ZIP档解开时,会不会怕出错?若是你怕会错,那,千万别用ATM领钱、转帐喔~请当个摩登原始人...

十几年前internet初起时,频宽不够,那时为了能在internet传送音乐便搞出了MP3这种压缩手法,这个会先砍掉高频再压缩,资料量剩下1/10,当然,这就不可能还原成原本的PCM码,象是加了马赛克的影片回不去了...后来的AAC也类似;这些有损失的压缩格式,声音当然很差,吵乱刺平面干涩...

音乐播放软硬件做的事,首先就是由CD、档案、internet、LAN、WiFi、Bluetooth...任何来源,取得数字资料,若有压缩的就先解开还原成PCM码,将PCM码送到DAC(数字模拟转换器),转成电压振幅,再交给放大器推动音箱/耳机,就这样。

这过程会出错吗?
数字这部份,几乎不会错,数字的作用就在于误差容忍度很高,抗噪声能力很高,信息正确度很高;倘若真的出错,这当年用CD唱盘的人应该会有经验,有时CD片脏了、刮伤了,就会"跳针",音乐断断续续;如今的各种形式的档案极难得出错,你灌OS好几GB有碰过出错吗?别再做梦说音乐资料有错好吗?

认真讨论细节,CD唱盘唱的时候若碰到一、二个资料读不到,可以用插补算平均的方式填进去,不过这是因为CD唱盘是一倍速度唱,必须实时得到资料,而CD片转成档案进计算机都是N倍,读不到再重读就行,极难得出错;这种事请自己实验看看,很简单啦,就同一片CD读十次,比较档案,换一只CD drive、软件、计算机再读比较看看不就知道了?他人说一万次,不如自己做一次实验;不过,记得档案头尾的空白得去除对齐之。

既然数字部分都相同,那唱来都不同的原因是在?当然是模拟部分啊~
正如换只DAC唱来不同,难道是其中一只DAC的数字出错吗?这种烂DAC你会买吗?别闹了...那,为何我用电脑不同的档案格式听来不同呢?这就得要谈DAC细部了,这是DAC IC的原厂建议电路图。

绝大多数CD唱盘、DAC、手机、电脑、ipad...这式各样的音乐播放软硬件最后都有这样一个DAC IC,有些则是将这个也包进了主IC,数字讯号就是由这个IC转成模拟讯号;先看左边5, 6, 7脚,这三个构成名为I2S的数字音乐讯号界面,数字音乐PCM码就是由这三只脚送过来;另外还有第3脚 master clock,这是IC内部的工作频率时钟。
正常工作的DAC,这数字界面四只脚讯号都能让声音很正常的唱出来,也就是很稳定不间断连续的转换成模拟电压讯号输出;但,这只是表面上哪...就像你唱歌,有时候,换气不顺会抖~

I2S和master clock这数字界面共二个clock时钟讯号,这clock若是抖,就像你唱歌时抖一般,唱出来的音乐当然也会抖囉~clock用来驱动DAC工作,就象是赛跑时鸣枪!起跑!
clock就是那枪声,数字资料就是那跑者;人耳挺多能明确辨认一秒抖个几次这种,几十次以上就无法明确知道有在抖了,何况一秒几千次的抖法哪...这clock频率至少是44100Hz。但是,不同抖法之间,人耳其实能明确辨认出不同!抖的越少,听来越是干净清晰自然。早期CD唱盘刚出现时人人讶异其清晰,渐渐的发现有些不对劲,就是这么一回事。这clock抖,就称为jitter,主要影响是极高频、音像、音场、微微的吵刺。
有时候,你边唱歌边跳舞,上气不接下气...DAC工作时,电源若是不干净,也是这般现象;电源有数字电源、类比电源,数字电源不干净,也会造成jitter;像是你在起跑线准备好等枪声,嘿,偏偏这时飞机呼啸而过,听不清楚...

因为数字的判定是高于某个电压算是1,低于某个电压算是0,而这某个电压与电源电压有关;clock由低往高冲时,就算clock再准波形再漂亮,电源电压抖,每次判定枪声响的电压电压都不同,结果当然也是抖,也就冒出jitter来囉~
模拟电源不干净,就象是你站在个抖动的台上唱歌,台下的人听来也是抖啊~台怎么抖,发出来的声音就会有这抖法与音乐的inter-modulation,jitter的抖法也是类似效应,只是频率高很多。综合以上,要让DAC唱的好,就是给它精准的clock与干净的电源,如此而已。

那,前面提到说为何用电脑唱AIFF和ALAC档听来会不同呢?我们可以想想,这二者到底差在哪?ALAC会被转成PCM码,AIFF里面也是PCM码,最后送到DAC都是相同的资料;资料没差异,那差异就在就是clock与电源了;读AIFF vs 读ALAC差在哪?差在ALAC还得解压缩,CPU比较忙,就像你边跳舞边唱歌气会喘啊,CPU一忙,就吃掉大量电,电源波动就大,噪声就多,不干净,DAC唱出来不就有差异?不信你将ALAC先转成AIFF,二个AIFF档案分别存在二只刚format的同款随身碟里,插在同一个USB port唱看看有没有差?
人客啊~没那么玄啦~数字就是数字,出错机率极低,重点都在模拟啦~

那,实际上该怎样做最好呢?
由以上的讨论,重点在,尽可能让DAC的clock准、电源干净;目前认真的乐迷该都是以计算机储存音乐(容量才够啊~),再送给DAC唱出来;因此,该尽量让DAC不受计算机干扰,DAC最好的形式,该是用Ethernet或WiFi界面,与计算机完全隔绝无直接接触,不过这类型产品不多,个别机种质量又是另一回事;最普遍的该是USB界面,这当然得挑跑asynchronous异步的,最好还加上UI1或UF1隔离/滤除地线噪声。
至于摆在计算机里面的呢...你想,计算机的电源模块才卖那么点价格,怎么会干净呢?就算再贵,单是CPU忽忙忽发呆,几十W功率这样变来变去,电源会干净吗?老话一句,计算机不是专用来唱音乐的,别要求它电源干净,该利用其超低价超大容量这优点,另外用好DAC搞定音响的事。

那,CD唱盘这种形式呢?啥?你还在用?好吧,原谅你年纪大了...CD唱盘里面也有个转动的转盘吧?你有没有看过这转盘转的时候?抖抖抖...超严重...当年高倍数的CD ROM转起来时,那真是...连桌子都会跟着抖啊...你想,吃电很重的马达这样抖,会不会影响电源?

你可以试试看,听CD片第一曲和最后一曲有啥差别?更精准点,烧一张CD片,里面全都是同一首歌,再听第一曲和最后一曲的差别...有人问到计算机上的不同软件对声音的影响,首先,该先问,这软件是否会动到资料?如果设定都正确,Mac上的软件很容易做到不更动资料,顶多是interger 16 bits转成floating point 32 bits(Mac OS API标准声音资料传递格式)这类的;有些软件如Aramara会加料,加些dither之类的,这种就不谈了,单是谈不动资料的,如iTunes、JRiver、Quicktime;至于PC上嘛,那就有点麻烦,如果这软件call DirectShow API就会经过K mixer,任何资料都会被转成48KHz sampling rate,这资料就动过了,得用WASAPI之类的避免,反正还是有招数,用对软件还是能搞定确保资料不会被动到。

那,怎么验证这点?
挺简单,就输出再输出,与原始档比较就搞定啦~数字就是这样很容易验证;去抓个virtual sound device来灌,让播放软件输出到那个virtual device,存档,与原始档对照就知;几年前我的作法是用光纤输出loopback拉回来;当然这还是得先对齐二个档案,还有一点可能的误差就是那个interger转floating point的分辨率差,因此比较好的验证法是二个档案都抓进声音编辑软件,其一反向,再二者mix,结果的振幅若都低于1bit就没错。
以上很容易确认使用的二个软件都没动过资料,既然如此,问题就又回到影响DAC的三个变因之二,clock与电源,这都是纯硬件,不是计算机的应用软件该管的,也不能让应用软件管这种事;也就是说,写软件的人哪会知道他怎么写会影响clock与电源啊?当然更不知道怎么写clock与电源会比较干净囉~每个硬件都不同啊...
不过,实际上软件要影响这二点倒还不难,buffer size就是其中一项,以44.1KHz的音乐来说,每秒必须送44100笔sample给DAC,如果buffer size是256 vs 512,这送的频率就是二倍之差,产生的噪声频率就是二倍差,而计算机的设计就是尽量压低成本,藉数字抗噪声能力能过关只要噪声不要大到让资料出错就好,因此这噪声很容易就传到DAC去,除非隔离,透过Ethernet、WiFi或猫窝的UI1这种方式。
至于哪个buffer size好?这没啥绝对,因为每个硬件滤除噪声的能力都与频率相关;而且buffer size影响了电源噪声,也会因此影响clock的jitter,而jitter与最后输出的类比讯号之间的关系非常复杂,每个DAC IC都不同。
还有个buffer size是硬盘的buffer size,这通常是OS内设定的,应用软件动不了;这也延伸到为何音乐档案摆在不同的储存装置听来不同,buffer size会影响,使用的电路(SATA、USB、Ethernet、PCI Express)不同,产生的噪声对DAC的影响不同,当然DAC输出的模拟讯号也不同,但,老样子,正确设定下,DAC收到的资料没都错。
搞清楚这些,要尽量搞好DAC的声音不会太难,也就是,无需耗费时间去弄计算机上的东西,专心搞好DAC的clock、电源与隔离计算机噪声。
至于clock对声音的影响,DAC2加上re-clocking后声音大进展,这re-clocking不可能改善资料,其输出资料只会完全相同或是错误,一旦错,那可是乱七八糟没啥一定的,这我还真的碰过几次,做第三只DAC2加上这re-clocking时,没焊好,声音就是噪音啊~另一次则是没盖顶盖,碰上大雷雨,雷电电磁噪声一轰,沙沙沙沙~~吓死我啦~加上re-clocking声音会改善,就证明问题不在资料正确与否,而是clock与电源。
妙的是,DAC2的re-clocking用的clock就是DAC2上唯一的clock来源,被重锁重送的资料也是由此clock导出的clock传来的,二者完全同步;那,为何会改善?
同步只表示频率相同,可没说波形一样漂亮。

以最靠近clock源,受干扰最低的clock来重锁重送jitter最低,声音当然最漂亮啊~这也验证了clock的质量(也就是jitter),经过一串电路复制后确实会劣化,其因素包含电源、阻抗、电磁干扰,越是源头越准,应该尽可能让DAC接近clock源。


features_processor_memory_20100727.jpg (22.32 KB, 下载次数: 102)

features_processor_memory_20100727.jpg

iTunes.png (53.36 KB, 下载次数: 85)

iTunes.png
您需要登录后才可以回帖 登录 | -注册-

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2024-12-23 11:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表