发新话题
打印

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

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


很不幸,PChifi玩家最常用的软件调音与OS音量调节正是第一种最愚蠢的直接降低位深方式,只能做升频处理或者改用解码器音量调节。
一般音频文件都是16位,用24或者32位输出就没问题了。

foobar选16位输出时有抖动选项,好像就是r版说的添加高频噪音,选24位和32位就没这个选项了。
我是认同12楼说的“只说数字,如果你的解码器是32bit,听的音乐是16bit的CD,那么你有16bit的调节空间是无损的,这个范围好像最小是1/65536音量,如果听的音乐是24bit的,那么你有8bit,也就是最小1/256音量是无损的。”
----------------------------
到了实际使用,其实就是比底噪,到了较低音量失真会在底噪以下,所以很多时候动态范围等于信噪比。
前级有没有用,看前级底噪和dac的底噪哪个更小就可以了,如果前级底噪更大就是负作用。前级底噪更小,那有用,但是模拟音量调节低音量左右声道偏音很常见。
无论前级还是dac,都比24bit的量化噪音-144db高多了

[ 本帖最后由 la2ygoo 于 2019-3-29 11:44 编辑 ]

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

引用:
原帖由 吴渭 于 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

引用:
原帖由 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

引用:
原帖由 racingpht 于 2019-3-31 01:29 发表
可以理解的是,对数字音量的恐惧来自于:

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

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

如果是最聪明的算法,唯一的副作 ...
如果降bit了,当然需要厉害的算法减少失真,比如32bit音频只用32bit来衰减144db音量(其实就是文件体积限制,为什么费尽心思搞mp3、aac、各种蓝牙、mqa?为了压缩数据嘛,简单粗暴傻的wav音质完爆这些格式)。但是16bit文件按24bit、32bit播放,在降bit不多时,用最傻的算法,也能还原成原来的音频,因为引入的量化噪音相对于原来的文件的bit来说足够小。
对于现在的模拟水平来说也足够小,所以foobar在24bit、32bit的时候已经不用抖动了,我认为也没有噪音整形,因为不需要。

如果你能科普一下,16bit的文件用24bit播放,用最傻的算法音量减少100倍时,量化失真有多少,我乐意受教。
引用:
原帖由 racingpht 于 2019-3-31 01:29 发表
下面最基本的例子。8比特的音频,使用噪声整形,-66dbfs的时候还能听清楚人声,而8比特的理论动态只有-48db。如果按你的naive(天真)的算法,-66db的时候去bit早就已经降为0了。
https://www.audiocheck.net/audiotests_dithering.php
按你的例子,8bit文件,转成32bit,用最傻的算法音量-66db,之后会变成怎么样?巧妇难为无米之炊,你只有8bit,-66db,玩出花来也只能听到噪音里的人声,转成32bit就无损了。

听他那个音频,到了后面会有很多噪音,但是在windows里用24bit播放,他的第一声减少到和后面的声音同样的音量水平,不会有噪音和失真。
所以8bit在8bit的情况下减少音量,就算用了音量整形,音质下降也很明显,用24bit播放,减少音量就无损了(相对原始的8bit)。

TOP

引用:
原帖由 racingpht 于 2019-4-1 21:17 发表


总结一下,你的观点就是“bit多了就随便降都不要紧”。这不是我儿子都会的计算机水平么。。

问题是
1:你举的例子算精度是错的,你那个是计算机初级基本常识,不是数字音频的初级基本常识。数字音频的实践和你的例子没有 ...
实际就是那个网页的8bit的文件在windows里用高bit播放,降低音量没明显的失真和噪音啊。
我刚才自己转了一个8bit的音乐,用32bit播放,低音量对比高音量也没有明显的失真和噪音。
我用Audacity设置采样率转换器:低质量(最快),无抖动,将rmaa的测试wav -39db 32位保存,导入-37db 32位保存,导入+41db 32位保存,导入+35db 16位保存,得到的文件用SHA-256校验和原文件是一样的。所以16bit音频文件用32bit格式减少音量在幅度不大的情况下,确实是可以无损的。
不过我以为16bit用24bit播放能丢8bit其实是有点错的,-43db再放大回来是无损,-47db再放大回来就不是无损了。

r版你自己试一下吧,低bit文件使用高bit来减少音量确实是无损的(相对原来的低bit)。
抖动、噪音整形,是好一点的算法,但是没太大差别。
引用:
原帖由 空山秋雨 于 2019-4-1 21:56 发表


