Window10中音频驱动的相关更新

"Windows音频驱动"翻译系列总目录: https://blog.csdn.net/danteLiujie/article/details/102530417

目录

1. 功能总结

2. 音频低时延性能改善

3. 信号处理模式和音频分类

3.1. 信号处理模式

3.2. 音频类型

4. 硬件分担 (hardware offloaded) APO音效

5. Cortana语音激活-语音唤醒

6. Windows 音频通用驱动 (Universal Drivers)

7. 音频驱动程序的资源管理

8. 音频驱动的PNP 重平衡


本文简单总结了Windows 10里面有些什么新内容.

1. 功能总结

以下是Windows 10里面的新音频特性.

2. 音频低时延性能改善

音频时延是从声音生成到被听到之间的间隔. 在以下关键场景中, 做到低时延是非常重要的:

  • 专业音频
  • 音乐制作和混音
  • 通信, 比如Skype
  • VR和AR(虚拟现实和现实增强, Virtual and Augmented Reality)
  • 游戏Games

设备总时延是以下组件时延的总和:

  • 操作系统
  • APO(Audio Processing Objects)
  • 音频驱动(Audio Driver)
  • 音频驱动(Audio Hardware)

Windows 10中改善了OS造成的时延. 在不更改驱动的情况下, Windows 10的应用程序的时延是4.5~16ms. 如果更新驱动来使用新的低时延DDI(Device Driver Interface, 设备驱动接口)来处理音频数据, 时延会降的更低. 如果驱动支持3ms音频buffer, 那么往返时延(roundtrip latency)大概是10ms.

音频堆栈支持多种数据包大小和动态调整数据包大小,以便根据用户的情况优化延迟和功耗之间的权衡。另外,将对流进行优先级管理,让高优先级流(例如电话)占有专用资源。

为了使音频驱动程序支持低时延,Windows 10提供了以下3个新特性:

  1. [必须] 声明每种模式支持的最小缓冲区大小。
  2. [可选,但推荐] 改善驱动程序和OS之间的数据流协作。
  3. [可选,但建议使用] 注册驱动程序资源(中断,线程),以便在低延迟情况下可由OS保护它们。有关更多信息,请参见低延迟音频

 

3. 信号处理模式和音频分类

3.1. 信号处理模式

驱动程序声明每个设备支持的音频信号处理模式。

音频类别(由应用程序选择)映射到音频模式(由驱动程序定义)。Windows定义了七个音频信号处理模式。OEM和IHV可以确定要实施的模式。下表中汇总了这些模式。

模式

渲染/捕获

描述

原始(Raw)

Both

原始模式下不应对流应用任何信号处理。

应用程序可以请求完全未经处理的原始流,并执行自己的信号处理。

默认(Default)

Both

此模式定义默认的音频处理

电影(Movies)*

渲染

电影音频播放

媒体(Media) *

Both

音乐音频播放(大多数媒体流的默认设置)

语音 (Speech)*

Capture

人声抓取(例如: 输入到Cortana)

通信(Communication)*

Both

VOIP渲染和捕获(例如: Skype,Lync)

通知(Notification)*

Render

铃声,警报,警报等

音频设备驱动程序需要至少支持Raw或Default模式。 支持其他模式是可选的。

为语音,电影,音乐和通讯分配了专用模式。 音频驱动程序将能够根据流类型定义不同的音频格式和处理类型。

3.2. 音频类型

下表显示了Windows 10中的音频类别。

为了通知系统音频流的使用,应用程序可以选择用特定的音频流类别标记该流。在Windows 10中,有九种音频流类别。

类别

描述

电影(Movie)*

带有对话框的电影,视频(替换ForegroundOnlyMedia)

媒体(Media)*

媒体播放的默认类别(替换BackgroundCapableMedia)

游戏聊天(Game Chat)*

游戏内用户之间的通信(Windows 10中的新类别)

语音(Speech)*

语音输入(例如个人助理)和输出(例如导航应用程序)(Windows 10中的新类别)

通讯(Communications)

VOIP,实时聊天

警报(Alerts)

闹钟,铃声,通知

声音特效(Sound Effects)

哔声,叮当声等

游戏媒体(Game Media)

在游戏音乐中

游戏特效(Game Effects)

球弹跳,汽车发动机声音,子弹等。

其他

未分类的流

* Windows 10的新功能.

更多信息请参考音频信号处理模式 和APO框架.

4. 硬件分担 (hardware offloaded) APO音效

