【轉(zhuǎn)載】Windows 10:音頻驅(qū)動(dòng)程序的新增功能
Windows 10:音頻驅(qū)動(dòng)程序的新增功能
功能摘要
下面是 Windows 10 中的新音頻功能。
實(shí)現(xiàn)音頻模塊通信
低延遲音頻改進(jìn)
信號(hào)處理模式和音頻類(lèi)別
硬件卸載的 APO 效果
Cortana 語(yǔ)音激活
適用于音頻的 Windows 通用驅(qū)動(dòng)程序
音頻驅(qū)動(dòng)程序的資源管理
音頻驅(qū)動(dòng)程序的 PNP 重新平衡
低延遲音頻改進(jìn)
音頻延遲是創(chuàng)建聲音的時(shí)間和聽(tīng)到聲音的時(shí)間之間的延遲。 對(duì)于以下幾個(gè)關(guān)鍵方案,低音頻延遲非常重要。
Pro Audio
音樂(lè)創(chuàng)作和混合
Skype 等通信
虛擬和增強(qiáng)現(xiàn)實(shí)
游戲
設(shè)備的總延遲是以下組件延遲的總和:
操作系統(tǒng)
音頻處理對(duì)象
音頻驅(qū)動(dòng)程序
音頻硬件
在Windows 10已完成減少 OS 延遲的工作。 如果不進(jìn)行任何驅(qū)動(dòng)程序更改,Windows 10中的應(yīng)用程序?qū)Ⅲw驗(yàn) 4.5-16 毫秒的延遲。 此外,如果驅(qū)動(dòng)程序已更新,以利用使用小緩沖區(qū)處理音頻數(shù)據(jù)的新低延遲 DDI,則延遲將進(jìn)一步降低。 如果驅(qū)動(dòng)程序支持 3 毫秒的音頻緩沖區(qū),則往返延遲約為 10 毫秒。

