发新话题
打印

[其他] 解码器的数字音量衰减有损音质吗? 需要加前级吗?

本主题由 退烧王总编 于 2019-4-5 11:05 移动
估计也还是看具体机子,具体的设计水平。。。

[ 本帖最后由 toniexly 于 2019-3-30 16:46 编辑 ]

TOP

引用:
原帖由 空山秋雨 于 2019-3-30 15:58 发表


没有这么简单,录音处理过程中会遭受层层损失和冗余叠加,16bit录音之后,动态细节会低于这个范围,为保证录音质量,现在录音广泛使用24bit,这也就要求播放设备至少不低于24bit。
如果用户属于喜欢把数字音量条拉到百分之四十 ...
用foobar,把rmaa的16bit测试音,先减20db转换再加20db转换,然后用32bit格式先减20db转换再加20db转换。
32bit格式的无损,16bit格式的动态损失了。

现在知道谁对了吗?
----------------------------
pcm格式其实就是按采样率记录数字,16bit记录范围是0到65535,32bit是0到4294967295。减音量就是减少这个数字,比如-20db就是除10,-40db就是除100。每除一次小数点后的数就被丢弃了,这就是所谓的丢bit。
比如要减60db的音量,某16bit采样记录的数字是11111(0010101101100111),-60db就变成了11111/1000≈11,再+60db就是11000。这和原始采样不同,就是所谓的量化噪音。
如果转成32bit就是11111*65536=728170496(00101011011001110000000000000000,多了16个0),再-60db就是728170496/1000≈728170,再+60db就是728170000,转回16bit是728170000/65536=11110.992431641≈11111。看到了吗?无损!
----------------------------
所谓的丢bit,就是16bit的音频文件用32bit播放,就有16bit可以丢。
所以音量控制,数字音量丢bit不影响音质,底噪和失真影响音质,懂了吗?

如果前级的底噪和失真小于dac,也没有偏音,那么是有用的。

[ 本帖最后由 la2ygoo 于 2019-3-30 20:43 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

看来我的电位器衰减大法还是有点用的
无善无恶心之体,有善有恶意之动。 知善知恶是良知,为善去恶是格物。

TOP

引用:
原帖由 吴渭 于 2019-3-30 21:05 发表
看来我的电位器衰减大法还是有点用的
http://www.sengpielaudio.com/calculator-noise.htm
电位器有电阻热噪音(还有其他噪音),一般音箱是10k阻抗(kh120和m040我查过都是),衰减20db,需要90k电阻(这个我不清楚有没有错),根据上面的网站电阻热噪音是5.4uv,衰减60db,需要9990k电阻,电阻热噪音是56.8uv。动态范围120db的dac,-60db时的失真加噪音是2uv。

[ 本帖最后由 la2ygoo 于 2019-3-30 21:46 编辑 ]

TOP

难道我真要正儿八经买个前级玩玩......
无善无恶心之体,有善有恶意之动。 知善知恶是良知,为善去恶是格物。

TOP

KH310粗略对比3种音量前级,几乎听不出差异:
声卡音量调节(应该是数字);
美奇big knob(碳膜电阻);
KH810音量遥控器(KH810低音炮前级,猜测是模拟)。

TOP

引用:
原帖由 la2ygoo 于 2019-3-30 19:33 发表


16361
用foobar,把rmaa的16bit测试音,先减20db转换再加20db转换,然后用32bit格式先减20db转换再加20db转换。
32bit格式的无损,16bit格式的动态损失了。

现在知道谁对了吗?
----------------------------
pcm格式其实就 ...
我的意思就是合理的数字音量调节,除非衰减到极小,否则并不会造成什么动态损失,即便真正产生损失,也在人耳察觉范围之外。
合理的数字音量算法,其实优于现阶段大部分电位器与音量芯片,因为他们都属于模拟范畴,目前高端声卡与解码产品有逐步推广趋势。

TOP

引用:
原帖由 la2ygoo 于 2019-3-30 19:33 发表
pcm格式其实就是按采样率记录数字,16bit记录范围是0到65535,32bit是0到4294967295。减音量就是减少这个数字,比如-20db就是除10,-40db就是除100。每除一次小数点后的数就被丢弃了,这就是所谓的丢bit。
比如要减60db的音量,某16bit采样记录的数字是11111(0010101101100111),-60db就变成了11111/1000≈11,再+60db就是11000。这和原始采样不同,就是所谓的量化噪音。
如果转成32bit就是11111*65536=728170496(00101011011001110000000000000000,多了16个0),再-60db就是728170496/1000≈728170,再+60db就是728170000,转回16bit是728170000/65536=11110.992431641≈11111。看到了吗?无损!
不考虑Noise shaping,谈数字精度,就是很傻很天真

做个思考题:
1比特的DSD能不能做数字衰减?
如果有的话,算法大概是什么?

TOP

引用:
原帖由 racingpht 于 2019-3-30 23:28 发表


不考虑Noise shaping,谈数字精度,就是很傻很天真

做个思考题:
1比特的DSD能不能做数字衰减?
如果有的话,算法大概是什么?
噪声整形不了解,一般播放软件减少衰减音量时信噪比损耗的手段是抖动吧,高比特时不是那么必要吧?foobar都只有16bit的时候才有抖动,24bit和32bit的时候,应该就是我说的那种最原始的方法。 24bit时,量化噪音就比一般dac底噪低很多了。

1bit dsd我不知道能数字衰减音量。

[ 本帖最后由 la2ygoo 于 2019-3-31 01:13 编辑 ]

TOP

引用:
原帖由 la2ygoo 于 2019-3-31 00:46 发表

噪声整形不了解,一般播放软件减少衰减音量时信噪比损耗的手段是抖动吧,高比特时不是那么必要吧?foobar都只有16bit的时候才有抖动,24bit和32bit的时候,应该就是我说的那种最原始的方法。 24bit时,量化噪音就比一般dac底噪 ...
如果不了解噪声整形,就没法理解数字音频。数字音频绝不是直接丢个尾bit那么简单。16bit音频的可闻动态完全可以超过96db的理论极限。

下面最基本的例子。8比特的音频,使用噪声整形,-66dbfs的时候还能听清楚人声,而8比特的理论动态只有-48db。如果按你的naive(天真)的算法,-66db的时候去bit早就已经降为0了。
https://www.audiocheck.net/audiotests_dithering.php

可以理解的是,对数字音量的恐惧来自于:

你不知道你的数字音量是用最傻的算法,还是用最聪明的算法。

如果是最傻的算法,比如32楼描述的那种,当然有损音质。不但有量化噪音,而且有量化失真。

如果是最聪明的算法,唯一的副作用就是一些噪音,而这个引入的噪音完全可以和模拟器件相媲美。

TOP

发新话题