并没有这么简单,不过可以肯定的是,windows共享模式hifi用户尽量要避免设置为48khz及倍数。
至于数字音量和模拟音量,有兴趣可以详细请教一下隔壁站的fumac,在LA举办的AES@NAMM专程讲过一节课,内容就是模拟和数字音量控制 ...
这个其实就是我说的那个前级的底噪和失真比dac低而已。
---------------
http://forum.xitek.com/thread-1051463-1-1-1.html
底噪范围:1.9uV~35uV (Typical vol=0~99)
底噪范围:1.5uV~22uV (A weight vol=0~99)
谐波失真典型值: THD<=0.0001%(<=-120dB) BW=30k / 600Ohm load
谐波失真标称值: THD<=0.0003%(<=-117dB) BW=30K 600 Ohm load
动态范围标称值: >=126dBrA(vol=99)
--------------------
再看了下,其实不算很好,那张图好像是加权的信噪比(信噪比是无输出时的底噪除以输出电压,不如thd+n,有单正弦波输出时的底噪加失真,一般低音量时失真可以忽略,但也有产品设计不好),他的前级标称底噪最低是1.9uv。(后来又算了一下,按那张图,底噪应该是0.8uv才对)
双木三林d1实测动态范围122db,底噪大概是1.6uv。

------------------------
https://www.audiosciencereview.c ... -amp-switcher.2335/
有个49美元的被动前级,底噪好像是0.89uv(第一张图应该是输入的电压,输出电压要减去衰减音量),9:00 volume比原始输入低31db,所以底噪是-81dbv的1%,-81dbv是89uv。(但是3点和12点音量时,底噪比9点音量大)




我觉得前级应该就是电阻衰减,再1:1放大(缓冲)
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 racingpht 于 2019-4-1 22:48 发表


听出什么效果取决于听力和器材,他用什么算法,只能依靠分析。

这里有一篇Win10 Mixer的音质分析。简单总结,Windows的DS混音/音量实测效果很烂,但很多人一样觉得听起来没大问题(包括我自己)

http://archimago.blogspot.c ...
16bit文件用32bit衰减音量再提高,确实是可以无损还原。
只用16bit不可能吧?

TOP

引用:
原帖由 racingpht 于 2019-4-1 23:33 发表


理论上确实是这样。

但“衰减音量再提高”这个操作本身类似于碰瓷。。。也不是音量衰减的本意。音量衰减,本身就是降低音量的意思。

这么说吧,假设不采用噪音整形之类的增加实际信噪比的手段,仅仅是用尽96db的理论信 ...
音量提高后,更容易听清楚衰减后产生的噪音和失真吧?
衰减后几乎无损,在音量提高后才可能和原文件一样。
反正就是16bit用16bit来衰减音量再提高,几乎不可能和原文件一样。16bit用24bit来衰减音量再提高,超过48db几乎不可能和原文件一样。16bit用32bit来衰减音量再提高,80db,可以和原文件一模一样。
低bit文件用高bit来衰减音量,衰减范围不大的情况下(升了16bit,-80db也不大),就是几乎无损

---------------------------
你说的96db也够用,之前在别的帖子我也说过,如果是115+动态范围的dac,不用考虑30db的环境噪音,按0db来算也够用了。
引用:
原帖由 racingpht 于 2019-4-1 22:48 发表
听出什么效果取决于听力和器材,他用什么算法,只能依靠分析。
https://www.audiocheck.net/audiotests_dithering.php
我觉得不用分析那么多吧,应该就是这个网页上说的那3种方法,无抖动,抖动,噪音整形。

无抖动应该就是我说的那种。
“8位•无抖动

通过将16位文件下转换为8位,现在每个样本都被截断为256个可能值中的一个(原始值为65,536个可能的值)。发生严重的量化失真。低于-36 dBFS的清晰度和低于-48 dBFS的任何信号的缺失是8位音频文件的典型限制。

尽管量化伪像通常被描述为噪声(量化噪声),但是8位信号中完美保留的静音用作量化不会增加噪声但是使原始信号失真的证明。”

就算不知道他用什么算法,24bit优于16bit,32bit优于24bit,是没有疑问的。

[ 本帖最后由 la2ygoo 于 2019-4-2 10:45 编辑 ]

TOP

引用:
原帖由 kiol 于 2019-4-2 11:06 发表
所以我现在都是买自带数字前级的32bit的dac。
当然,主要是因为穷
其实不穷的终究是少数,我认识的身家1000万以上的人,也不奢侈,其实放开来用,1000万也挥霍不了多久。
普通人没必要向那些钱用不完的人看齐。

TOP

引用:
原帖由 racingpht 于 2019-4-1 22:48 发表


听出什么效果取决于听力和器材,他用什么算法,只能依靠分析。

这里有一篇Win10 Mixer的音质分析。简单总结,Windows的DS混音/音量实测效果很烂,但很多人一样觉得听起来没大问题(包括我自己)

http://archimago.blogspot.c ...
看了下,这篇文章说的是src吧。
------
下面这篇文章说的是数字音量。
https://archimago.blogspot.com/2 ... d-use-software.html
关于数字音量控制,我们可以说的基本结论是,只要播放设备的位深比文件源高,就可以无损地减小文件的音量,直到达到播放设备的位深限制。例如,使用理想的24位设备,可以以低48dB的速度播放16位文件而不会降低质量,因为一个位的动态范围约为6dB(位深度和动态范围的精确公式为6.02 * n-位+ 1.76)。

TOP

发新话题