录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

重要!关于HD的BUS和精度问题的个人总结

( 30 )
 
[收藏]
-  第 1 页  -

1801
#1 08-1-13 16:37

重要!关于HD的BUS和精度问题的个人总结

(帷幕拉开) 好戏开始了!


(众看官Summed together:" 大家快来看呀,这里有热闹看啦!")


恩..(加音效咳嗽声), 今天第一句话是给Giant_Pandas的,我以前对BUS还有MASTER FADER TRACK的理解有误,我检讨.


(看官甲:"一点都不深刻,给我打!")*&^$%##@$%^&&


经过一场狂风暴雨后,回来接着说说我现在对HD里BUS和MASTER FADER TRACK的理解和分析,希望对大家对HD的信号流程的理解有帮助.不保证我的看法就一定正确,有错误的地方请尽管指正.


(看官乙:"现在的态度还凑合!")


先回过头来分析造成我理解错误的原因,也给大家一个借鉴. 首要原因是我看待HD的BUS的时候套用了以前别的DAW的老思路. 先给大家看个图.


先看HD的信号流程,几个TRACK的信号输出到内部BUS,在SUMMING后再传给下一级的TRACK.

FIG1



再是其他32BIT浮点的DAW的信号流程;

FIG2







从上图看,HD里SUMMING BUS确实是48位的.关键在于输入到下一级的AUX/AUDIO TRACK时就成了24位的了. 我把这个输入环节认为成了整个BUS的SUMMING精度,我错了,再次检讨. 由于BUS的信号肯定是要传给下一级的,那么这个精度的变化损失也就是不可避免的了.


(看官丙:"不往下一级传送那不就行了.")


给我打!不往下一级传送,信号在这里就停止了,你怎么听得到声音?


唉,我算对了结果,却没算对原因.


(看官甲:"少费话,你当是在演戏哪?")


唉,要是HD象其他DAW那样全程信号是一个精度就好了.那就少了很多麻烦.


(看官乙:"又在找打! 说HD的坏话,你是不是想HD变成全部是32位的?")


哦,没那个意思,那就更正一下,要是HD全程信号是一个精度48BIT就好了,那目前就无敌了.


(看官丁:"不许胡说! 我们这里还有更厉害的64BIT的SUMMING BUS!")


好好,算我说错,那是另一个问题,需要的话另开贴讨论,OK?


说到这里我发现一个问题,人有习惯性思维,由于这个习惯性导致眼睛看到的事物,大脑并没有记进去,也就没进一步分析加强应象. 象这个48BIT精度SUMMING,以及TRACK的24BIT输入,我肯定是看过的,由于思维习惯还在别的DAW方式上,就根本没细想,导致把转换环节的精度看作是是SUMMING BUS的精度. 这个教训告诉我,以后接触新鲜事物千万不能用以前的老思维来看。但好象人的这个习惯性思维是绝对存在的,只能尽量避免了。 这是否也说明有这个可能--如果思维里想看到什么,大脑就会觉得眼睛也看到了什么呢?


(看官甲:"你是有所指的吧? 你不是还想挑起另一个论战吧? 少废话,说正题.")


好,回到正题.那为什么HD不能象其他DAW那样,把48BIT的数据传给下一级呢? 这个问题就有那么一点复杂了,我只能简单说说我的理解,主要就是从硬件限制还有软件限制这两方面来说. 大家对这不感兴趣的话可以往后跳过XXX行.


(看官乙:"这个得找HerculesVR来看看说得对不对. 打他的小灵通找他来.... 喂..喂喂...HerculesVR吗? 赶快把你的小板凳搬到这里来,有好戏看. 喂...喂喂....断了? 什么破玩意! K,看来电信也靠不住!")



