Re: [问题] 电脑输出到音响的效果较差

楼主: Oswyn (Oswyn)   2019-03-26 17:17:59
机壳内是 RF EMI 暴风区,会导致讯号受到影响。
但更根源的问题是 OS 内部的混音程式会介入 Audio 数据。就算你播放的影音 Audio
讯号格式与 OS 中的默认输出匹配,还是存在各种因素与机会对原始数据造成变动与修
改。
M$ Windows 开发论坛就有人问过一个问题:
Windows 音效输出设置为 24 bit 48kHz,且关闭所有的增强设定与音量控制
均已调至最高。
使用 WASAPI Shared mode 播放音频,音档为 24 bit 48kHz PCM wave file
,且同时间没有其它音频被播放。
问、我会得到 bit perfect output 吗?或其间会受到任何处理造成截断或衰
减(truncation or attenuation)。
M$ Windows Audio team 的工程师是这么回答:
如果侦测到 sample values 超出浮点域中的 -0.985 to +0.985 左右(也就
是接近 peak 的讯号),audio limiter APO 就会介入引起失真。

而 Audio Engine 内部以浮点 sample 工作,并且路径中可能存在抖动。
你可以通过使用 WASAPI exclusive mode 而不是 WASAPI shared mode 来避
免这两种情况。
M$ Windows Audio Engine 内部有个限制器防止可能的硬件毁损,所以会提早给你一个
软件 Clipping。
虽然原文指 may be dithering in the path,但想想这其实是你几乎必然会得到抖动。
不管你的原始输入格式为何,Windows Audio Engine 只能处理 PCM 讯号,所以所有的
格式均会被解成 PCM 且不论位元深度为何都会一律转为浮点数处理。
处理完它还会在乎原始讯号位元深度跟输出合不合吗?不会,由浮点转换为 16/24 bit
必然是个 Truncation 所以 Dithering 的引入应是不可避免的(int 32 bit 个人就不
确定了)。
基本上要避开 Windows 内部 Audio Engine 的混音处理只能使用 WASAPI 独占模式或
ASIO。
作者: yuugen2 (马英丸)   2019-03-26 23:49:00
用wasap asio就可以perfect bit?
作者: tsai82118 (PeteR)   2019-03-27 00:43:00
ASIO驱动还有软件调用如没大问题一般可bit perfectWASAPI Exclusive也可以
作者: siegfriedlin (齐格飞)   2019-03-27 07:55:00
请问接光纤的话还需要这样吗?主机板上的光纤输出
作者: kevinmonkey (kevin&monkey)   2019-03-27 14:01:00
感谢好文!对电脑来说同时能发声是基本条件,发好声不是设计的重点,整条路径上太多不可控因素,享受方便性升级性是真的

Links booklink

Contact Us: admin [ a t ] ucptt.com