Sdílet prostřednictvím


Architektura objektů zpracování zvuku

Objekty pro zpracování zvuku (APO) poskytují přizpůsobitelné softwarové zpracování digitálního signálu pro zvukové proudy Systému Windows.

Přehled objektů zpracování zvuku

Systém Windows umožňuje výrobcům OEM a výrobcům zvukového hardwaru třetích stran zahrnout vlastní efekty pro zpracování digitálních signálů jako součást funkcí přidaného ovladače zvuku. Tyto efekty jsou zabaleny jako objekty pro zpracování zvuku (APO) v uživatelském režimu systémových efektů.

Objekty pro zpracování zvuku (APO) poskytují softwarové digitální zpracování signálu pro zvukové proudy Systému Windows. APO je hostitelský objekt modelu COM, který obsahuje algoritmus, který je zapsán za účelem poskytnutí specifického efektu DSP (Digital Signal Processing). Tato funkce se neformálně označuje jako „zvukový efekt“. Mezi příklady APO patří grafické ekvalizéry, reverb, tremolo, Acoustic Echo Cancellation (AEC) a Automatická regulace zisku (AGC). Objekty APO jsou objekty založené na modelu COM, zpracovávané v reálném čase a v rámci procesu.

Poznámka Popisy a terminologie v této dokumentaci se týkají většinou výstupních zařízení, jako jsou reproduktory. Technologie je však symetrická a funguje v podstatě obráceně pro vstupní zařízení.

Softwarová rozhraní API vs. Hardware DSP

Hardwarový digitální procesor signálu (DSP) je specializovaný mikroprocesor (nebo blok SIP) s architekturou optimalizovanou pro provozní potřeby digitálního zpracování signálu. Existují významné výhody při implementaci zpracování zvuku do hardwaru navrženého pro tento účel oproti použití softwarového APO. Jednou z výhod je, že využití procesoru a související spotřeba energie může být nižší s hardwarem implementovaným DSP.

Existují další výhody a nevýhody, které byste měli zvážit, konkrétně cíle a omezení vašich projektů, které byste měli zvážit před implementací APO založeného na softwaru.

Softwarové efekty se vkládají do potrubí softwarového zařízení při inicializaci datového proudu. Tato řešení zpracovávají všechny své účinky na hlavní procesor a nespoléhají na externí hardware. Tento typ řešení je nejvhodnější pro tradiční zvuková řešení Windows, jako jsou HDAudio, USB a bluetooth zařízení, když ovladač a hardware podporují pouze zpracování RAW. Další informace o zpracování RAW naleznete v tématu Režimy zpracování zvukového signálu.

Proxy APO pro hardware DSP

Všechny efekty použité v hardwarovém DSP je potřeba oznamovat prostřednictvím proxy APO. Microsoft poskytuje výchozí APO proxy (MsApoFxProxy.dll). Pokud chcete použít objekt APO od Microsoftu, musí být tato sada vlastností a vlastnost podporována.

Volitelně můžete implementovat vlastní proxy APO.

Poskytnutá systémová APO ve Windows

Systém Windows nainstaluje výchozí sadu rozhraní API, která poskytuje řadu různých zvukových efektů. Seznam systémů poskytovaných efektů APO naleznete v tématu Režimy zpracování zvukového signálu.

Výrobci OEM mohou zahrnout všechny systémem dodané APO nebo je mohou některé či všechny nahradit vlastními APO.

Vlastní rozhraní API

Přidáním dalších zvukových efektů je možné vytvořit vlastní rozhraní API pro vylepšení zvukového prostředí Windows.

OEM může při distribuci Windows zahrnout libovolnou kombinaci poskytnutých Windows APOs a vlastních APOs.

Vlastní objekt APO může nainstalovat výrobce OEM nebo třetí strana a vylepšit tak zvukové prostředí po zakoupení zařízení. Když uživatelé nainstalují ovladač zvukového zařízení pomocí standardního souboru INF, budou mít automaticky přístup k objektům APO systému. Nezávislí dodavatelé hardwaru (IHV) a výrobci originálních zařízení (OEM) mohou poskytovat další vlastní systémové efekty, zatímco stále používají ovladače třídy Microsoftu. Dělají to tak, že zabalí své algoritmy DSP jako APOs a upraví standardní soubor INF tak, aby vložili své APOs do grafů zpracování signálu zvukového enginu.

Další informace o vytváření vlastních objektů APO naleznete v tématu Implementace objektů zpracování zvuku.

Vlastní aplikace podpory APO

Pokud chcete uživateli povolit konfiguraci nastavení přidružených k vašemu vlastnímu APO, doporučujeme vytvořit aplikaci podpory hardwaru. Další informace viz Aplikace hardwarové podpory (HSA): Postup pro vývojáře ovladačů.

Vlastní testy a požadavky APO