Windows 10支持硬件分担APO音效。可以将APO加载到分担引脚(offload pin)的顶部。这样可以在软件和硬件中完成音频处理。另外,处理可以动态地改变。当硬件资源足够时,可以将部分或全部处理从软件APO移到DSP,然后在DSP的负载增加时移回软件APO

有关更多信息,请参见实现硬件卸载的APO效果

5. Cortana语音激活-语音唤醒

个人助理技术Cortana首次在2013年的Microsoft BUILD开发者大会上演示。语音激活是一项使用户可以通过说出特定的短语"Hey Cortana"来在各种设备电源状态调用语音识别引擎的功能。"Hey Cortana"语音激活(VA)功能允许用户通过使用他或她的声音在他或她的活动场景(即当前在屏幕上显示的内容)中获得更好的体验(例如Cortana)。该功能适用于屏幕关闭,空闲或完全激活时的情况。如果硬件支持缓冲,则用户可以将关键字短语和命令短语链接在一起。这为用户改善了端到端的语音体验。有关更多信息,请参阅语音激活

6. Windows 音频通用驱动 (Universal Drivers)

Windows 10支持一种驱动程序模型, 适用于PC2合一PC (2:1’s, 译注: 同时具有平板电脑和笔记本电脑功能的便携式计算机) ,以及手机和小屏幕平板电脑. 这意味着IHV可以在一个平台上开发其驱动程序,并且该驱动程序可以在所有设备(台式机,笔记本电脑,平板电脑,电话)中使用。结果是减少了开发时间和成本

为了开发通用音频驱动程序,请使用以下工具

In order to develop Universal Audio Drivers, use the following tools:

  1. Visual Studio 2015:新的驱动程序设置允许将“目标平台”设置为“通用”以创建多平台驱动程序。
  2. APIValidator:这是WDK工具,用于检查驱动程序是否通用,并突出显示需要更新的调用。
  3. GitHub中的音频示例:sysvad和SwapAPO已转换为通用驱动程序。有关更多信息和GitHub示例代码的指针,请参见Universal Windows Drivers for Audio

7. 音频驱动程序的资源管理

在低成本移动设备上创建良好音频体验的, 一个挑战是某些设备具有各种并发限制。例如,设备可能最多只能同时播放6个音频流,并且仅支持2个分担(offload)流。当移动设备上有正在进行的电话通话时,该设备可能仅支持2个音频流。设备正在捕获音频时,设备最多只能播放4个音频流。

Windows 10包含一种机制来表达并发约束,以确保能够播放高优先级的音频流和电话。如果系统没有足够的资源,则终止低优先级流。该机制只在电话和平板上有效, 在台式机或笔记本电脑上无效。

有关更多信息,请参见音频硬件资源管理

 

8. 音频驱动的PNP 重平衡