HD的数据交换是走的TDM BUS,而TDM BUS是24位的, 这就相当于每次数据交换的机会就只能传一个24位的音频数据.电脑的数据总线是32位(这里是指32位的硬件),它一次就可以传32位的音频数据. 前面的帖子说到HD的MIXER是48的,而且还可以跨DSP,那么他的数据内部交换怎么在24位的BUS上进行?原因在于48BIT数据分两次传送,每次传送24BIT,只有这个MIXER设计了这个功能,一旦出了这个MIXER,也就是和信号下一级的TRACK,或PLUGIN 交换数据,那么一个音频数据的交换就只能占用一次交换机会. 为什么不设计成都用到两次交换机会呢? 我想这里面有带宽限制,还有HD卡上DSP的数据吞吐处理能力问题. 基于电脑CPU处理的DAW也有类似的情况, 但随着硬件速度的和软件的提高,他可以象HD那样分两次传送一个更高精度的音频数据,所以可以做到64BIT的BUS SUMMING.其实这样把一个高精度数据切开用低精度的BUS分次传送在不同的应用领域早就有了. 这个主要看硬件的限制,数据总线还有寄存器等,还有软件相应的处理及编程能否对应的升级.


由于我只是从外行的角度去理解上面的问题. 估计严格说来很多说法用词不准,所以"仅供参考。我随便一说,您随便一听。"



实际上BUS的情况比上面复杂,前面第一个图有个细节没画,实际应该是这样的:

FIG3



一个流程图如何画其实对理解也有影响.我前面理解有误也受下面这个说明书里的图影响:

FIG4







才发现发贴有字数限制,待续。。。