Microsoft HLK poskytuje testy, které lze použít s APO. Další informace o zvukových testech naleznete v tématu Device.Audio Testing a Device.Audio Tests.

Tyto dva testy mohou být užitečné zejména při práci s APOs.

Ověření Audio Effects Discovery (ruční) – certifikace

SysFX Test

Informace o požadavcích na zvuk pro podporu rozhraní API najdete v tématu Požadavky na device.audio.

Nástroje a nástroje pro APO

Můžete použít "Audio Effects Discovery Sample" k prozkoumání dostupných zvukových efektů. Tato ukázka demonstruje, jak získat informace o zvukových efektech při vykreslování a zachytávání zvukovými zařízeními a jak sledovat změny v těchto zvukových efektech. Je součástí ukázek sady SDK a dá se stáhnout pomocí tohoto odkazu:

Ukázka zjišťování zvukových efektů

Povědomí o zvukovém efektu aplikace

Aplikace mají možnost volat rozhraní API k určení, které zvukové efekty jsou aktuálně aktivní v systému. Další informace o rozhraních API pro rozpoznávání zvukových efektů naleznete v tématu AudioRenderEffectsManager – třída.

Architektura objektů zpracování zvuku

Umístění zvukových efektů

Existují tři různá umístění pro zvukové efekty implementované jako APO. Jedná se o efekty streamu (SFX), efekty režimu (MFX) a efekty koncových bodů (EFX).

Stream Effect (SFX)

APO určená pro streamový efekt má instanci efektu pro každý datový proud. Streamové efekty jsou aplikovány před mixérem (vykreslení) nebo za rozbočovačem (záznam) v rámci specifického režimu a lze je použít ke změně počtu kanálů před mixérem. Efekty datových proudů se nepoužívají pro nezpracované datové proudy.

Některé verze Windows jako optimalizace nenačítají SFX ani MFX APO v režimu RAW.

  • Windows 8.1 nenačítá RAW SFX ani RAW MFX
  • Windows 10 načte RAW MFX, ale ne RAW SFX

Efekt režimu (MFX)

Efekty režimu (MFX) se použijí u všech datových proudů mapovaných do stejného režimu. Efekty režimu se použijí po mixování (vykreslení) nebo před směrováním (zachycení) pro daný režim, ale před mixováním (vykreslením) nebo po směrování (zachycení) všech režimů. Zde by měl být umístěn jakýkoliv konkrétní efekt nebo efekt, který nevyžaduje specifika efektu toku. Je efektivnější použít efekt režimu, protože existuje jedna instance pro více datových proudů, které sdílejí stejné charakteristiky, jako je periodicita a formát.

Efekt koncového bodu (EFX)

Účinek koncového bodu (EFX) se použije u všech datových proudů, které používají stejný koncový bod. Účinek koncového bodu se vždy použije i u nezpracovaných datových proudů. To znamená, že je po mixu (vykreslení) nebo před tee (zachycení) všech režimů. Účinky koncového bodu by se měly používat s opatrností a v případě pochybností by měl být efekt umístěn do oblasti Režimu. Některé efekty, které by měly být umístěny v oblasti koncového bodu, jsou ochrana reproduktoru a kompenzace reproduktoru.

Tento diagram znázorňuje možná umístění pro efekty streamu (SFX), režimu (MFX) a koncového bodu (EFX) pro Windows 10.

Diagram znázorňující umístění efektů datového proudu, režimu a koncového bodu ve Windows 10

Několik vlastních efektů APO

Pro práci s různými aplikacemi je možné nakonfigurovat několik efektů založených na APO.

Tento diagram znázorňuje, jak může více aplikací přistupovat k více kombinacím efektů APO datového proudu, režimu a koncového bodu. Všechny objekty API jsou založené na modelu COM a běží v uživatelském režimu. V tomto scénáři se žádný z efektů nespouští ani na hardwaru ani v režimu jádra.

Diagram znázorňující, jak může více aplikací přistupovat k různým kombinacím efektů APO datového proudu, režimu a koncového bodu

Poznámka K zobrazení celého diagramu můžete použít posuvník v dolní části této stránky.

Efekty softwarového režimu a hardwarové koncové body pro vykreslování a zachytávání

Tento diagram znázorňuje efekty softwarového režimu a efekty hardwarového koncového bodu pro vykreslení a zachycení.

Diagram zobrazující efekty softwarového režimu a efekty hardwarového koncového bodu pro procesy vykreslování a zachycení

Systém vybavený DSP s hardwarovými efekty

Tento diagram znázorňuje systém vybavený nástrojem DSP, který implementuje efekty v hardwaru. V tomto scénáři by se měl vytvořit proxy APO, který informuje aplikace o efektech implementovaných v hardwaru.

Diagram znázorňující systém vybavený nástrojem DSP implementující efekty v hardwaru

Objekty pro zpracování zvuku systému Windows Audio Processing Objects

Implementace hardwaru přetěžovaného zvukového ovladače