Window10中音訊驅動的相關更新

2021-09-27 10:49:16 字數 3821 閱讀 1472

"windows音訊驅動"翻譯系列總目錄: 

目錄

1. 功能總結

2. 音訊低時延效能改善

3. 訊號處理模式和音訊分類

3.1. 訊號處理模式

3.2. 音訊型別

4. 硬體分擔 (hardware offloaded) apo音效

5. cortana語音啟用-語音喚醒

6. windows 音訊通用驅動 (universal drivers)

7. 音訊驅動程式的資源管理

8. 音訊驅動的pnp 重平衡

本文簡單總結了windows 10裡面有些什麼新內容.

以下是windows 10裡面的新音訊特性.

音訊時延是從聲音生成到被聽到之間的間隔. 在以下關鍵場景中, 做到低時延是非常重要的:

裝置總時延是以下元件時延的總和:

windows 10中改善了os造成的時延. 在不更改驅動的情況下, windows 10的應用程式的時延是4.5~16ms. 如果更新驅動來使用新的低時延ddi(device driver inte***ce, 裝置驅動介面)來處理音訊資料, 時延會降的更低. 如果驅動支援3ms音訊buffer, 那麼往返時延(roundtrip latency)大概是10ms.

音訊堆疊支援多種資料報大小和動態調整資料報大小,以便根據使用者的情況優化延遲和功耗之間的權衡。另外,將對流進行優先順序管理,讓高優先順序流(例如**)占有專用資源。

為了使音訊驅動程式支援低時延,

windows 10

提供了以下

3個新特性: [

必須]

宣告每種模式支援的最小緩衝區大小。

[可選,但推薦

] 改善驅動程式和

os之間的資料流協作。

[可選,但建議使用

] 註冊驅動程式資源(中斷,執行緒),以便在低延遲情況下可由

os保護它們。有關更多資訊,請參見

低延遲音訊

。驅動程式宣告每個裝置支援的音訊訊號處理模式。

音訊類別(由應用程式選擇)對映到音訊模式(由驅動程式定義)。windows定義了七個音訊訊號處理模式。oem和ihv可以確定要實施的模式。下表中彙總了這些模式。

模式渲染/捕獲

描述原始(raw)

both

原始模式下不應對流應用任何訊號處理。

應用程式可以請求完全未經處理的原始流,並執行自己的訊號處理。

預設(default)

both

此模式定義預設的音訊處理

電影(movies)*

渲染**(media) *

both

語音 (speech)*

capture

人聲抓取(例如: 輸入到cortana)

通訊(communication)*

both

voip渲染和捕獲(例如: skype,lync)

通知(notification)*

render

鈴聲,警報,警報等

音訊裝置驅動程式需要至少支援raw或default模式。 支援其他模式是可選的。

為語音,電影,**和通訊分配了專用模式。 音訊驅動程式將能夠根據流型別定義不同的音訊格式和處理型別。

下表顯示了windows 10中的音訊類別。

為了通知系統音訊流的使用,應用程式可以選擇用特定的音訊流類別標記該流。在windows 10中,有九種音訊流類別。

類別描述

電影(movie)*

**(media)*

遊戲聊天(game chat)*

遊戲內使用者之間的通訊(windows 10中的新類別)

語音(speech)*

語音輸入(例如個人助理)和輸出(例如導航應用程式)(windows 10中的新類別)

通訊(communications)

voip,實時聊天

警報(alerts)

鬧鐘,鈴聲,通知

聲音特效(sound effects)

嗶聲,叮噹聲等

遊戲**(game media)

在遊戲**中

遊戲特效(game effects)

球彈跳,汽車發動機聲音,子彈等。

其他未分類的流

* windows 10的新功能.

更多資訊請參考音訊訊號處理模式 和apo框架

.windows 10

支援硬體分擔

apo音效。可以將

apo載入到分擔引腳

(offload pin)的頂部。這樣可以在軟體和硬體中完成音訊處理。另外,

