欢迎光临散文网 会员登陆 & 注册

【转载】Windows 10:音频驱动程序的新增功能

2023-08-06 21:13 作者:MomentumWS  | 我要投稿

Windows 10:音频驱动程序的新增功能

功能摘要

下面是 Windows 10 中的新音频功能。

  • 实现音频模块通信

  • 低延迟音频改进

  • 信号处理模式和音频类别

  • 硬件卸载的 APO 效果

  • Cortana 语音激活

  • 适用于音频的 Windows 通用驱动程序

  • 音频驱动程序的资源管理

  • 音频驱动程序的 PNP 重新平衡

低延迟音频改进

音频延迟是创建声音的时间和听到声音的时间之间的延迟。 对于以下几个关键方案,低音频延迟非常重要。

  • Pro Audio

  • 音乐创作和混合

  • Skype 等通信

  • 虚拟和增强现实

  • 游戏

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

  • 操作系统

  • 音频处理对象

  • 音频驱动程序

  • 音频硬件

在Windows 10已完成减少 OS 延迟的工作。 如果不进行任何驱动程序更改,Windows 10中的应用程序将体验 4.5-16 毫秒的延迟。 此外,如果驱动程序已更新,以利用使用小缓冲区处理音频数据的新低延迟 DDI,则延迟将进一步降低。 如果驱动程序支持 3 毫秒的音频缓冲区,则往返延迟约为 10 毫秒。

音频堆栈支持多种数据包大小和动态数据包大小调整,以便根据用户的场景优化延迟和电源之间的权衡。 此外,流将优先排序,以确保高优先级流 (例如电话呼叫) 具有专用资源。

为了使音频驱动程序支持低延迟,Windows 10提供了以下 3 项新功能:

  1. [必需]声明每个模式支持的最小缓冲区大小。

  2. [可选,但建议]改进驱动程序与 OS 之间数据流的协调。

  3. [可选,但建议]将驱动程序资源注册 (中断、线程) ,以便在低延迟方案中受 OS 保护。 有关详细信息,请参阅 低延迟音频。


信号处理模式和音频类别


信号处理模式

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

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

模式呈现/捕获说明原始两者原始模式指定不应对流应用任何信号处理。 应用程序可以请求完全不动的原始流,并执行自己的信号处理。默认两者此模式定义默认音频处理。电影*呈现电影音频播放媒体*两者大多数媒体流 (默认播放音乐音频)演讲*捕获人类语音捕获 (例如输入 Cortana)通信*两者VOIP 呈现和捕获 (例如 Skype、Lync)通知*呈现铃声、警报、警报等。

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

用于语音、电影、音乐和通信的专用模式。 音频驱动程序将能够根据流类型定义不同类型的音频格式和处理。


音频类别

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

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

类别说明电影*带有对话框 (的电影、视频替换了 ForegroundOnlyMedia)媒体*媒体播放 (的默认类别替换 BackgroundCapableMedia)游戏聊天*用户之间的游戏内通信 (Windows 10) 中的新类别演讲*语音输入 (例如个人助手) 和输出 (例如导航应用) (Windows 10) 中的新类别沟通VOIP,实时聊天警报闹钟、铃声、通知声音效果哔哔声、小丁声等游戏媒体在游戏音乐中游戏效果球弹跳、汽车引擎声音、子弹等。其他未分类的流

* Windows 10 中的新增功能。

有关详细信息,请参阅 音频信号处理模式 和 音频处理对象体系结构。


硬件卸载的 APO 效果

Windows 10支持硬件卸载的 APO 效果。 ADO 可以加载到卸载引脚的顶部。 这允许在软件和硬件中完成音频处理。 此外,处理可以动态更改。 当有足够的硬件资源时,可以将部分或全部处理从软件 APO 移动到 DSP,然后在 DSP 中的负载增加时移回软件 APO。

有关详细信息,请参阅 实现硬件卸载 APO 效果。


Cortana 语音激活 - 语音唤醒

Cortana,个人助手技术在 2013 年的 Microsoft BUILD 开发人员大会上首次被演示。 语音激活是一项功能,使用户能够通过说出特定短语“你好小娜”,从各种设备电源状态调用语音识别引擎。 “你好小娜”语音激活 (VA) 功能允许用户快速体验 (例如,Cortana 在其活动上下文 (之外) ,即当前屏幕上的内容) 使用其语音。 该功能适用于屏幕关闭、空闲或完全处于活动状态的情况。 如果硬件支持缓冲,则用户可以将关键短语和命令短语链接在一起。 这改进了用户的语音端到端唤醒体验。 有关详细信息,请参阅 语音激活。


适用于音频的 Windows 通用驱动程序

Windows 10支持一种适用于电脑的驱动程序模型,以及适用于手机和小屏幕平板电脑的 2:1 和Windows 10。 这意味着 IHV 可以在一个平台中开发其驱动程序,并且该驱动程序可在台式机、笔记本电脑、平板电脑、手机) (的所有设备中运行。 结果是减少了开发时间和成本。

若要开发通用音频驱动程序,请使用以下工具:

  1. Visual Studio 2015:新的驱动程序设置允许将“目标平台”设置为“通用”以创建多平台驱动程序。

  2. APIValidator:这是一个 WDK 工具,用于检查驱动程序是否通用并突出显示需要更新的调用。

  3. GitHub 中的音频示例:sysvad 和 SwapAPO 已转换为通用驱动程序。 有关详细信息和指向 GitHub 示例代码的指针,请参阅 适用于音频的通用 Windows 驱动程序。

音频驱动程序的资源管理

在低成本移动设备上创建良好音频体验的一个挑战是,某些设备具有各种并发约束。 例如,设备可能最多只能同时播放 6 个音频流,并且仅支持 2 个卸载流。 当移动设备上存在活动电话呼叫时,设备可能仅支持 2 个音频流。 当设备捕获音频时,设备最多只能播放 4 个音频流。

Windows 10包括一种机制,用于表示并发约束,以确保高优先级音频流和移动电话呼叫能够播放。 如果系统没有足够的资源,则会终止低优先级流。 此机制仅适用于手机和平板电脑,不适用于台式机或笔记本电脑。

有关详细信息,请参阅 音频硬件资源管理。


音频驱动程序的 PNP 重新平衡

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

  1. PCI 热插拔:用户插入设备,而 PCI 总线没有足够的资源来加载新设备的驱动程序。 属于此类别的一些设备示例包括 Thunderbolt、USB-C 和 NVME 存储。 在这种情况下,需要重新排列和合并内存资源, (重新平衡) 以支持要添加的其他设备。

  2. PCI 可调整大小的 BAR:在设备驱动程序成功加载到内存中后,它会请求其他资源。 一些设备示例包括高端图形卡和存储设备。 有关详细信息,请参阅 实现 PortCls 音频驱动程序的 PnP 重新平衡。

声明:

本文转载自微软官网 learn.microsoft.com

(此文仅供学习使用,如侵权请联系删除)

原文链接:

https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/windows-threshold--what-s-new-for-audio


【转载】Windows 10:音频驱动程序的新增功能的评论 (共 条)

分享到微博请遵守国家法律