音頻堆棧支持多種數(shù)據(jù)包大小和動(dòng)態(tài)數(shù)據(jù)包大小調(diào)整,以便根據(jù)用戶的場(chǎng)景優(yōu)化延遲和電源之間的權(quán)衡。 此外,流將優(yōu)先排序,以確保高優(yōu)先級(jí)流 (例如電話呼叫) 具有專(zhuān)用資源。
為了使音頻驅(qū)動(dòng)程序支持低延遲,Windows 10提供了以下 3 項(xiàng)新功能:
[必需]聲明每個(gè)模式支持的最小緩沖區(qū)大小。
[可選,但建議]改進(jìn)驅(qū)動(dòng)程序與 OS 之間數(shù)據(jù)流的協(xié)調(diào)。
[可選,但建議]將驅(qū)動(dòng)程序資源注冊(cè) (中斷、線程) ,以便在低延遲方案中受 OS 保護(hù)。 有關(guān)詳細(xì)信息,請(qǐng)參閱?低延遲音頻。
信號(hào)處理模式和音頻類(lèi)別
信號(hào)處理模式
驅(qū)動(dòng)程序?yàn)槊總€(gè)設(shè)備聲明支持的音頻信號(hào)處理模式。
) 應(yīng)用程序選擇的音頻類(lèi)別 (映射到驅(qū)動(dòng)程序) 定義的音頻模式 (。 Windows 定義了七種音頻信號(hào)處理模式。 OEM 和 IHV 可以確定要實(shí)現(xiàn)的模式。 下表中匯總了這些模式。
模式呈現(xiàn)/捕獲說(shuō)明原始兩者原始模式指定不應(yīng)對(duì)流應(yīng)用任何信號(hào)處理。 應(yīng)用程序可以請(qǐng)求完全不動(dòng)的原始流,并執(zhí)行自己的信號(hào)處理。默認(rèn)兩者此模式定義默認(rèn)音頻處理。電影*呈現(xiàn)電影音頻播放媒體*兩者大多數(shù)媒體流 (默認(rèn)播放音樂(lè)音頻)演講*捕獲人類(lèi)語(yǔ)音捕獲 (例如輸入 Cortana)通信*兩者VOIP 呈現(xiàn)和捕獲 (例如 Skype、Lync)通知*呈現(xiàn)鈴聲、警報(bào)、警報(bào)等。
音頻設(shè)備驅(qū)動(dòng)程序至少需要支持原始或默認(rèn)模式。 支持其他模式是可選的。
用于語(yǔ)音、電影、音樂(lè)和通信的專(zhuān)用模式。 音頻驅(qū)動(dòng)程序?qū)⒛軌蚋鶕?jù)流類(lèi)型定義不同類(lèi)型的音頻格式和處理。
音頻類(lèi)別
下表顯示了 Windows 10 中的音頻類(lèi)別。
為了通知系統(tǒng)音頻流的使用情況,應(yīng)用程序可以選擇使用特定音頻流類(lèi)別標(biāo)記流。 Windows 10有九個(gè)音頻流類(lèi)別。
類(lèi)別說(shuō)明電影*帶有對(duì)話框 (的電影、視頻替換了 ForegroundOnlyMedia)媒體*媒體播放 (的默認(rèn)類(lèi)別替換 BackgroundCapableMedia)游戲聊天*用戶之間的游戲內(nèi)通信 (Windows 10) 中的新類(lèi)別演講*語(yǔ)音輸入 (例如個(gè)人助手) 和輸出 (例如導(dǎo)航應(yīng)用) (Windows 10) 中的新類(lèi)別溝通VOIP,實(shí)時(shí)聊天警報(bào)鬧鐘、鈴聲、通知聲音效果嗶嗶聲、小丁聲等游戲媒體在游戲音樂(lè)中游戲效果球彈跳、汽車(chē)引擎聲音、子彈等。其他未分類(lèi)的流
* Windows 10 中的新增功能。
有關(guān)詳細(xì)信息,請(qǐng)參閱?音頻信號(hào)處理模式?和?音頻處理對(duì)象體系結(jié)構(gòu)。
硬件卸載的 APO 效果
Windows 10支持硬件卸載的 APO 效果。 ADO 可以加載到卸載引腳的頂部。 這允許在軟件和硬件中完成音頻處理。 此外,處理可以動(dòng)態(tài)更改。 當(dāng)有足夠的硬件資源時(shí),可以將部分或全部處理從軟件 APO 移動(dòng)到 DSP,然后在 DSP 中的負(fù)載增加時(shí)移回軟件 APO。
有關(guān)詳細(xì)信息,請(qǐng)參閱?實(shí)現(xiàn)硬件卸載 APO 效果。
Cortana 語(yǔ)音激活 - 語(yǔ)音喚醒
Cortana,個(gè)人助手技術(shù)在 2013 年的 Microsoft BUILD 開(kāi)發(fā)人員大會(huì)上首次被演示。 語(yǔ)音激活是一項(xiàng)功能,使用戶能夠通過(guò)說(shuō)出特定短語(yǔ)“你好小娜”,從各種設(shè)備電源狀態(tài)調(diào)用語(yǔ)音識(shí)別引擎。 “你好小娜”語(yǔ)音激活 (VA) 功能允許用戶快速體驗(yàn) (例如,Cortana 在其活動(dòng)上下文 (之外) ,即當(dāng)前屏幕上的內(nèi)容) 使用其語(yǔ)音。 該功能適用于屏幕關(guān)閉、空閑或完全處于活動(dòng)狀態(tài)的情況。 如果硬件支持緩沖,則用戶可以將關(guān)鍵短語(yǔ)和命令短語(yǔ)鏈接在一起。 這改進(jìn)了用戶的語(yǔ)音端到端喚醒體驗(yàn)。 有關(guān)詳細(xì)信息,請(qǐng)參閱?語(yǔ)音激活。
適用于音頻的 Windows 通用驅(qū)動(dòng)程序
Windows 10支持一種適用于電腦的驅(qū)動(dòng)程序模型,以及適用于手機(jī)和小屏幕平板電腦的 2:1 和Windows 10。 這意味著 IHV 可以在一個(gè)平臺(tái)中開(kāi)發(fā)其驅(qū)動(dòng)程序,并且該驅(qū)動(dòng)程序可在臺(tái)式機(jī)、筆記本電腦、平板電腦、手機(jī)) (的所有設(shè)備中運(yùn)行。 結(jié)果是減少了開(kāi)發(fā)時(shí)間和成本。
若要開(kāi)發(fā)通用音頻驅(qū)動(dòng)程序,請(qǐng)使用以下工具:
Visual Studio 2015:新的驅(qū)動(dòng)程序設(shè)置允許將“目標(biāo)平臺(tái)”設(shè)置為“通用”以創(chuàng)建多平臺(tái)驅(qū)動(dòng)程序。
APIValidator:這是一個(gè) WDK 工具,用于檢查驅(qū)動(dòng)程序是否通用并突出顯示需要更新的調(diào)用。
GitHub 中的音頻示例:sysvad 和 SwapAPO 已轉(zhuǎn)換為通用驅(qū)動(dòng)程序。 有關(guān)詳細(xì)信息和指向 GitHub 示例代碼的指針,請(qǐng)參閱?適用于音頻的通用 Windows 驅(qū)動(dòng)程序。
音頻驅(qū)動(dòng)程序的資源管理
在低成本移動(dòng)設(shè)備上創(chuàng)建良好音頻體驗(yàn)的一個(gè)挑戰(zhàn)是,某些設(shè)備具有各種并發(fā)約束。 例如,設(shè)備可能最多只能同時(shí)播放 6 個(gè)音頻流,并且僅支持 2 個(gè)卸載流。 當(dāng)移動(dòng)設(shè)備上存在活動(dòng)電話呼叫時(shí),設(shè)備可能僅支持 2 個(gè)音頻流。 當(dāng)設(shè)備捕獲音頻時(shí),設(shè)備最多只能播放 4 個(gè)音頻流。
Windows 10包括一種機(jī)制,用于表示并發(fā)約束,以確保高優(yōu)先級(jí)音頻流和移動(dòng)電話呼叫能夠播放。 如果系統(tǒng)沒(méi)有足夠的資源,則會(huì)終止低優(yōu)先級(jí)流。 此機(jī)制僅適用于手機(jī)和平板電腦,不適用于臺(tái)式機(jī)或筆記本電腦。
有關(guān)詳細(xì)信息,請(qǐng)參閱?音頻硬件資源管理。
音頻驅(qū)動(dòng)程序的 PNP 重新平衡
PNP 再平衡用于需要重新分配內(nèi)存資源的某些 PCI 方案。 在這種情況下,將卸載某些驅(qū)動(dòng)程序,然后在不同的內(nèi)存位置重新加載,以便創(chuàng)建可用的連續(xù)內(nèi)存空間。 可在兩種main方案中觸發(fā)重新平衡:
PCI 熱插拔:用戶插入設(shè)備,而 PCI 總線沒(méi)有足夠的資源來(lái)加載新設(shè)備的驅(qū)動(dòng)程序。 屬于此類(lèi)別的一些設(shè)備示例包括 Thunderbolt、USB-C 和 NVME 存儲(chǔ)。 在這種情況下,需要重新排列和合并內(nèi)存資源, (重新平衡) 以支持要添加的其他設(shè)備。
PCI 可調(diào)整大小的 BAR:在設(shè)備驅(qū)動(dòng)程序成功加載到內(nèi)存中后,它會(huì)請(qǐng)求其他資源。 一些設(shè)備示例包括高端圖形卡和存儲(chǔ)設(shè)備。 有關(guān)詳細(xì)信息,請(qǐng)參閱?實(shí)現(xiàn) PortCls 音頻驅(qū)動(dòng)程序的 PnP 重新平衡。
聲明:
本文轉(zhuǎn)載自微軟官網(wǎng)?learn.microsoft.com
(此文僅供學(xué)習(xí)使用,如侵權(quán)請(qǐng)聯(lián)系刪除)
原文鏈接:
https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/windows-threshold--what-s-new-for-audio