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

[转贴] 软件的内部处理精度(个人感觉挺好的)

( 41 )
 
[收藏]
-  第 2 页  -

5395
#16 10-2-13 03:19
原帖hjun 于 10-2-12 02:08 发表
谢谢楼上的回复~!看来我还是要仔细研究一下数学才行.....门子的意思是不是浮点的动态范围比较大但是误差也大,定点动态小但比较准确?
另外我想问问,如果我要summing n个24bit的音频(不留+6db的余量,不做level ...


是的!两个24bit信号混合,振幅最大值为24bit最大值的两倍,也就是25bit的最大值,以此类推...


原帖hjun 于 10-2-12 02:08 发表
那是不是我用24+int(log2*n)个bit就能无损的summing?


准确的说,用24+int(log2*n)个bit能无损地,对离散信号做加法,但summing不是简单的加法,例如
两个信号相加,等于他们的频谱相加再ifft,在很多情况下这种频谱的相加不是线性的,而是有某种变化的,
例如在空气中的两个信号叠加至少要使用双弹簧并联模型来解等等,至于SSL之类的那就不知道了……





音质损失的一大关键在于计算机对信号的离散化,例如很多人不理解为什么要在模拟台子上summing然后
再录回数字,这不最后还是数字吗?可实际上:


模拟summing,再进行数字量化,流程是这样的:

连续信号A + 连续信号B……经过AD……=离散信号C+量化噪音

数字summing的流程是这样的:

连续信号A…AD…=离散信号A+量化噪音a,
连续信号B…AD…=离散信号B+量化噪音b,

A + B=离散信号C+量化噪音a+量化噪音b+新的量化噪音c

每加两轨都在原来本来已经有量化噪音的声音的基础上再产生新的量化噪音,多可怕啊!




再有,很多人误解了高采样率和高bit率的意义,高精度的意义在于保证音频信号在经过处理后依然最低能达到44116的
标准,我们假设说一个信号=真信号+噪音的话,16bit成品的信噪比超过90db,好,人耳确实听不出来,
但关键是这信号用起来不一定是成品,可能是一个采样,它首先要经过采样器,再经过各种效果器,再经过
DAW的音频轨,导出了或许还要导到别的DAW里再加效果器,再放大减小电平,再加效果器………………
所有这些操作不但会增加原来的噪音,还会带来新的噪音,使用高精度,每次信号损失就越小,
最后音质自然越好,
使用CD质量的采样用低运算精度根本无法保证最后成品的质量是否还是CD质量!
任何信号处理中关于连续变离散的理论,说的都是:在XX情况下,离散信号可以无损转为连续信号,
没有任何一条理论说:在XX情况下,无论做什么处理,离散信号都可以无损转为连续信号。

最简单的一维傅里叶变换,即使在全球科学家都用的matlab软件里,先fft,不做任何处理再进行ifft,最后得到
的结果都和原信号不同,天体力学计算都无能为力,更何况是音频处理……

另补充:
浮点型实际上就是2进制的科学计数法,为了好理解咱们弄到10进制上浮点型形式上等于:a*10^b,可见b大了以后数值可以取到
非常大,但问题在于无论数值多大,a的精度是不变的,好比当数值是十的时候,你能取到小数点后3位,但当数值是亿的时候,你连百万都取不上。。所以浮点型数值越大精度越差,定点性的误差是可控的,浮点型由于精度会变,一套复杂的算法下来
根本不知道误差被放大了多少。。。

13856
#17 10-2-13 11:05
那我还想问问,例如一个16bit的音频,在-6db - 0db,是不是有15bit(32768级)的动态,在-12db到-6db之间,有14bit(16384级)动态,依此类推,在-66db到-60db之间,就只剩下5bit(32级)的动态了。这就是为什么数字音频在缩小声音的时候,小音量的细节容易没有的原因(也是要用浮点的原因,因为动态范围大)?
然后我想问问,在-6db-0db中,15bit的动态中,是否意味着在-6db-0db范围内,在6/15=0.4db(或者另外一个算法,求一个最小无损精度)的调整是无损的呢(因为有15bit动态),类推,在-66db到-60db之间,只有6/5=1.2的无损调整精度了。

如果上面成立,那么是否可以有一个定点的无损算法(在一定精度,例如0.25db之内),做到音频level的无损处理?例如在-66db到-60db之间,插入10个bit,让他有15个bit的动态范围。这样只要增加(15+1)/2X8=64个bit,就能保证在-96db到0db范围内做以精度为0.4db的level处理无损?

这里先只说level(能准确还能做个有level和pan的summing box了,level的精度也能影响压缩等动态处理的精度吧)。暂时先忽略FFT,那个东西实在是....

小弟刚接触数字音频处理,很多地方还是不懂,上面可能也有很多算错的地方,望请高手指教阿~~~

5182
#18 10-2-14 18:47
早先就看过这篇文章,看后认为学习到了真理,同时为自己使用saw而沾沾自喜,bs使用牛犊的人,,,,,,后来才发现不一定是这样,首先要听出差别,如果听不出最好别轻易认为是真理,否则会浪费很多时间。还有很多稀奇古怪的说法如果全都要考虑的话估计变发烧友了。

164
#19 10-2-14 19:46
顶了再看
学习一下。。。

5395
#20 10-2-14 20:44
原帖hjun 于 10-2-13 11:05 发表
那我还想问问,例如一个16bit的音频,在-6db - 0db,是不是有15bit(32768级)的动态,在-12db到-6db之间,有14bit(16384级)动态,依此类推,在-66db到-60db之间,就只剩下5bit(32级)的动态了。这就是为什么数字 ...


前面说的没错!但要注意每个bit之间的动态不是线性均分的,是以log上面给的那个公式分的。
浮点的形式是a*2^b,当bit降低时,b变少,但a的精度还是那么多,所以浮点型细节会多一些,

原帖hjun 于 10-2-13 11:05 发表
如果上面成立,那么是否可以有一个定点的无损算法(在一定精度,例如0.25db之内),做到音频level的无损处理?例如在-66db到-60db之间,插入10个bit,让他有15个bit的动态范围。这样只要增加(15+1)/2X8=64个bit,就能保证在-96db到0db范围内做以精度为0.4db的level处理无损?


这个还是想复杂了,首先一定要把这个降为线性值再来想问题,其实想要无损地加减音量,对于定点来说
只要乘以2的整数倍就行了。乘2的整数倍相当于二进制整体移1位,原先的000111左移或者右移,例如左移变为001110,
后面补零,这样肯定是无损的。除2也行,但除2的问题在于除完之后会有低位数值被舍掉了。
插入10bit那个……我没看明白。。。一定要转换成线性值来考虑问题,从db直接到bit绝对晕死。。

1125
#21 10-2-15 00:29
原帖himhui 于 10-2-12 01:08 发表
SAW 內部精度在10多年前已是 64BIT了....

這些數字遊戲知道一下便算, 不用太著迷

..


同意, 不用太著迷, 音頻訊號是很奇妙的東西。
是同時有著理性及不理性結果的數字遊戲。

13856
#22 10-2-16 00:55
哈哈,那我就不研究了,用好软件就算了~~关键是要能用软件达到我想要的声音就够了

985
#23 10-2-19 09:19
对于习惯了数字软件多轨混音的人顶级模拟调音台的channel一两,几来十条混音是不够的,没多久又会满足不了,最后还是要回到模数器变回数字软件游戏,回到软件平衡,混好再每轨过一次万一声音失色,混音作品失去平衡,精确度没了怎么办? 不如把过一次看作用在前期部分收音录音时录好些,要么就整台来混吧``

13856
#24 10-2-19 18:23
录音真的很重要啊现在觉得!

8217
#25 10-2-19 19:26
此文原载于 “李王手事迹大讲堂”

13856
#26 10-3-6 16:39
这样想其实48bit也够精度了,呵呵

985
#27 10-3-8 21:25
有64bit用的话不用?

985
#28 10-3-13 14:02

回复 hjun 在 #22 的 pid=2523518 的贴子

混音也重要,其实所有制作工序都重要

69
#29 11-1-3 19:15
我们假设,将64轨完全不相同的0db电平的信号混合在一起,总电平将会是+18db。为了不让声音过载,我们必须把每一轨的推子拉下来18db。那么我们已经知道了,1bit=6db。那么每一轨的推子拉下来18db将会使所有本来24bit的声音变成了21bit的声音。

个人认为纯属误导人~~~为什么呢。。。(先不说24BIT,就说我们常用的16BIT)因为你最终还是得把电平保持在0DB导出。。。那64轨道在0DB的时候。。。每一轨其实都只在-18DB...那是不是以为着这个是个16-3=13BIT的音乐???而你这个只是13BIT的音乐???好笑啊。。。那用了128轨就是12BIT的音乐。。。256轨是11BIT...512是10BIT。。。明明是16BIT的混合出来只剩下10BIT???-32DB以下的全部都是噪音了???

不是说你打广告吧。。。就是觉得官方吧这话说的。。。也是人(老外)说出来的(哪一只这么会忽悠人的)。。。夸张了吧。。。

69
#30 11-1-3 19:38
当当当当!Pro Tools HD采用了48bit处理精度,在0db以下加上了16bit,也就是说,当你把推子拉到-96db的时候,你的声音依然是24bit的。

这个更是好笑了。。。大家想想BIT到底是什么。。。是音量的大小的记录..-96DB的时候意味这声音依然是24BIT的。。。
那意思就是当你把总输出音量-96DB导出后。。。他还是24BIT记载的。。。那他24BIT了就以为着他的动态还有144DB的细节
我试问你总输出导出的时候你的音频文件是多少BIT的?是48BIT吗?。。。哦。。。SORRY~~~48BIT的音乐。。。那跟精度有啥关系。。。声卡都支持48BIT了还来个内部处理精度48BIT干啥。。。是16BIT? 24BIT?

如果是24BIT的总输出。。。试问。。。24BIT记载的范围是不是144DB。。。这个声音被减去96DB用24BIT导出、、、他还是有24BIT的音量吗,后只有8BIT的动态范围。。。你硬说他有24BIT???。。。好。。。你拉大到144DB...在跟原先的对比是否音质跟原先的一样?是否没有损失16BIT。。。24bit完好?
好吧。。。导出的时候必须打到0DB导出。。。那就意味着导出后动态范围有144DB(24BIT)但是你不是说-96DB么。。。怎么又成了0DB才有144DB的动态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索