Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
Deze documentatie is bedoeld voor een doelgroep voor ontwikkelaars. Zie Het inschakelen van ruimtelijk geluid in Windows 10 voor ondersteuning van eindgebruikers voor het inschakelen van ruimtelijk geluid op uw apparaat.
Microsoft Spatial Sound is Microsoft oplossing op platformniveau voor ruimtelijke geluidsondersteuning op Xbox, Windows en HoloLens 2, waardoor zowel surround- als uitbreidingssignalen (boven of onder de listener) mogelijk zijn. Ruimtelijk geluid kan worden gebruikt door Windows desktop-apps (Win32) en Universal Windows Platform (UWP) apps op ondersteunde platforms. Met de API's voor ruimtelijk geluid kunnen ontwikkelaars audioobjecten maken die audio uit posities in 3D-ruimte verzenden. Met dynamische audioobjecten kunt u audio verzenden vanaf een willekeurige positie in de ruimte, die na verloop van tijd kan veranderen. U kunt ook opgeven dat audioobjecten geluid verzenden van een van de 17 vooraf gedefinieerde statische kanalen (8.1.4.4) die echte of gevirtualiseerde luidsprekers kunnen vertegenwoordigen. De werkelijke uitvoerindeling wordt door de gebruiker geselecteerd en kan worden geabstraheerd van Microsoft Spatial Sound-implementaties; audio wordt gepresenteerd aan bestaande luidsprekers, hoofdtelefoons en ontvangers van het thuistheater zonder dat er code- of inhoudswijzigingen nodig zijn. Het platform biedt volledige ondersteuning voor realtime Dolby Atmos-codering voor zowel HDMI- als stereohoofdtelefoonuitgang, DTS:X voor Hoofdtelefoons en Windows Sonic for Headphones-codering voor stereo hoofdtelefoons. Ten slotte zullen Microsoft Spatial Sound-apps zich houden aan het systeemmixbeleid, en hun audio wordt ook gecombineerd met niet-ruimtelijk bewuste apps. Microsoft Spatial Sound-ondersteuning is ook geïntegreerd in Media Foundation; apps die mediabasis gebruiken, kunnen Dolby Atmos-inhoud zonder extra implementatie afspelen.
Ruimtelijk geluid met Microsoft Spatial Sound ondersteunt tv's, thuistheaters en geluidsbalken die Dolby Atmos ondersteunen. Ruimtelijk geluid kan ook worden gebruikt met elk paar hoofdtelefoons waarvan de consument eigenaar kan zijn, met audio die door het platform wordt gerenderd met behulp van Windows Sonic for Headphones, Dolby Atmos for Headphones of DTS Headphone:X.
Microsoft Ruimtelijk Geluid inschakelen
Ongeacht of een ontwikkelaar of consument een gebruiker is, moet een gebruiker Microsoft Spatial Sound op zijn apparaat inschakelen om ruimtelijk geluid te kunnen horen.
Windows
Op Windows pc's wordt dit gedaan via de eigenschappenpagina voor een bepaald geluidsuitvoerapparaat. Selecteer een uitvoerapparaat in het configuratiescherm van Sound en klik op Apparaateigenschappen. In het gedeelte Ruimtelijk geluid van de pagina, als het apparaat ruimtelijk geluid ondersteunt, kunt u een van de beschikbare indelingen selecteren in de ruimtelijke geluidsindeling vervolgkeuzelijst.
U kunt Microsoft Spatial Sound ook inschakelen door met de rechtermuisknop op het pictogram Volume op de taakbalk te klikken.
Xbox
Op Xbox zijn Microsoft Spatial Sound-mogelijkheden altijd beschikbaar voor de consument en zijn deze ingeschakeld via Windows-instellingen onder
De HDMI-audioknop is gevuld met alle indelingen die worden ondersteund door de Audio Video Receiver (AVR) of Soundbar of de tv die rechtstreeks is aangesloten op uw Xbox console. De optie Optische audio is alleen beschikbaar op oudere Xbox-consoles en niet op Xbox Series X|S en hoger.
Houd er rekening mee dat het selecteren van de opties "Dolby Atmos voor thuistheater (alleen HDMI)" of "DTS:X voor thuistheater (alleen HDMI)" in HDMI-audio de gebruiker vraagt om Dolby Access- of DTS Sound Unbound-apps te downloaden en installeren als deze nog niet zijn geïnstalleerd
Selecteer Dolby Atmos voor koptelefoons, DTS Headphone:X of Windows Sonic voor koptelefoons in het headsetformaat onder headsetaudio
Wanneer Microsoft Spatial Sound niet beschikbaar is (bijvoorbeeld bij het afspelen op ingesloten stereoluidsprekers van een laptop of als de gebruiker Microsoft Spatial Sound per hierboven niet expliciet heeft ingeschakeld), wordt het aantal beschikbare dynamische objecten geretourneerd door ISpatialAudioClient::GetMaxDynamicObjectCount voor een toepassing 0.
HoloLens 2
Op HoloLens 2 is Microsoft Spatial Sound standaard ingeschakeld en wordt hardware-DSP-offload gebruikt die speciaal is ontworpen voor Windows Sonic for Headphones.
Microsoft Spatial Sound and Audio Middleware
Veel app- en gameontwikkelaars gebruiken oplossingen voor audiorenderingsengines van derden, waaronder vaak geavanceerde ontwerp- en controlehulpprogramma's. Microsoft heeft samengewerkt met verschillende van deze oplossingsproviders om Microsoft Spatial Sound te implementeren in hun bestaande ontwerpomgevingen. Dit betekent vaak dat de API's die hier worden besproken, worden geabstraheerd vanuit de weergave van de app; ze worden verpakt als DSP-invoegtoepassingen (Digital Signal Processing) die de app kan instantiëren en die de audio-implementer van de app kan gebruiken om te mixen naar een Microsoft Spatial Sound-kanaalbed, submix of afzonderlijke stemmen verzenden naar dynamische invoegtoepassingen voor objectexemplaren naar wens. Neem contact op met de provider van uw audio-middlewareoplossing voor hun ondersteuningsniveau voor Microsoft Spatial Sound.
Microsoft Spatial Sound voor Audioweergaveapparaten
Veel audio-renderers richten zich op een Windows WASAPI-eindpunt (Audio Session API) IAudioClient eindpunt, waarbij de toepassing buffers van gemengde en format-conforme audiogegevens naar een WASAPI-audiosink invoert; de geleverde buffers worden vervolgens gebruikt voor het combineren met andere clients, uiteindelijke verwerking op systeemniveau en rendering.
Microsoft Ruimtelijke geluidseindpunten worden geïmplementeerd als ISpatialAudioClient, die veel overeenkomsten heeft met IAudioClient. Het ondersteunt statische geluidsobjecten die een kanaalbed vormen, met ondersteuning voor maximaal 8.1.4.4 kanalen (8 kanalen rond de luisteraar – Links, Rechts, Center, Zijlinks, Zijrechts, Achter Links, Achter Rechts en Achter Center; 1 kanaal voor lagefrequentie-effecten; 4 kanalen boven de luisteraar; 4 kanalen onder de luisteraar). En het ondersteunt dynamische geluidsobjecten, die willekeurig in 3D-ruimte kunnen worden gerangschikt.
Het algemene implementatiecoderingspatroon voor ISpatialAudioClient is:
- Statische en/of dynamische audioobjecten maken.
- Voer de audiobuffer van elk object in bij elk frame, zodat het systeem het kan renderen.
- Werk de 3D-posities van dynamische objecten op aanvraag bij, zo vaak (of zelden) als de app wenst.
Houd er rekening mee dat de huidige uitvoerindeling (luidsprekers of hoofdtelefoons; Windows Sonic for Headphones, Dolby Atmos of DTS Headphone:X) is geabstraheerd vanuit de bovenstaande implementatie: de app-ontwikkelaar kan zich richten op ruimtelijk geluid zonder dat deze hoeft te draaien op basis van de indeling. Apps die wel willen dat hun gedrag afwijkt op basis van de uitvoerindeling, kunnen een query uitvoeren op de indeling die wordt gebruikt, maar de abstractie betekent dat een app niet is vereist om deze indelingen te verwerken.
Integratie van Microsoft Spatial Sound met Audio Renderers
Omdat ISpatialAudioClient een audio-sink is die gegevens verbruikt, heeft een audio-renderer verschillende opties voor het werken met en leveren van audiogegevens. Er zijn drie veelgebruikte integratietechnieken (en voor titels met audio-middleware ziet u mogelijk equivalente plug-ins die beschikbaar worden gesteld op basis van deze opties):
- 7.1.4 panners en mastering voice: Renderers die al ondersteuning bieden voor 7.1-eindpunten, kunnen ervoor kiezen om gewoon ondersteuning toe te voegen voor de vier extra hoogtekanalen die de ISpatialAudioClient statisch kanaalbed ondersteunt. Elke kanaalpanning die ze eerder hebben gedaan (waarschijnlijk al gebruik maken van x,y, z-coördinaten) kan worden bijgewerkt om deze hoogtekanalen te omvatten. Dit biedt vaak de minste onderbreking van renderer- en app-audiowerkstromen, signaal, stroom en mixbesturing. Houd er rekening mee dat de volledige app-mix in een ruimtelijke omgeving wordt weergegeven, dus zelfs stereogeluid kan klinken alsof het van buitenaf komt voor de luisteraar.
- Bestaand eindpunt onderhouden, plus voeg een 7.1.4-bus (en panners) toe: Sommige titels kunnen ervoor kiezen om twee eindpunten te onderhouden: hun bestaande stereo WASAPI-eindpunt (voor 'direct naar oren' inhoud die niet bedoeld is om ruimtelijk te worden gemaakt) naast een ISpatialAudioClient statisch kanaalbed dat 7.1.4 ondersteunt (of zelfs tot 8.1.4.4). Natuurlijk biedt het beheren van interacties tussen twee combinaties extra uitdagingen voor makers van inhoud, hoewel synchronisatie wordt gehandhaafd, omdat zowel WASAPI- als ISAC-exemplaren op een bepaald moment dezelfde buffergrootte en klok gebruiken voor verwerking.
- Dynamische geluidsobjecten gebruiken voor bepaalde stemmen of submixen: Het aanbieden van misschien de meest gedetailleerde/nauwkeurige positionering, maar mogelijk het creëren van mixdoorzichtigheid, deze techniek omvat het gebruik van ISpatialAudioClient dynamische geluidsobjecten. Houd er rekening mee dat de metagegevens plus audiobuffer aan de renderer worden geleverd, zodat deze geluiden ondoorzichtig zijn voor de rest van de app-mix. Aangezien er bovendien een beperkt aantal beschikbare dynamische geluidsobjecten zijn, moet de renderer overwegen prioriteitstechnieken te implementeren: co-locatie van geluid, samenvoegen met het statische kanaalbed, enzovoort. Games hebben deze techniek vaak gebruikt voor individuele "held" geluiden, zoals een helikopter die zich boven de listener beweegt.
Renderers kunnen ook combineren en matchen tussen deze benaderingen.
Microsoft implicaties voor Spatial Sound Runtime Resource
Op Windows en Xbox varieert het aantal beschikbare stemmen op basis van de indeling die wordt gebruikt. Dolby Atmos-indelingen ondersteunen 32 totale actieve objecten (dus als een 7.1.4-kanaalsbed in gebruik is, kunnen 20 extra dynamische geluidsobjecten actief zijn). Windows Sonic for Headphones ondersteunt 128 totale actieve objecten, waarbij het LFE-kanaal (Low Frequency Effects) niet daadwerkelijk wordt geteld als een object- dus wanneer een 8.1.4.4-kanaalsbed wordt gebruikt, kunnen 112 dynamische geluidsobjecten actief zijn.
Voor Universeel Windows-platform-apps die draaien op Xbox One-consoles, wordt realtime encoding uitgevoerd in hardware zonder CPU-kosten voor Dolby Atmos voor Home Theater, Dolby Atmos voor Headphones, DTS:X voor Home Theater, DTS Headphone:X en Windows Sonic for Headphones.
Vanaf de 2303 Xbox OS-update en Game Development Kit (GDK) worden de resourcelimieten voor Xbox bijgewerkt naar de volgende waarden:
| Formatteren | Max. aantal statische objecten (kanaalbed) | Maximum aantal dynamische objecten Xbox Series X|S, UWP-apps en >=2303 GDK |
Maximum aantal dynamische objecten Xbox Series X|S, XDK & |
Maximum aantal dynamische objecten Xbox One |
|---|---|---|---|---|
| Dolby Atmos voor Home Theater (HDMI) | 12 (7.1.4) | 20 | 20 | 20 |
| DTS:X voor Home Theater (HDMI) | 17 (8.1.4.4) | 20 | 20 | 16 |
| Dolby Atmos (Koptelefoon) | 17 (8.1.4.4) | 128 | 20 | 16 |
| DTS Headphone:X (Hoofdtelefoon) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (Hoofdtelefoon) | 17 (8.1.4.4) | 220 | 20 | 15 |
Vanaf de release van mei voor onderhoud naar Windows build 22621 worden de resourcelimieten voor Windows bijgewerkt naar de volgende waarden:
| Formaat | Max. statische objecten (kanaalbed) | Maximum aantal dynamische objecten Windows |
Maximum aantal dynamische objecten HoloLens 2 |
|---|---|---|---|
| Dolby Atmos home theater (HDMI) | 12 (7.1.4) | 20 | N.V.T |
| DTS:X voor thuisbioscoop (HDMI) | 17 (8.1.4.4) | 32 | N.V.T |
| Dolby Atmos (Koptelefoon) | 17 (8.1.4.4) | 128 | N.V.T |
| Dolby Atmos (ingebouwde luidsprekers) | 17 (8.1.4.4) | 128 | N.V.T |
| DTS Headphone:X (Hoofdtelefoon) | 17 (8.1.4.4) | 128 | N.V.T |
| DTS:X Ultra (ingebouwde luidsprekers) | 17 (8.1.4.4) | 128 | N.V.T |
| Windows Sonic (Hoofdtelefoon) | 17 (8.1.4.4) | 128 | 31 |
Voor eerdere Windows, Xbox en HoloLens releases zijn de volgende resourcelimieten van toepassing.
| Formaat | Maximale statische objecten (kanaalbed) | Maximum aantal dynamische objecten Xbox One |
Maximaal aantal dynamische objecten Windows |
Maximum aantal dynamische objecten HoloLens 2 |
|---|---|---|---|---|
| Dolby Atmos voor thuisbioscoop (HDMI) | 12 (7.1.4) | 20 | 20 | N.V.T |
| DTS:X voor thuisbioscoop (HDMI) | 17 (8.1.4.4) | 16 | 32 | N.V.T |
| Dolby Atmos (Koptelefoon) | 17 (8.1.4.4) | 16 | 16 | N.V.T |
| Dolby Atmos (ingebouwde luidsprekers) | 17 (8.1.4.4) | N.V.T | 16 | N.V.T |
| DTS Headphone:X (Hoofdtelefoon) | 17 (8.1.4.4) | 16 | 32 | N.V.T |
| DTS Ultra (ingebouwde luidsprekers) | 17 (8.1.4.4) | N.V.T | 32 | N.V.T |
| Windows Sonic voor koptelefoons | 17 (8.1.4.4) | 15 | 112 | 31 |
Apps moeten ook rekening houden met de volgende gevolgen voor resources:
- bandbreedte voor opslag/schijf: lineaire inhoud die vooraf is geschreven tot 7.1.4, is doorgaans groter dan 7.1 lineaire inhoud (hoewel perceptuele codecs al vaak gebruikmaken van kanaalcorrelatie om dit veel minder te maken dan de 50% meer werkelijke kanalen van audiogegevens)
- Andere kosten voor digitale signaalverwerking: Sommige eerder globale effecten kunnen nu per dynamisch geluidsobject worden uitgevoerd. Daarnaast willen sommige makers van inhoud bepaalde DSP-effecten bijwerken om extra kanalen te ondersteunen of ze uniek te gebruiken.
Microsoft ruimtelijk geluid en geluidsspatialiseringsaanwijzingen
Microsoft Spatial Sound is gericht op geluidspositioneringssimulatie op een ge idealiseerde bol rond de listener. Windows Sonic for Headphones, DTS Headphone:X en Dolby Atmos implementeren sprekertoewijzing en -virtualisatie voor hoofdtelefoons, maar houd er rekening mee dat veel andere aspecten van ruimtelijke geluidssimulatie, die doorgaans al op inhoudsmakers gebaseerde manieren zijn geïmplementeerd, worden overgelaten aan bestaande engines. Makers van inhoud blijven de bestaande gamehulpprogramma's en -processen gebruiken die ze eerder hebben gehad voor dergelijke ruimtelijke aanwijzingen als Doppler, op afstand gebaseerde attenuatie en filtering, occlusie en obstructie en omgevingsreverberatie.
Aanvullende informatiebronnen
- Microsoft-opslagplaats voor ruimtelijke geluidsvoorbeelden op GitHub
- Dolby biedt een aantal ondersteuningsbronnen met betrekking tot Dolby Atmos en de Dolby Access-app, waaronder de Knowledge Base voor app-ontwikkeling en Dolby Access-ondersteuning .
Ruimtelijke geluidsinterfaces
| Interface | Beschrijving |
|---|---|
| ISpatialAudioClient | Hiermee kan een client audiostreams maken die audio verzenden vanaf een positie in 3D-ruimte. |
| ISpatialAudioObject | Vertegenwoordigt een object dat audiogegevens levert die moeten worden weergegeven vanaf een positie in 3D-ruimte ten opzichte van de gebruiker. |
| ISpatialAudioObjectRenderStream | Biedt methoden voor het beheren van een stream voor ruimtelijke audioobjectweergave, waaronder het starten, stoppen en opnieuw instellen van de stream. |
| ISpatialAudioObjectRenderStreamNotify | Biedt meldingen voor ruimtelijke audioclients om te reageren op wijzigingen in de status van een ISpatialAudioObjectRenderStream. |
Notitie
Wanneer u de ISpatialAudioClient interfaces op een titel van een Xbox One Development Kit (XDK) gebruikt, u moet eerst EnableSpatialAudio aanroepen voordat u IMMDeviceEnumerator aanroept::EnumAudioEndpoints of IMMDeviceEnumerator:: GetDefaultAudioEndpoint. Als u dit niet doet, wordt er een E_NOINTERFACE-fout geretourneerd bij de aanroep van Activate. EnableSpatialAudio is alleen beschikbaar voor XDK-titels en hoeft niet te worden aangeroepen voor Universeel Windows-platform apps die worden uitgevoerd op Xbox One, noch voor apparaten die niet Xbox One zijn.
Ruimtelijke geluidsstructuren
| Structuur | Beschrijving |
|---|---|
| SpatialAudioObjectRenderStreamActivationParams | Vertegenwoordigt activeringsparameters voor een ruimtelijke audio-renderstream. |
| SpatialAudioClientActivationParams | Vertegenwoordigt optionele activeringsparameters voor een ruimtelijke audio-renderstream. |
Ruimtelijke geluidsumeraties
| Opsomming | Beschrijving |
|---|---|
| AudioObjectType | Hiermee geeft u het type van een ISpatialAudioObject. |