[ 本帖最后由 compusic 于 08-1-13 16:42 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1801
#2 08-1-13 16:37
这里, MASTER FADER TRACK存在个输出设定 (这里一定得插一句,我接下来的MFT指的是MASTER FADER TRACK,而MF-MASTER FADER指的是MFT里的那个推子,MFT和MF是不一样的,MFT除了含有MF外,还有在MF之后的插件),导致我误解为:这个MFT在流程上是排在BUS之前(虽然图上标的是声卡OUTPUT端口,但道理一样),SUMMING是在MFT里做的,然后输出24BIT数据给BUS. 这个理解错了,我再次检讨. 我现在的理解是MASTER FADER插在总线上,就象插入式效果器一样,前一个帖子争论的MF选的是输出还是输入好象都不对.


借用前一个帖子里Giant_Pandas的理解:


Track output > internal bus > master fader > internal bus > anywhere else.


Track output > Master summing bus > master fader > Output



这个表达法感觉也说不过去,我改动了一下,象下面这样:


Track output > internal bus - master fader - internal bus > anywhere else.


Track output > Master summing bus - master fader - Master summing bus > Output


注意这里一定得是MF,而不是MFT(原因后面会讲), 而且MF前后并不是表示方向性的箭头。为什么这样,是因为MF不存在BUS前或BUS后的问题,他是插在BUS上做SCALING的,相当于一个函数的作用来乘BUS SUMMING后得到的数据再得到一个SCALING后的值(其中一个作用就是把0DB以上过载的信号拉到0DB以下),这个SCALING后的值还是48BIT的。只是因为要把数据传给后一级,而这个传送要走24BIT的TDM BUS,又只能占用一个TDM BUS的时钟,所以只能传48BIT数据中的24BIT。


(看官丙:"是你苯在找借口吧? 人家Giant_Pandas的理解一直是对的,只是表达方式不是你的思维习惯,你没理解而已.")


FIG3还有个细节大家也许注意到了,就是MFT(注意不是MF)输出那里加了个24 or 48 BIT OUT.这怎么理解呢? 这样说吧,如果把图中输出到下一级的环节去掉,如下图:

FIG5



那么是否就可以说这个SUMMING BUS从头到尾(从上到下)就都是48BIT的呢? 不一定(既有可能是也有可能不是). 因为中间插着个MFT呢(注意不是MF). 关键问题就出在这个MFT上,这也是造成我理解有误的原因。HD里MFT包含两部分,一个是MF,另一个是POST MF的PLUGIN插件(插件在推子后是固定死的)。这些插件接收到的是由MF做过SCALING的48BIT的数据,由于TDM BUS限制,实际只能收到24BIT,丢掉另24BIT,这样下来,直到最后一个插件输出24BIT的数据。所以如果用到插件的话,在MFT后的数据就是24BIT的了。如果没用到插件,那么MFT后的数据就直接是刚做过SUMMING和SCALING的48BIT的数据。


说到这里,其实我有点头大。 因为换个角度来看,插件输出都不一定是24BIT的,因为插件如果是内部高精度48BIT计算的话,计算完的结果最初肯定也是以48BIT的形式存在于硬件DSP寄存器里的,只是由于这个数据要往下一级传送,在从这个寄存器里读数据的时候只能读其中24BIT而已。



还补充一点,这个MFT是拿不掉的,是固化在HD的MIXER里面的,也就是说象FIG1中的情况,几个TRACK输出到内部BUS 1,另一个AUX TRACK的输入是BUS 1, 其实有个隐藏的MFT插在BUS 1上,就象下图中虚线所表示的,

FIG7




只不过你没建立MASTER FADER TRACK的话,他在软件里不显示出来而已,这时MF的位置在0DB位置.这也是为什么HD里新建一个MASTER FADER TRACK不会耗费更多的资源,因为它已经在那里了嘛. 只要使用到BUS,MFT就在后台被创建.



(看官丁:"说完没有,我们要去吃饭了.抓紧了.")


恩,还没完. 我把我犯的错误再画一次。先看FIG8,就是在HD软件界面里看到的样子,

FIG8




实际流程应该是FIG9,

FIG9







而我以前想成FIG10中的样子。就是受了FIG4中MFT“输出”端口的影响。

FIG10







(看官乙:"看见没,说你苯你还不承认。")


没办法,HD的MFT确实有点和传统不一样,为这个在网上搜了一大老圈,看到没理解正确的不在少数呀。


(看官丙:“又为自己找借口。“)





待续。。。。。


[ 本帖最后由 compusic 于 08-1-13 16:48 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1801
#3 08-1-13 16:38
现在,个人觉得象上面那样按事件发生顺序描述一遍更能说明问题. 也正好回应有些朋友的要求,怎么尽量避免信号的损失.


没办法,好多事都是带有条件的,不能只看一项.就象就单个48BIT MIXER本身而言我个人也认为比32BIT MIXER好,但.......


(看官甲:"又在借机会损PRO TOOLS HD,给我打!") [email=&^%#@#%&*!@#$%]&^%#@#%&*!@#$%[/email]


首先,N个音频轨的24BIT数据(可以是文件,也可以是输入)交给各自轨上的第一个插件,处理完后输出24BIT的数据给下一个插件,直到最后一个插件输出的是24BIT数据,这时数据要经过TRACK的PAN,即需要乘一个函数变成48BIT数据,再经过CHANNEL FADER又乘一个函数,还是48BIT的数据,然后这个数据送到TRACK指定的输出BUS进行SUMMING(累加).


这里插一句,前面图中TRACK的输出那标的是24BIT其实不是很严谨,这个是在PAN和CHANNEL FADER之前才成立.因为图中没有PAN和CHANNEL FADER, 大家明白意思就行了.


做完BUS SUMMING得到的48BIT数据经过MASTER FADER的SCALING(注意这一步是一定有的)然后得到48BIT数据,再以24BIT精度交给MASTER FADER TRACK上的第一个插件(如果有的话),然后处理情况就象上面说的那样,最后一个插件输出24BIT数据给下一级的TRACK. 信号就这样往下走,直到最后的TRACK输出到声卡端口,所有输出到声卡端口的TRACK也是把经过PAN和FADER的48BIT的数据交到总输出BUS上进行SUMMING,这时输出总线上也有个MASTER FADER,他把SUMMING的结果做SCALING得到48BIT的数据,然后以24BIT精度传给MASTER FADER后的插件处理(如果有的话),最后一个插件输出24BIT数据交给声卡端口.


上面说的插件是假设都是TDM格式的情况,由于插件输入输出只能是24BIT的,所以信号在这里不能过载,一旦过载,即使后面有推子把信号拉到0DB以下,过载还是存在。



从上面基本可以看到数据精度的损失在哪出现了,那么解决办法呢? 除了尽量用内部高精度处理的插件外,现在基本上就是把那个转换环节加入DITHER,也就是说尽量用输出带DITHER的插件。
前面Giant_Pandas说基本上48BIT处理的插件都带DITHER,这个说得不准,带不带DITHER是开发厂家设计决定的,不一定就带。


看官乙:“Giant_Pandas说的是基本是,又没说全部是,注意领会精神。“)


对了,补充一点,同一个插件,有可能TDM版带DITHER,RTAS版不带DITHER。具体哪个带哪个不带,这个没办法,很多的插件面板上看不到,有些厂家也不说,对于不确定的只能一个个试了。


还有,纯粹从提高精度的角度来说的话(先不涉及音质,否则争起来没完没了),可以在需要串联几个插件来用的时候全部用RTAS版本的。这样的话除了第一个插件输入和最后一个插件输出是24BIT精度外(因为走的是TDM BUS),其余的插件之间交换数据是32BIT的,因为RTAS插件是用CPU来算的,计算精度是32,数据交换也是走的电脑的32位数据总线。这也意味着这些插件输出过载没关系,只要最后一个的输出调整好不过载就行了。但是。。。然而。。。。不过。。。。。事情总是不那么完美,经测试,有些RTAS插件精度是达不到32位的。



现在还有剩一个环节了,就是前面说到的,经过SUMMING和SCALING后的48BIT数据在交给下一级时也是24BIT的,这里没DITHER呀?这个问题厂家想到了,也许很多用户也已经知道了,我再废话几句。

HD默认安装在PLUGIN目录里的MIXER插件是不带DITHER的,但在UNUSED PLUGIN目录里还有同样的带DITHER的MIXER插件,可以把带DITHER的MIXER插件考到PLUGIN目录下,把不带DITHER的MIXER插件移出来。再启动HD,用的就是带DITHER的MIXER插件了。作用就是把经过SUMMING和SCALING后得到的48BIT数据做一个24BIT DITHER的转换,然后把这DITHER后的24BIT数据交给下一级。



好了,说到这,这次的总结就基本结束了,总有点意尤未尽的感觉,有些感想等以后碰到合适的机会再说吧。感谢各位参与的朋友,当然尤其是Giant_Pandas。这次争论使我又重新来认识了HD一次,对HD的了解也更清晰了。 希望我的总结也能对大家对HD的了解有所帮助。
重申一遍,文中提到的精度损失字样不关。。。。


(众看官把各种兵器,暗器,火器SUMMING TOGETHER后都招呼上来了。)



我跑。。。。。。。。



--------------===全文完===---------------




注:此文不属虚构,如有雷同纯属巧合。


本人保留因认知的提高,而随时补充更新的权利。


[ 本帖最后由 compusic 于 08-1-13 16:52 编辑 ]

672
#4 08-1-13 18:18
太好了,讲得太好了,正想学习下这个呢

4217
#5 08-1-13 18:21
“对了,补充一点,同一个插件,有可能TDM版带DITHER,RTAS版不带DITHER。具体哪个带哪个不带,这个没办法,很多的插件面板上看不到,有些厂家也不说,对于不确定的只能一个个试了。”
这个如果厂家没说的话,怎么才能试得出来啊?

624
#6 08-1-14 01:00
Cool...

写了这么多,辛苦啦!这个事应该怪Pro Tools的说明书,人家大型模拟调音台都有信号流程图,可是DAW里却是少有,所以我们就得试,不争不知道呀。

4217
#7 08-1-14 02:26
你们是怎么试出来某个环节是24还是48或者是32的呢?

624
#8 08-1-14 11:14
把两个24bit,0dBFS,同相位的sine wave加在一起,他们合起来的音量会增加6dB(这个是个公式20log那个),结果6dB大约是1bit,也就是需要25bit的bus才能保证他们合起来的声音不失真。如果不失真,则表示bus是比24bit大的,那么在HD中就是48bit的。

1801
#9 08-1-14 12:26
原帖由 qinjunck 于 2008-1-13 18:21 发表
“对了,补充一点,同一个插件,有可能TDM版带DITHER,RTAS版不带DITHER。具体哪个带哪个不带,这个没办法,很多的插件面板上看不到,有些厂家也不说,对于不确定的只能一个个试了。”
这个如果厂家没说的话, ...


DITHER实际上就是加入很小电平的噪音.  任何一轨上先加载一个电平表,需要能查看到-140DB以下的,最好能数字显示的,这样看得清晰. 在电平表前面加载想查看的插件,确定插件无任何信号输入,如果插件输出没加DITHER,那么电平表会显示负无穷大,如果有DITHER的话..............  

顺带说个小发现,有些输出带DITHER的插件在旁通状态时不是真正的旁通,还是加了DITHER.

4217
#10 08-1-14 14:46
giant兄说的两轨相加增加6db不失真,这个仅仅是靠听感来判断吗?因为如果两轨0dbfs相加大6db,那么通道的表头肯定是会红的呀,这是对于声音是否失真的问题,是否只能依靠听感了?

能看到-140db以下的电平表好像不多阿,我马上试一下,谢谢瓦:)

624
#11 08-1-14 15:35
恩,我就是听的。但是我当时试的时候很夸张,并不是只用0dB,我有把音频轨道的推子每个又推了12dB,它们加在一起也就已经失真的不行了。但用master fader一拉,声音就好了,我觉得就说明这个Bus中的音频是48bit的。

白皮书上说,你可以用128轨peak为0dBFS的sine波,并把他们的推子都推到+12dB,然后相加出来的信号,不会在内部的bus中失真。

但这样做的话,要用master fader把这个已经很大的音量(48bit)降下来,给别的24bit的输入。不然就会听到失真了。

其实这样的话,对于混音的实际意义就是,只要是推子前的信号没有削波,那么在推子后的信号怎么推都无所谓,最后在master fader上一降就好了。

624
#12 08-1-14 15:37
qinjunck,你说的表头红,那肯定是post fader的表,那么在pro tools的mixer中就无所谓了。

624
#13 08-1-14 15:37
呵呵,当然最后也得给降下来才可以。

4217
#14 08-1-14 16:20
谢谢giant-pandas的回复,另外,如果是用32bit的le,您有什么关于尽可能的减少损失的建议吗?我现在LE中的工作习惯是尽可能的保证每个通道的推子不要太低,如果总线CLIP,那就把MASTER FADER拉下来一些,然后再导出做MASTER!

624
#15 08-1-14 16:50
实际上现在关于32bit浮点的资料并不多,没有厂商在这个上面公开自己的内部资料,算法特别重要,可没有人会谈这个问题。但如果按照那个rane的资料来说,虽然浮点比定点的动态要大很多,据说是1500dB,但由于浮点要根据音量来定在动态里的位置,又因为音频在不断变化,所以最后导致失真,尤其在低频的失真更明显。所以,我觉得LE的话做完的东西,如果有机会的话的,可以去找一个HD过一下保险一点。

如果要没有HD的话,我认为可以让Mixer的推子保持0dB(Unity Gain)可以提高质量。如果是录音的话,则在一开始录音的时候就掌握好录音电平,如果是软音源,则要在软音源中信号发生的最前方调整电品。目的就是让Mixer的推子保持不动,这样它就对声音没有影响。这个理论应该在模拟和数字混音中都通用,比如说音乐会的现场,声音总是会比录音好很多,因为它的信号流程短,受到的干扰少。如果把耳朵放到麦克风的位置来听大提琴,总比经过麦克风>话放>调音台>监听来听的效果好。

当然,这只是我的想法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索