设为首页 收藏本站
查看: 1198|回复: 0

win7下DS、KS、ASIO、WASAPI输出比较

[复制链接]

尚未签到

发表于 2015-5-18 09:28:04 | 显示全部楼层 |阅读模式
  转自:http://www.rtrash.net/win7-under-ds-ks-asio-wasapi-output-compare.html以下先利用图表做个最简单的比较 DSC0000.jpg
  win7下DS、KS、ASIO、WASAPI输出比较
  接下来主要介绍WASAPI的来历已经微软对声音处理的发展历程:
  winxp 以前的windows 一直都是使用一般DMA 来处理声音, DMA = direct memory access, 即是一般harddisk, lan card, drives 等一切取存设备的IO 机制, i386 年代的电脑大多数都是使用PIO 来处理hdd data 出入, 即是hdd 所读所写入的任何data 都要直接经由cpu 所控制, 才能让ram 和hdd 互传data, 但这样做便会占用大量CPU 的loading, hdd volume 越大越快, 情况便越糟.
所以到了大概intel pentium mmx 的年代, drive controllers 便开始转用DMA, 让晶片能简单的控制或导向hdd/drives 直接能和ram 连接, 而不需要把传送内容资料全都要经过cpu 处理, 这样cpu 便可以完全免除对hdd 资料的负担, 即使由以前IDE/SCSI 到今天SATA 都是使用高效能的DMA, 但是DMA 的作法是要互动等待, 所有资料不只是以ram 作为buffer 中转站, 而且是base on ram clock timer 控制传送时机, 虽然节省电脑效能, 但相对于audio IO 来说, 这是既不稳定, 又慢又大latency, 很难还原原音的做法, 因为声音是一种需求时间性的一种能量, 有时间构成才有声音, 而且PCM 讯号是一种要求每一个sample 都要实时平均的到达, 才能保持原音
而DMA audio 所使用的就是一般人所说的kmixer
  但是微软宣称, vista/7 已经开始弃用了kmixer 和依赖dma 的audio IO, 而开发了他们所说的WaveRT (Wave RealTime), 他们的WASAPI, MMCSS 等就是使用WaveRT 做核心, 而WaveRT 都有一个属于自己的mixer, 但只要开动独占摸式就可以bypass 这个mixer, mute 掉所有其他程序的声音, MMCSS 是让你提高audio 出入IO 到最高时脉优先权, 微软想做的其实就是使用实时clock timer控制audio 流, 而不经dma, 直接和UAA audio devices hareware 沟通, 甚至让sound card or audio interface 的hareware clock 直接来控制audio data, 这样的作用就是想做到和ASIO 很相近
就算是WASAPI 共享模式, 都已经没有SRC 了, 而是在控制台中可以自由让你设定共享混音后的共同目的sampling rate, bit size 及channels, 所以的可以保留原来的44100Hz 讯号, 不会再被SRC
而且现在所有intel motherboard 或intel chips 都已经有了HPET (High Precision Event Timer), 可以令video 和audio 的处理更实时精确处理高sampling rates, 低bus latency, 让每秒钟内可以回应资料流事件的次数大幅增加, 但不知AMD 的有没有
http://www1.uwants.com/viewthread.php?tid=8157140&page=1#pid116989187
  about Wasapi by microsoft
http://msdn.microsoft.com/en-us/library/dd371455(VS.85).aspx
  接下来介绍如何WIN7+FOOBAR获得完美音效,没有爆音,以原音源来输出:
  注:来自dearhoney音效工作室
  看了一些国内外的讨论文章,然后自己实做,确认了以下 的方式是可以保证输出16bit 44.1kHz 的数位讯号,完全原汁原味。
  1. 播放软体请使用foobar2000,下载:http://www.foobar2000.org/?page=Download,然后安装起来。
2. 除此之外,请在上述同一页下载WASAPI output,解开来的foo_out_wasapi.dll 这个档案请放到foobar2000 安装目录的components 资料夹下。例如在本例中因为是安装在x64 环境,且一切按照系统预设,所以是放在C:\Program Files (x86)\foobar2000\components 这个路径下。
3. 启动foobar2000,然后到Files → Preferences 下调整Playback 下的Output 这个页面,顺利的话应该会看到有两个WASAPI 开头的音效装置。您如果使用数位输出/HDMI 输出,就选数位输出;如果你没有外接的解码设备,想要用HDAV 1.3 的类比输出,就选喇叭那一项:(下图中有三个WASAPI 装置,其中一个不是HDAV 1.3,那是主机板M3A78-EM 的HDMI 输出)
  

  win7_foobar_wasapi
  你会发现这样已经可以播放音乐,且有几个特性:
  1. 不能从系统的音量控制台去调整声音大小了。
2. 其他所有系统音效都听不到了。
3. 如果您的设备够好,或您有金耳朵,将发现这样子经由您环绕扩大机解码出来的声音品质有更好了一点。
  但这样如何确保是原汁原味的16bit 44.1kHz 数位讯号?我是这么验证的:我手边有一些wave 档,其本质是DTS 编码过的讯号,经由此法从foobar2000 播放出去,环绕扩大机立即亮起DTS 灯号,就是最好的证明。为什么?因为如果是一般的音乐档,亦即最终将是立体声 16bit 44.1kHz 的数位讯号,如果有经过SRC 势必会被改变内容,但人耳并不一定听得出来;然而我现在播放的是DTS 编码后的wave 档,如果被SRC 当成两声道的音乐来处理过,将会完全变成杂音后丢出去,但经过这样的设定后并没有听到杂音,而是正确的内容并且让环绕扩大机亮起DTS灯号,足见这样的设定已经完全摆脱SRC 及Windows 混音器的控制,顺利输出原汁原味的数位讯号了。
  小结一下:
  在我的本子上,只测试过DS和WASAPI,DS配合Y460的杜比音效效果不错;但是音高的时候会有破音,MS低音在太大,不好控制;加入wasapi后,输出的声音变的很细腻,高音通亮,但是低音没有DS那么低沉浑厚,但毕竟高音听不清楚不亮低音再好也不行。毕竟在本子上不是外接音响,JBJ的音响够用了;
  相反外接入耳麦的时候,自动启用DS(启用的Y460的杜比音效),玩游戏的时候效果很好;但是DS在foobar听音乐效果不行,在WMP上听就更加一般了。比起foobar的WASAPI输出效果差远了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67966-1-1.html 上篇帖子: win7让笔记本的自带键盘失灵 下篇帖子: win7关联图标手动修改注册表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表