處理可以動態地改變。當硬體資源足夠時,可以將部分或全部處理從軟體

apo移到

dsp,然後在

dsp的負載增加時移回軟體

apo。

有關更多資訊,請參見

實現硬體解除安裝的apo效果

個人助理技術cortana首次在2023年的microsoft build開發者大會上演示。語音啟用是一項使使用者可以通過說出特定的短語"hey cortana"來在各種裝置電源狀態呼叫語音識別引擎的功能。"hey cortana"語音啟用(va)功能允許使用者通過使用他或她的聲音在他或她的活動場景(即當前在螢幕上顯示的內容)中獲得更好的體驗(例如cortana)。該功能適用於螢幕關閉,空閒或完全啟用時的情況。如果硬體支援緩衝,則使用者可以將關鍵字短語和命令短語鏈結在一起。這為使用者改善了端到端的語音體驗。有關更多資訊,請參閱語音啟用。

windows 10支援一種驅動程式模型

, 適用於pc和

2合一pc (2:1』s, 譯註:

同時具有平板電腦和膝上型電腦功能的可攜式計算機

) ,以及手機和小螢幕平板電腦

. 這意味著

ihv可以在乙個平台上開發其驅動程式,並且該驅動程式可以在所有裝置(台式電腦,膝上型電腦,平板電腦,**)中使用。結果是減少了開發時間和成本。

為了開發通用音訊驅動程式,請使用以下工具:

in order to develop universal audio drivers, use the following tools:

visual studio 2015:新的驅動程式設定允許將「目標平台」設定為「通用」以建立多平台驅動程式。

apivalidator:這是wdk工具,用於檢查驅動程式是否通用,並突出顯示需要更新的呼叫。

github中的音訊示例:sysvad和swapapo已轉換為通用驅動程式。有關更多資訊和github示例**的指標,請參見universal windows drivers for audio

。在低成本移動裝置上建立良好音訊體驗的

6個音訊流,並且僅支援

2個分擔

(offload)流。當移動裝置上有正在進行的**通話時,該裝置可能僅支援24

個音訊流。

windows 10

, 在台式電腦或膝上型電腦上無效。

有關更多資訊,請參見

音訊硬體資源管理。

在需要重新分配記憶體資源的某些

pci方案中使用

pnp重新平衡。在這種情況下,某些驅動程式將被解除安裝

(unloaded

pci熱插拔:使用者插入裝置,並且

pci匯流排沒有足夠的資源來為新裝置載入驅動程式。屬於此類的裝置的一些示例包括

thunderbolt

,usb-c

和nvme

儲存。在這種情況下,記憶體資源需要重新排列和合併(重新平衡)以支援新增的其他裝置。

pci可調整大小的

bar為portcls音訊驅動程式實現pnp重新平衡

Window10下Python開發環境的搭建

本章節我們將向大家介紹如何在window10下搭建python開發環境。python可應用於多平台包括 linux 和 mac os x。你可以通過終端視窗輸入 python 命令來檢視本地是否已經安裝python以及python的安裝版本。cmd命令開啟終端,輸入python檢視版本資訊等,如果安...

window 10下安裝DOSbox的彙編環境

debug link環境的安裝 對dosbox進行配置 操作完上面的安裝步驟,接下來就是對環境的配置 首先開啟安裝的所在路徑,雙擊dosbox 0.74 options,檔案自行的進入了dosbox 0.74.conf,在檔案最後新增 mount c d masm32 code c 這裡的d mas...

Window10過程安裝Nodejs的詳細

安裝node.js 以windows 安裝包 msi 為例 1.安裝過程 除了安裝路徑外,其他都可以一路點選next即可 當然如果安裝路徑也想預設的話,也ok 2.檢視是否安裝成功 進入cmd命令提示符檢視node.js是否安裝成功。由於我安裝在c盤,所以當我以普通身份進入命令提示符中執行npm v...