Sdílet prostřednictvím


Grafy zvukového filtru

Graf filtru KS je kolekce filtrů KS, které jsou propojené a zpracovávají jeden nebo více datových proudů. Graf zvukového filtru je graf filtru KS, který se skládá z filtrů, které zpracovávají zvukové datové proudy. Následující obrázek je například zjednodušený diagram grafu zvukového filtru, který provádí vykreslování a zachytávání zvuku.

Diagram znázorňující jednoduchý graf zvukového filtru pro vykreslování a zachycení

Na obrázku se graf filtru rozšiřuje z špendlíků v horní části dvou vlnových filtrů na špendlíky v dolní části dvou filtrů topologie. Softwarové moduly uživatelského režimu a externí zvuková zařízení (tj. reproduktor a mikrofon) leží mimo graf.

Čtyři filtry v dolní polovině obrázku představují hardwarová zařízení na zvukovém adaptéru, který dokáže vykreslit a zachytit datové proudy vln. Každý z filtrů zobrazených na obrázku je implementován vazbou ovladače portu na ovladač miniportu. Ovladač adaptéru vytvoří filtr vlny vazbou ovladače WaveRT, WavePci nebo WaveCyklického portu s odpovídajícím ovladačem miniportu WaveXxx . Ovladač adaptéru vytvoří filtr topologie spojením ovladače portu topologie s ovladačem miniportu topologie.

Na levé straně obrázku se zvukový stream z aplikace DirectSound nebo waveOut (nahoře) přehrává přes reproduktor (dole). Na pravé straně aplikace DirectSoundCapture nebo waveIn (nahoře) zaznamenává datový proud, který je vstupem z mikrofonu (dole). Na obou stranách je instance zvukového enginu, která provádí míchání pro systém ve Windows Vista, vložena mezi wave filtr a aplikaci. (V systémech Windows Server 2003, Windows XP, Windows 2000 a Windows Me/98 je systémový ovladač KMixer systémovým mixérem.)

Zvukový engine je univerzální softwarový filtr, který běží v uživatelském režimu a může snadno převádět mezi různými zvukovými formáty a vzorkovacími frekvencemi na jeho vstupních a výstupních pinech. Zvukový modul obvykle dokáže přizpůsobit rozdíly mezi formátem datového proudu, pro který je hardware nakonfigurovaný, a formátem datového proudu, který aplikace očekává.

V dolní části předchozího obrázku je zdrojový kolík, který řídí reproduktor, a kolík přijímající signál mikrofonu, označené jako mostové kolíky. Propojovací kolík překlene hranice mezi grafem filtru a vnějším světem.

Na předchozím obrázku představuje datová cesta zobrazená mezi každým filtrem vln a odpovídajícím filtrem topologie obvykle fyzické připojení: pevné hardwarové připojení na zvukovém adaptéru, které nelze konfigurovat softwarem.

Vzhledem k tomu, že mostní kolík nebo pin s fyzickou vazbou je trvale připojený, je kolík implicitně přítomen a nelze ho instanciovat ani odstranit. Proto neexistují žádné kolíky mostu (instance kolíků mostu), do kterých by bylo možné odesílat protokoly IRPs, i když můžete dotazovat objekt filtru na KSPROPSETID_Pin vlastnosti jeho kolíků mostu. Stejné pravidlo platí pro piny s fyzickými připojeními.

Signál, který prochází kolíkem mostu nebo fyzickým připojením, může být buď analogový, nebo digitální.

Například na předchozím obrázku oba kolíky mostu zpracovávají analogové signály. Přemosťovací kolík na levé straně přenáší výstupní signál z DAC (digitálně-analogový převodník), který řídí reproduktor. Kolík na pravé straně přijímá signál z mikrofonu, který vstupuje do ADC (analogově-digitální převodník). Kolík bridge však může také představovat konektor S/PDIF na zvukovém zařízení. V tomto případě je signál, který prochází přes kolík mostu, digitální než analogový.