Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Ta dokumentacja jest przeznaczona dla odbiorców deweloperów. Aby uzyskać pomoc techniczną dla użytkowników końcowych w zakresie włączania dźwięku przestrzennego na urządzeniu, zobacz Jak włączyć dźwięk przestrzenny w Windows 10.
Microsoft Spatial Sound to rozwiązanie na poziomie platformy Microsoft do obsługi dźwięku przestrzennego na Xbox, Windows i HoloLens 2, umożliwiając zarówno dźwięki otaczające, jak i te nad lub pod odbiorcą. Dźwięk przestrzenny może być używany przez aplikacje desktopowe Windows (Win32), a także aplikacje UWP (Universal Windows Platform) na obsługiwanych platformach. Interfejsy API dźwięku przestrzennego umożliwiają deweloperom tworzenie obiektów audio emitujących dźwięk z pozycji w przestrzeni 3D. Dynamiczne obiekty audio umożliwiają emitować dźwięk z dowolnego położenia w przestrzeni, co może się zmieniać w czasie. Można również określić, że obiekty dźwiękowe emitują dźwięk z jednego ze wstępnie zdefiniowanych kanałów statycznych (8.1.4.4), które mogą reprezentować rzeczywiste lub zwirtualizowane głośniki. Rzeczywisty format danych wyjściowych jest wybierany przez użytkownika i można go wyodrębnić z implementacji dźwięku przestrzennego Microsoft; dźwięk będzie prezentowany istniejącym głośnikom, słuchawkom i odbiornikom kina domowego bez konieczności wprowadzania zmian w kodzie lub zawartości. Platforma w pełni obsługuje kodowanie Dolby Atmos w czasie rzeczywistym dla wyjścia HDMI i słuchawek stereo, kodowanie DTS:X dla słuchawek i kodowanie Windows Sonic dla słuchawek stereo. Na koniec aplikacje Microsoft Spatial Sound przestrzegają zasad mieszania systemu, a ich dźwięk będzie również mieszany z aplikacjami, które nie obsługują dźwięku przestrzennego. obsługa dźwięku przestrzennego Microsoft jest również zintegrowana z Media Foundation. Aplikacje korzystające z Media Foundation mogą pomyślnie odtwarzać zawartość Dolby Atmos bez dodatkowej implementacji.
Dźwięk przestrzenny z Microsoft Spatial Sound obsługuje telewizory, kina domowe i paski dźwiękowe, które obsługują Dolby Atmos. Dźwięk przestrzenny może być również używany z dowolną parą słuchawek, które użytkownik posiada, a dźwięk jest renderowany przez platformę za pomocą Windows Sonic for Headphones, Dolby Atmos for Headphones lub DTS Headphone:X.
Włączanie dźwięku przestrzennego Microsoft
Niezależnie od tego, czy jest deweloperem albo konsumentem, użytkownik musi włączyć Microsoft Spatial Sound na swoim urządzeniu, aby usłyszeć dźwięk przestrzenny.
Windows
Na Windows komputerach odbywa się to za pośrednictwem strony właściwości danego urządzenia wyjściowego dźwięku. W panelu sterowania dźwięku wybierz urządzenie wyjściowe i kliknij pozycję Właściwości urządzenia. W sekcji dźwięk przestrzenny na stronie, jeśli urządzenie obsługuje dźwięk przestrzenny, możesz wybrać jeden z dostępnych formatów z listy rozwijanej formatu dźwięku przestrzennego .
Możesz również włączyć Microsoft dźwięk przestrzenny, klikając prawym przyciskiem myszy ikonę Volume na pasku zadań.
Xbox
W Xbox Microsoft możliwości dźwięku przestrzennego są zawsze dostępne dla użytkownika i są włączone za pośrednictwem ustawień Windows w obszarze Ogólne -> wyjście głośności i dźwięku.
Przycisk HDMI audio zawiera wszystkie formaty obsługiwane przez odbiornik audio-wideo (AVR), soundbar lub telewizor podłączony bezpośrednio do konsoli Xbox. Opcja "Audio optycznego" jest dostępna tylko w starszych konsolach Xbox, a nie w Xbox Series X|S i nowszych.
Należy pamiętać, że wybranie opcji "Dolby Atmos dla kina domowego (tylko HDMI)" lub "DTS:X dla kina domowego (tylko HDMI)" w audio HDMI wyświetli użytkownikowi monit o pobranie i zainstalowanie aplikacji Dolby Access lub DTS Sound Unbound, jeśli jeszcze nie zainstalowano
Wybierz pozycję Dolby Atmos dla słuchawek, DTS Headphone:X lub Windows Sonic dla słuchawek z listy rozwijanej Headset format w obszarze Headset audio
Jeśli dźwięk przestrzenny Microsoft jest niedostępny (na przykład podczas odtwarzania przez wbudowane głośniki stereo laptopa lub jeśli użytkownik nie włączył wyraźnie dźwięku przestrzennego Microsoft zgodnie z powyższym), liczba dostępnych obiektów dynamicznych zwróconych przez ISpatialAudioClient::GetMaxDynamicObjectCount dla aplikacji będzie wynosić 0.
HoloLens 2
W HoloLens 2 dźwięk przestrzenny Microsoft jest domyślnie włączony i używa sprzętowego odciążenia DSP zaprojektowanego specjalnie dla Windows Sonic for Headphones.
Microsoft dźwięk przestrzenny i oprogramowanie pośredniczące audio
Wielu deweloperów aplikacji i gier korzysta z rozwiązań silników renderowania audio innych firm, które często obejmują zaawansowane narzędzia do tworzenia i odsłuchu. Microsoft współpracuje z kilkoma z tych dostawców rozwiązań w celu zaimplementowania dźwięku przestrzennego Microsoft w istniejących środowiskach tworzenia. Często oznacza to, że omówione tutaj interfejsy API są abstrahowane od widoku aplikacji; są one opakowane jako wtyczki przetwarzania sygnałów cyfrowych (DSP), które aplikacja może instancjonować, a implementator audio aplikacji może używać do miksowania z oprawą kanału dźwięku przestrzennego Microsoft, submiksem, lub wysyłać poszczególne głosy do wtyczek instancji obiektów dynamicznych zgodnie z potrzebami. Skontaktuj się z dostawcą rozwiązania middleware audio, aby dowiedzieć się, na jakim poziomie oferują wsparcie dla dźwięku przestrzennego Microsoft.
Microsoft dźwięk przestrzenny dla rendererów audio
Wiele modułów renderowania audio docelowo obsługuje interfejs API sesji audio Windows (WASAPI) IAudioClient jako punkt końcowy, gdzie aplikacja przekazuje bufory z mieszanymi danymi dźwiękowymi o odpowiednim formacie do odbiornika audio WASAPI; dostarczone bufory są następnie używane do mieszania z innymi klientami, końcowego przetwarzania na poziomie systemu i renderowania.
Punkty końcowe dźwięku przestrzennego Microsoft są implementowane jako ISpatialAudioClient, co ma wiele podobieństw do IAudioClient. Obsługuje statyczne obiekty dźwiękowe tworzące matrycę kanałową, z obsługą do 8.1.4.4 kanałów (8 kanałów wokół odbiornika — Lewy, Prawy, Centrum, Bok Lewy, Bok Prawy, Tył Lewy, Tył Prawy, i Tył Centrum; 1 kanał efektów niskiej częstotliwości; 4 kanały nad odbiornikiem; 4 kanały poniżej odbiornika). Obsługuje dynamicznych obiektów dźwiękowych, które mogą być arbitralnie rozmieszczone w przestrzeni 3D.
Ogólny wzorzec kodowania implementacji dla ISpatialAudioClient to:
- Utwórz statyczne i/lub dynamiczne obiekty audio.
- Przekaż bufor audio każdego obiektu w każdej ramce, aby system mógł go renderować.
- Aktualizuj pozycje obiektów dynamicznych 3D na żądanie — tak często (lub rzadko), jak aplikacja chce.
Należy pamiętać, że bieżący format danych wyjściowych (głośniki lub słuchawki; Windows Sonic for Headphones, Dolby Atmos lub DTS Headphone:X) jest niezależny od powyższej implementacji — deweloper aplikacji może skupić się na dźwięku przestrzennym bez konieczności przestawiania na podstawie formatu. Aplikacje, które chcą, aby ich zachowanie różniło się na podstawie formatu wyjściowego, może wykonywać zapytania dotyczące używanego formatu, ale abstrakcja oznacza, że aplikacja nie jest wymagana do obsługi tych formatów.
Microsoft Integracja dźwięku przestrzennego z modułami renderowania dźwięku
Ponieważ ISpatialAudioClient jest ujściem dźwięku, który zużywa dane, renderator audio ma kilka opcji interakcji z danymi i dostarczania do nich danych dźwiękowych. Istnieją trzy powszechnie używane techniki integracji (a w przypadku tytułów korzystających z oprogramowania pośredniczącego audio mogą być dostępne równoważne wtyczki dostępne na podstawie tych opcji):
- 7.1.4 panoramerów i głos masteringu: Programy renderujące, które obsługują już punkty końcowe 7.1, mogą po prostu dodać obsługę czterech dodatkowych kanałów poziomu wysokości, które obsługuje ISpatialAudioClient w statycznym zestawie kanałów. Wszelkie zmiany w panoramowaniu kanałów, których dokonano wcześniej (prawdopodobnie z wykorzystaniem współrzędnych x, y, z), można teraz zaktualizować, aby uwzględnić te kanały wysokości. Często zapewnia to najmniejsze zakłócenie w renderowaniu i przepływie pracy dźwiękowej aplikacji, sygnale, przepływie oraz sterowaniu miksowaniem. Na słuchawkach zwróć uwagę na to, że pełny miks aplikacji będzie przestrzenny — więc nawet muzyka stereo może być postrzegana jako „zewnętrzna” od odbiornika.
- zachować istniejący punkt końcowy, plus dodać magistralę 7.1.4 (i panners): Niektóre tytuły mogą zdecydować się na utrzymanie dwóch punktów końcowych: ich istniejący punkt końcowy STEREO WASAPI (dla zawartości "bezpośredniej do uszu", która nie ma być przestrzenna) obok ISpatialAudioClient statycznego łóżka kanału obsługującego 7.1.4 (lub nawet do 8.1.4.4). Oczywiście zarządzanie interakcjami między dwoma kombinacjami stanowi dodatkowe wyzwania dla twórców zawartości, chociaż synchronizacja jest utrzymywana, ponieważ zarówno wystąpienia WASAPI, jak i ISAC aktywne w danym czasie używają tego samego rozmiaru buforu i zegara do przetwarzania.
- Użyj dynamicznych obiektów dźwiękowych dla niektórych głosów lub podmiksów: Ta technika oferuje być może najdokładniejsze pozycjonowanie, ale może również prowadzić do powstawania nieprzezroczystości miksu. Polega ona na użyciu dynamicznych obiektów dźwiękowych ISpatialAudioClient. Należy pamiętać, że metadane i bufor audio są dostarczane do modułu renderowania, więc te dźwięki będą nieprzezroczyste w pozostałej części zestawu aplikacji. Ponadto, ponieważ istnieje ograniczona liczba dostępnych dynamicznych obiektów dźwiękowych, moduł renderujący powinien rozważyć zastosowanie technik priorytetyzacji — odrzucanie, korelację dźwięków, połączenie z warstwą statycznych kanałów itd. Gry często używały tej techniki dla indywidualnych dźwięków „bohatera”, takich jak helikopter, który porusza się nad słuchaczem.
Renderery mogą również mieszać i dopasowywać te podejścia.
Microsoft Skutki wykorzystania zasobów przez środowisko uruchomieniowe dźwięku przestrzennego
W przypadku Windows i Xbox liczba dostępnych głosów różni się w zależności od używanego formatu. Formaty Dolby Atmos obsługują 32 całkowite aktywne obiekty (więc jeśli zestaw kanałów 7.1.4 jest w użyciu, 20 dodatkowych dynamicznych obiektów dźwiękowych może być aktywnych). Windows Sonic for Headphones obsługuje 128 aktywnych obiektów w sumie, a kanał efektów o niskiej częstotliwości (LFE) nie jest w rzeczywistości liczony jako obiekt - więc gdy układ kanałów 8.1.4.4 jest używany, 112 dynamicznych obiektów dźwiękowych może być aktywnych.
W przypadku aplikacji platforma uniwersalna systemu Windows działających na konsolach do gier Xbox One, kodowanie w czasie rzeczywistym (dla Dolby Atmos for Home Theater, Dolby Atmos dla słuchawek, DTS:X dla kina domowego, DTS Headphone:X i Windows Sonic for Headphones) jest wykonywane na sprzęcie bez kosztów procesora CPU.
Począwszy od aktualizacji systemu operacyjnego 2303 Xbox i zestawu Game Development Kit (GDK), limity zasobów dla Xbox są aktualizowane do następujących wartości:
| Format | Maksymalna liczba obiektów statycznych (dno kanału) | Maksymalna liczba obiektów dynamicznych Xbox Series X|S, aplikacje UWP i >=2303 GDK |
Maksymalna liczba obiektów dynamicznych Xbox Series X|S, XDK i <2303 GDK |
Maksymalna liczba obiektów dynamicznych Xbox One |
|---|---|---|---|---|
| Dolby Atmos for Home Theater (HDMI) | 12 (7.1.4) | 20 | 20 | 20 |
| DTS:X dla kina domowego (HDMI) | 17 (8.1.4.4) | 20 | 20 | 16 |
| Dolby Atmos (słuchawki) | 17 (8.1.4.4) | 128 | 20 | 16 |
| Słuchawki DTS:X (słuchawki) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (słuchawki) | 17 (8.1.4.4) | 220 | 20 | 15 |
Począwszy od majowej aktualizacji obsługi dla kompilacji Windows 22621, limity zasobów w Windows są aktualizowane do następujących wartości:
| Formatowanie | Maksymalna liczba obiektów statycznych (dno kanału) | Maksymalna liczba obiektów dynamicznych Windows |
Maksymalna liczba obiektów dynamicznych HoloLens 2 |
|---|---|---|---|
| Dolby Atmos home theater (HDMI) | 12 (7.1.4) | 20 | N/A |
| DTS:X dla kina domowego (HDMI) | 17 (8.1.4.4) | 32 | N/A |
| Dolby Atmos (słuchawki) | 17 (8.1.4.4) | 128 | N/A |
| Dolby Atmos (wbudowane głośniki ) | 17 (8.1.4.4) | 128 | N/A |
| Słuchawki DTS:X (słuchawki) | 17 (8.1.4.4) | 128 | N/A |
| DTS:X Ultra (wbudowane głośniki) | 17 (8.1.4.4) | 128 | N/A |
| Windows Sonic (słuchawki) | 17 (8.1.4.4) | 128 | 31 |
W przypadku poprzednich wersji Windows, Xbox i HoloLens obowiązują następujące limity zasobów.
| Układ | Maksymalna liczba obiektów statycznych (dno kanału) | Maksymalna liczba obiektów dynamicznych Xbox One |
Maksymalna liczba obiektów dynamicznych Windows |
Maksymalna liczba obiektów dynamicznych HoloLens 2 |
|---|---|---|---|---|
| Dolby Atmos do kina domowego (HDMI) | 12 (7.1.4) | 20 | 20 | N/A |
| DTS:X dla kina domowego (HDMI) | 17 (8.1.4.4) | 16 | 32 | N/A |
| Dolby Atmos (słuchawki) | 17 (8.1.4.4) | 16 | 16 | N/A |
| Dolby Atmos (wbudowane głośniki) | 17 (8.1.4.4) | N/A | 16 | N/A |
| Słuchawki DTS:X (słuchawki) | 17 (8.1.4.4) | 16 | 32 | N/A |
| DTS Ultra (wbudowane głośniki) | 17 (8.1.4.4) | N/A | 32 | N/A |
| Windows Sonic dla słuchawek | 17 (8.1.4.4) | 15 | 112 | 31 |
Aplikacje powinny również uwzględniać następujące implikacje dotyczące zasobów:
- Przepustowość pamięci/dysku: Wstępnie przygotowana zawartość liniowa w wersji 7.1.4 będzie zazwyczaj większa niż zawartość liniowa 7.1 (chociaż kodery percepcyjne często korzystają z korelacji kanałów, aby dane audio obejmowały znacznie mniej niż 50% więcej rzeczywistych kanałów danych audio).
- Inne koszty przetwarzania sygnałów cyfrowych: Niektóre wcześniej efekty globalne mogą teraz stać się instancjami przypisanymi do dynamicznych obiektów dźwiękowych. Ponadto niektórzy twórcy zawartości mogą chcieć zaktualizować niektóre efekty DSP, aby obsługiwać dodatkowe kanały lub używać ich unikatowo.
Microsoft dźwięk przestrzenny i sygnalizacja przestrzenna
Dźwięk przestrzenny Microsoft koncentruje się na symulacji pozycjonowania dźwięku na wyidealizowanej sferze wokół słuchacza. Windows Sonic dla słuchawek, DTS Headphone:X na słuchawki i Dolby Atmos implementują mapowanie i wirtualizację dźwięku na słuchawki, ale należy pamiętać, że wiele innych aspektów symulacji przestrzennej dźwięku, które już są zazwyczaj implementowane w sposób obsługiwany przez twórców treści, jest pozostawione istniejącym silnikom. Twórcy zawartości nadal korzystają z istniejących narzędzi i procesów gry, którymi już wcześniej się posługiwali, dla takich wskazówek przestrzennych jak efekt Dopplera, tłumienie i filtrowanie na odległość, okluzji i przeszkody oraz pogłos środowiskowy.
Dodatkowe zasoby
- Repozytorium GitHub Microsoft z przykładami dźwięku przestrzennego
- Dolby oferuje szereg zasobów pomocy technicznej związanych z Dolby Atmos i aplikacją Dolby Access, w tym z bazą wiedzy o rozwijaniu aplikacji oraz wsparciem Dolby Access.
Interfejsy dźwiękowe przestrzenne
| Interfejs | Opis |
|---|---|
| ISpatialAudioClient | Umożliwia klientowi tworzenie strumieni audio emitujących dźwięk z pozycji w przestrzeni 3D. |
| ISpatialAudioObject | Reprezentuje obiekt, który dostarcza dane audio do renderowania z określonej pozycji w przestrzeni 3D w odniesieniu do użytkownika. |
| ISpatialAudioObjectRenderStream | Udostępnia metody kontrolowania strumienia renderowania obiektu audio przestrzennego, w tym uruchamiania, zatrzymywania i resetowania strumienia. |
| ISpatialAudioObjectRenderStreamNotify | Udostępnia powiadomienia dla klientów systemu dźwięku przestrzennego, aby mogli reagować na zmiany w stanie ISpatialAudioObjectRenderStream. |
Notatka
W przypadku używania interfejsu ISpatialAudioClient w tytule zestawu Xbox One Development Kit (XDK), musisz najpierw wywołać EnableSpatialAudio przed wywołaniem IMMDeviceEnumerator::EnumAudioEndpoints lub IMMDeviceEnumerator::GetDefaultAudioEndpoint. Niewykonanie tej czynności spowoduje zwrócenie błędu E_NOINTERFACE z wywołania funkcji Activate. EnableSpatialAudio jest dostępna tylko dla tytułów XDK i nie musi być wywoływana dla aplikacji platforma uniwersalna systemu Windows działających na Xbox One ani dla żadnych urządzeń innych niż Xbox One.
Struktury dźwięku przestrzennego
| Struktura | Opis |
|---|---|
| SpatialAudioObjectRenderStreamActivationParams | Reprezentuje parametry aktywacji strumienia renderowania dźwięku przestrzennego. |
| SpatialAudioClientActivationParams | Reprezentuje opcjonalne parametry aktywacji dla strumienia renderowania dźwięku przestrzennego. |
Wyliczenia dźwięku przestrzennego
| Wyliczenie | Opis |
|---|---|
| AudioObjectType | Określa typ obiektu ISpatialAudioObject. |