在需要重新分配内存资源的某些PCI方案中使用PNP重新平衡。在这种情况下,某些驱动程序将被卸载(unloaded),然后在不同的内存位置重新加载,以创建可用的连续内存空间。在两种主要情况下会触发重新平衡:

  1. PCI热插拔:用户插入设备,并且PCI总线没有足够的资源来为新设备加载驱动程序。属于此类的设备的一些示例包括ThunderboltUSB-CNVME存储。在这种情况下,内存资源需要重新排列和合并(重新平衡)以支持添加的其他设备。
  2. PCI可调整大小的BAR:将设备驱动程序成功加载到内存后,它会请求额外的资源。比如高端图形卡和存储设备。有关更多信息,请参见为PortCls音频驱动程序实现PnP重新平衡

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2013年10月更新 ■版权信息 ■PHP 手册 ■序言 ■入门指引 ■简介 ■简明教程 ■安装与配置 ■安装前需要考虑的事项 ■Unix 系统下的安装 ■Mac OS X 系统下的安装 ■Windows 系统下的安装 ■云计算平台上的安装 ■FastCGI 进程管理器(FPM) ■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考 ■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■流程控制 ■函数 ■类与对象 ■命名空间 ■异常处理 ■生成器 ■引用的解释 ■预定义变量 ■预定义异常 ■预定义接口 ■上下文(Context)选项和参数 ■支持的协议和封装协议 ■安全 ■简介 ■总则 ■以 CGI 模式安装时 ■以 Apache 模块安装时 ■文件系统安全 ■数据库安全 ■错误报告 ■使用 Register Globals ■用户提交的数据 ■魔术引号 ■隐藏 PHP ■保持更新 ■特点 ■用 PHP 进行 HTTP 认证 ■Cookie ■会话 ■处理 XForms ■文件上传处理 ■使用远程文件 ■连接处理 ■数据库永久连接 ■安全模式 ■PHP 的命令行模式 ■垃圾回收机制 ■DTrace Dynamic Tracing ■函数参考 ■影响 PHP 行为的扩展 ■音频格式操作 ■身份认证服务 ■针对命令行的扩展 ■压缩与归档扩展 ■信用卡处理 ■加密扩展 ■数据库扩展 ■日期与时间相关扩展 ■文件系统相关扩展 ■国际化与字符编码支持 ■图像生成和处理 ■邮件相关扩展 ■数学扩展 ■非文本内容的 MIME 输出 ■进程控制扩展 ■其它基本扩展 ■其它服务 ■搜索引擎扩展 ■针对服务器的扩展 ■Session 扩展 ■文本处理 ■变量与类型相关扩展 ■Web 服务 ■Windows 专用扩展 ■XML 操作 ■PHP 核心:骇客指南 ■序言 ■内存管理 ■变量的使用 ■函数的编写 ■类和对象的使用 ■资源的使用 ■INI 设置的使用 ■流的使用 ■"counter" 扩展 - 一个连续的实例 ■PHP 5 构建系统 ■扩展的结构 ■PDO 驱动 ■扩展相关 FAQ ■Zend Engine 2 API 参考 ■Zend Engine 2 操作码列表 ■Zend Engine 1 ■FAQ — FAQ:常见问题 ■一般信息 ■邮件列表 ■获取 PHP ■数据库问题 ■安装 — 安装常见问题 ■编译问题 ■使用 PHP ■Password Hashing — Safe Password Hashing ■PHP 和 HTML ■PHP 和 COM ■PHP 和其它语言 ■从 PHP 4 移植到 PHP 5 ■杂类问题 ■附录 ■PHP 及其相关工程的历史 ■从 PHP 5.4.x 迁移到 PHP 5.5.x ■从 PHP 5.3.X 迁移到 PHP 5.4.X ■从 PHP 5.2.x 移植到 PHP 5.3.x ■Migrating from PHP 5.1.x to PHP 5.2.x ■Migrating from PHP 5.0.x to PHP 5.1.x ■从 PHP 4 移植到 PHP 5 ■类与对象(PHP 4) ■PHP 的调试 ■配置选项 ■php.ini 配置 ■扩展库列表/归类 ■函数别名列表 ■保留字列表 ■资源类型列表 ■可用过滤器列表 ■所支持的套接字传输器(Socket Transports)列表 ■PHP 类型比较表 ■解析器代号列表 ■用户空间命名指南 ■关于本手册 ■Creative Commons Attribution 3.0 ■索引 ■更新日志 ■CHM 版本 ■关于此版本 ■Using PHP Manual CHM Edition ■The Full Text Search ■Specialities of this Edition ■Integrating the PHP Manual ■Skin development ■CHM Edition Credits
软件介绍:   星际单警执法仪驱动安装与电脑连接说明  单警执法视音频记录仪与电脑的连接需要通过专业的管理软件来实现,支持操作系统包括Windows2000、WindowsXP,及Windows7 32位。  第一步:  将执法记录仪开机连接电脑后,然后将配套软件从随机附带光碟拷贝至电脑,在“我的电脑”打开“设备管理器”, 选择“其它设备”黄色问号文件(Amba Simple Class)。  第二步:确认选择黄色问号(Amba Simple Class)第三步:在列表选择“更新驱动程序(P)”  第四步:选择“从列表或指定位置安装(高级)(S)”  第五步:在浏览选择“驱动”文件夹安装后,点击“下一步”,开始安装,当显示完成驱动安装后,软件安装完毕。  第六步:登录,双击文件夹“高清执法记录仪”内部的 文件(或者发送到桌面快捷方式),在双击打开电脑会显示下面界面:  输入正确的六位密码后(初始密码“000000”),点击“连接设备”,再点击“提交密码” 如果密码正常,机器和电脑通讯正常,机器会自动进入以下界面,反之密码错误会提示密码错误或者连接错误。  自动校时,点击“自动校时” 会出现校时成功,此时需要确认电脑的时间是否与本地时间相同,同时机器的时间和电脑的时间会相同。点击确定。校时成功。  注:机器进入U盘模式后,其余按键不再起作用,不能完成通讯,要想设定机器相关参数,在没有进入U盘模式之前调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值