Dela via


Diagram för ljudfilter

Ett KS-filterdiagram är en samling KS-filter som har anslutits tillsammans för att bearbeta en eller flera dataströmmar. Ett ljudfilterdiagram är ett KS-filterdiagram som består av filter som bearbetar ljuddataströmmar. Följande bild är till exempel ett förenklat diagram över ett ljudfilterdiagram som utför ljudåtergivning och inspelning.

Diagram som illustrerar ett enkelt ljudfilterdiagram för återgivning och avbildning.

I figuren sträcker sig filterdiagrammet från stiften överst i de två vågfiltren till stiften längst ned i de två topologifiltren. Programvarumodulerna i användarläge och externa ljudenheter (dvs. högtalaren och mikrofonen) ligger utanför diagrammet.

De fyra filtren i den nedre halvan av bilden representerar maskinvaruenheter på ett ljudkort som kan återge och avbilda vågströmmar. Vart och ett av filtren som visas i bilden implementeras genom att en portdrivrutin binds till en miniportdrivrutin. Adapterdrivrutinen bildar ett vågfilter genom att binda portdrivrutinen WaveRT, WavePci eller WaveCyclic till en motsvarande WaveXxx-miniportdrivrutin. Adapterdrivrutinen bildar ett topologifilter genom att binda topologiportdrivrutinen till en topologiminiportdrivrutin.

Till vänster i figuren spelas ljudströmmen från ett DirectSound- eller waveOut-program (överst) genom en högtalare (längst ned). Till höger registrerar ett DirectSoundCapture- eller waveIn-program (överst) strömmen som är indata från en mikrofon (nederkant). På båda sidor placeras en instans av ljudmotorn, som utför blandning för systemet i Windows Vista, mellan vågfiltret och applikationen. (I Windows Server 2003, Windows XP, Windows 2000 och Windows Me/98 är KMixer-systemdrivrutinen systemblandaren.)

Ljudmotorn är ett mångsidigt programvarufilter som körs i användarläge och enkelt kan konvertera mellan en mängd olika ljudformat och exempelfrekvenser vid källans och mottagarens stift. Ljudmotorn kan vanligtvis hantera skillnaderna mellan det strömformat som maskinvaran har konfigurerats för och det strömformat som programmet förväntar sig.

Längst ned i föregående bild märks källstiftet som driver högtalaren och det mottagarstift som tar emot mikrofonsignalen som bryggstift. En brostift överbryggar gränsen mellan ett filterdiagram och den externa världen.

I föregående bild representerar den datasökväg som visas mellan varje vågfilter och motsvarande topologifilter vanligtvis en fysisk anslutning: en fast maskinvaruanslutning på ljudkortet som inte kan konfigureras av programvara.

Eftersom ett bryggstift eller ett stift med en fysisk anslutning är permanent anslutet, finns stiftet implicit och kan därför inte instansieras eller raderas. Det finns därför inga bryggstiftsobjekt (instanser av bryggstift) att skicka IRP:er till, även om du kan fråga ett filterobjekt om egenskaperna KSPROPSETID_Pin för dess bryggstift. Samma regel gäller för pins med fysiska anslutningar.

Signalen som passerar genom en bryggstift eller fysisk anslutning kan vara antingen analog eller digital.

I föregående bild hanterar till exempel de två bryggstiften båda analoga signaler. Bryggstiftet till vänster överför utdatasignalen från en DAC (digital-till-analog konverterare), som kör en högtalare. Bryggstiftet till höger tar emot signalen från en mikrofon, som går in i en ADC (analog-till-digital konverterare). En bryggkontakt kan dock även representera en S/PDIF-anslutning på en ljudenhet. I det här fallet är signalen som passerar genom bryggstiftet digital snarare än analog.