Aracılığıyla paylaş


Windows, Xbox ve Hololens 2 için uygulama geliştiricileri için Spatial Sound

Not

Bu belgeler bir geliştirici hedef kitlesi için hedeflenmiştir. Cihazınızda uzamsal sesi etkinleştirmeye yönelik son kullanıcı desteği için bkz. Windows 10'da uzamsal sesi açma .

Microsoft Spatial Sound, Microsoft'un Xbox, Windows ve HoloLens 2'de uzamsal ses desteğine yönelik platform düzeyinde bir çözümdür ve hem çevreleme hem de yükseltme (dinleyicinin üstünde veya altında) sesli ipuçları sağlar. Uzamsal ses, Windows masaüstü (Win32) uygulamalarının yanı sıra desteklenen platformlardaki Evrensel Windows Platformu (UWP) uygulamaları tarafından kullanılabilir. Uzamsal ses API'leri, geliştiricilerin 3B alanda bulunan konumlardan ses yayan ses nesneleri oluşturmasına olanak sağlar. Dinamik ses nesneleri, zaman içinde değişebilen rastgele bir konumdan ses yaymanıza olanak sağlar. Ses nesnelerinin gerçek veya sanallaştırılmış hoparlörleri temsil eden önceden tanımlanmış 17 statik kanaldan (8.1.4.4) birinden ses yaydığını da belirtebilirsiniz. Gerçek çıkış biçimi kullanıcı tarafından seçilir ve Microsoft Spatial Sound uygulamalarından soyutlanabilir; ses, herhangi bir kod veya içerik değişikliğine gerek kalmadan mevcut hoparlörlere, kulaklıklara ve ev sineması alıcılarına sunulacaktır. Platform hem HDMI hem de stereo kulaklık çıkışı için gerçek zamanlı Dolby Atmos kodlamasını, Kulaklıklar için DTS:X'i ve stereo kulaklıklar için Windows Sonic for Headphones kodlamasını tam olarak destekler. Son olarak, Microsoft Spatial Sound uygulamaları sistem karıştırma ilkesine uyar ve sesleri uzamsal olarak farkında olmayan uygulamalarla da karıştırılır. Microsoft Spatial Sound desteği de Media Foundation ile tümleşiktir; media foundation kullanan uygulamalar, ek uygulama olmadan Dolby Atmos içeriğini başarıyla yürütebilir.

Microsoft Spatial Sound ile uzamsal ses, Dolby Atmos'u destekleyen televizyonları, ev sinemalarını ve ses çubuklarını destekler. Uzamsal ses, kulaklıklar için Windows Sonic, Kulaklıklar için Dolby Atmos veya DTS Headphone:X kullanılarak platform tarafından işlenen ses ile tüketicinin sahip olabileceği herhangi bir kulaklık çiftiyle de kullanılabilir.

Microsoft Spatial Sound'u etkinleştirme

İster geliştirici ister tüketici olarak kullanıcının uzamsal ses duyabilmesi için cihazında Microsoft Spatial Sound'u etkinleştirmesi gerekir.

Windows

Windows bilgisayarlarda, bu işlem belirli bir ses çıkış cihazının özellikler sayfası aracılığıyla yapılır. Ses denetim masasından bir çıkış cihazı seçin ve cihaz özellikleri tıklayın. Sayfanın Uzamsal ses bölümünde, cihaz uzamsal sesi destekliyorsa, Uzamsal ses biçimi açılan listesinden kullanılabilir biçimlerden birini seçebilirsiniz.

ses kontrol panelinde uzamsal sesi etkinleştirme

Görev çubuğundaki Ses düzeyi simgesine sağ tıklayarak da Microsoft Spatial Sound'u etkinleştirebilirsiniz.

görev çubuğundan uzamsal sesi etkinleştirme

Xbox

Xbox'ta Microsoft Spatial Sound özellikleri her zaman tüketici tarafından kullanılabilir ve Genel -> Ses & ses çıkışıaltındaki Ayarlar Uygulaması aracılığıyla etkinleştirilir.

HDMI ses düğmesi, Ses Video Alıcısı (AVR) veya Soundbar ya da Xbox konsolunuza doğrudan bağlı TV tarafından desteklenen tüm biçimlerle doldurulur. "Optik ses" seçeneği yalnızca eski Xbox konsollarında kullanılabilir, Xbox Series X|S ve üzerinde kullanılamaz.

HDMI ses açılan listesini gösteren Genel Birim & Çıkış ayarları sayfasının ekran görüntüsü.

HDMI seste "Ev sineması için Dolby Atmos (yalnızca HDMI)" veya "DTS:X ev sineması için (yalnızca HDMI)" seçeneklerinin seçilmesi, kullanıcıdan dolby Access veya DTS Ses Bağlantısız uygulamaları önceden yüklü değilse indirmesini ve yüklemesini isteyecektir

DTS Digital Surround seçimini gösteren Genel Birim & Çıkış ayarları sayfasının ekran görüntüsü.

Mikrofonlu Kulaklık ses altındaki Mikrofonlu Kulaklık biçimindeki açılan listeden Kulaklıklar için Dolby Atmos, DTS Headphone:X veya Windows Sonic for Headphones'ı seçin

Kulaklıklar için uzamsal sesi etkinleştirmeyi gösteren Genel Ses Düzeyi & Çıkış ayarları sayfasının ekran görüntüsü.

Microsoft Spatial Sound kullanılamadığında (örneğin, katıştırılmış dizüstü bilgisayar stereo hoparlörlerinde çalarken veya kullanıcı yukarıda microsoft Spatial Sound'u açıkça etkinleştirmediyse), ISpatialAudioClient::GetMaxDynamicObjectCount tarafından bir uygulamaya döndürülen kullanılabilir dinamik nesne sayısı 0 olur.

HoloLens 2

HoloLens 2'de Microsoft Spatial Sound varsayılan olarak etkindir ve Kulaklıklar için Windows Sonic için özel olarak tasarlanmış donanım DSP boşaltmayı kullanır.

Microsoft Spatial Ses ve Ses Ara Yazılımı

Birçok uygulama ve oyun geliştiricisi genellikle gelişmiş yazma ve seçme araçlarını içeren üçüncü taraf ses işleme altyapısı çözümlerini kullanır. Microsoft, Microsoft Spatial Sound'u mevcut yazma ortamlarında uygulamak için bu çözüm sağlayıcılarından birkaçıyla işbirliği yaptı. Bu genellikle burada açıklanan API'lerin uygulama görünümünden soyutlandığı anlamına gelir; bunlar, uygulamanın başlatabileceği ve uygulamanın ses uygulayıcısının bir Microsoft Spatial Sound kanal yatağına karışmak, alt karışımını yapmak veya dinamik nesne örneği eklentilerine tek tek sesler göndermek için kullanabildiği dijital sinyal işleme (DSP) eklentileri olarak sarmalanmıştır. Microsoft Spatial Sound için destek düzeyi için ses ara yazılımı çözüm sağlayıcınıza danışın.

Ses oluşturucular için Microsoft Spatial Sound

Birçok ses işleyicisi IAudioClientuç noktasıbir Windows Ses Oturumu API'sini (WASAPI) hedefler; burada uygulama karma ve biçime uygun ses verilerinin arabelleklerini bir WASAPI ses havuzuna aktarır; Teslim edilen arabellekler daha sonra diğer istemcilerle karıştırmak, son sistem düzeyinde işleme ve işleme için tüketilir.

Microsoft Spatial Sound uzamsal uç noktaları, IAudioClientile birçok benzerliği olan ISpatialAudioClientolarak uygulanır. Kanal yatağı oluşturan statik ses nesnelerini destekler ve 8.1.4.4 kanala kadar (dinleyicinin etrafındaki 8 kanal – Sol, Sağ, Orta, Yan Sol, Yan Sağ, Arka Sol, Sağ Arka ve Arka Merkez; 1 düşük frekanslı efekt kanalı; dinleyicinin üstünde 4 kanal; dinleyicinin altındaki 4 kanal). Ayrıca, rastgele olarak 3B alana yerleştirilebilen dinamik ses nesnelerini destekler.

ISpatialAudioClient için genel uygulama kodlama düzeni:

  • Statik ve/veya dinamik ses nesneleri oluşturun.
  • Sistemin işleyebilmesi için her bir nesnenin ses arabelleğine her çerçeveyi besleyin.
  • Dinamik nesnelerin 3B konumlarını, uygulamanın istediği sıklıkta (veya seyrek olarak) isteğe bağlı olarak güncelleştirin.

Geçerli çıkış biçiminin (hoparlörler veya kulaklıklar; Kulaklıklar, Dolby Atmos veya DTS Headphone:X) için Windows Sonic yukarıdaki uygulamadan soyutlanır - uygulama geliştiricisi biçime göre özetleme yapmaya gerek kalmadan uzamsal sese odaklanabilir. Çıkış biçimine göre davranışlarının farklı olmasını isteyen uygulamalar kullanımdaki biçimi sorgulayabilir, ancak soyutlama, bir uygulamanın bu biçimleri işlemek için gerekli olmadığı anlamına gelir.

Ses oluşturucularla Microsoft Uzamsal Ses Tümleştirmesi

ISpatialAudioClient veri kullanan bir ses havuzu olduğundan, ses işleyicisi ile etkileşim kurma ve ses verilerini ona teslim etme için çeşitli seçeneklere sahiptir. Yaygın olarak kullanılan üç tümleştirme tekniği vardır (ve ses ara yazılımını kullanan başlıklar için, bu seçeneklere bağlı olarak kullanıma sunulan eşdeğer eklentiler görebilirsiniz):

  • 7.1.4 kaydırıcılar ve ana ses: Zaten 7.1 uç noktalarını destekleyen işleyiciler, ISpatialAudioClient statik kanal yatağı tarafından desteklenen dört ek yükseklik kanalı için destek eklemeyi tercih edebilir. Daha önce yaptıkları (muhtemelen x,y, z koordinatlarından yararlanan) herhangi bir kanal artık bu yükseklik kanallarını içerecek şekilde güncelleştirilebilir. Bu genellikle işleyici ve uygulama ses iş akışları, sinyal, akış ve karma denetimi için en düşük kesintiyi sunar. Kulaklıklar üzerinden, tam uygulama karışımının uzamsallaştırılacağını unutmayın; bu nedenle stereo müzik bile dinleyiciden "dışlanmış" olarak algılanabilir.
  • Mevcut uç noktayı koruyun ve bir 7.1.4 veri yolu (ve panner)ekleyin: Bazı başlıklar iki uç nokta korumayı seçebilir: mevcut stereo WASAPI uç noktası (uzamsallaştırılmaya gerekmeyen "kulaklara doğrudan" içerik için) ve 7.1.4'ü (veya 8.1.4.4'e kadar) destekleyen ISpatialAudioClient statik kanal yatağı. Tabii ki, iki karışım arasındaki etkileşimleri yönetmek içerik oluşturucular için ek zorluklar doğurur, ancak eşitleme korunur, ancak belirli bir zamanda etkin olan WASAPI ve ISAC örnekleri işleme için aynı arabellek boyutunu ve saatini kullanır.
  • belirli sesler veya alt bileşenler için dinamik ses nesneleri kullanın: Belki de en ayrıntılı/doğru konumlandırmayı sunarak ancak karma opaklık oluşturma olasılığı olan bu teknik, ISpatialAudioClient dinamik ses nesnelerini kullanmayı içerir. Meta verilerin yanı sıra ses arabelleğinin işleyiciye teslim edilir, bu nedenle bu seslerin uygulama karışımının geri kalanına göre donuk olacağını unutmayın. Ayrıca, kullanılabilir dinamik ses nesnelerinin sayısı sınırlı olduğundan işleyicinin öncelik belirleme tekniklerini (etiketleme, ses birlikte konumu, statik kanal yatağına harmanlama vb.) uygulamayı göz önünde bulundurması gerekir. Oyunlar, dinleyicinin üzerinde hareket edecek bir helikopter gibi bireysel "hero" sesleri için bu tekniği sık sık kullandı.

İşleyiciler de bu yaklaşımları karıştırabilir ve eşleştirebilir.

Microsoft Spatial Sound Runtime Kaynağı Etkileri

Windows ve Xbox'ta kullanılabilir seslerin sayısı kullanımdaki biçime göre değişir. Dolby Atmos biçimleri toplam 32 aktif nesneyi destekler (bu nedenle 7.1.4 kanal yatak kullanılıyorsa, 20 ek dinamik ses nesnesi etkin olabilir). Kulaklıklar için Windows Sonic, Low Frequency Effects (LFE) kanalının aslında nesne olarak sayılmamasıyla birlikte toplam 128 etkin nesneyi destekler. Bu nedenle 8.1.4.4 kanal yatağı kullanımda olduğunda 112 dinamik ses nesnesi etkin olabilir.

Xbox One oyun konsollarında çalışan Evrensel Windows Platformu uygulamaları için gerçek zamanlı kodlama (Dolby Atmos for Home Theater, Dolby Atmos for Headphones, DTS:X for Home Theater, DTS Headphone:X ve Windows Sonic for Headphones için) donanımda cpu maliyeti olmadan gerçekleştirilir.

2303 Xbox işletim sistemi güncelleştirmesi ve Oyun Geliştirme Seti (GDK) ile başlayarak Xbox'taki kaynak sınırları aşağıdaki değerlere güncelleştirilir:

Biçim Maksimum Statik Nesneler (Kanal Yatağı) En Fazla Dinamik Nesne
Xbox Series X|S, UWP uygulamaları & >=2303 GDK
En Fazla Dinamik Nesne
Xbox Series X|S, XDK & <2303 GDK
En Fazla Dinamik Nesne
Xbox One
Ev Sineması (HDMI) için Dolby Atmos 12 (7.1.4) 20 20 20
Ev Sineması (HDMI) için DTS:X 17 (8.1.4.4) 20 20 16
Dolby Atmos (Kulaklık) 17 (8.1.4.4) 128 20 16
DTS Headphone:X (Headphones) 17 (8.1.4.4) 200 20 16
Windows Sonic (Kulaklık) 17 (8.1.4.4) 220 20 15

Windows derlemesi 22621'e yönelik Mayıs hizmet sürümünden itibaren Windows'taki kaynak sınırları aşağıdaki değerlere güncelleştirilir:

Biçim Maksimum Statik Nesneler (Kanal Yatağı) En Fazla Dinamik Nesne
Windows
En Fazla Dinamik Nesne
HoloLens 2
Dolby Atmos ev sineması (HDMI) 12 (7.1.4) 20 YOK
Ev sineması için DTS:X (HDMI) 17 (8.1.4.4) 32 YOK
Dolby Atmos (Kulaklık) 17 (8.1.4.4) 128 YOK
Dolby Atmos (Yerleşik Hoparlörler) 17 (8.1.4.4) 128 YOK
DTS Headphone:X (Headphones) 17 (8.1.4.4) 128 YOK
DTS:X Ultra (Yerleşik Hoparlörler) 17 (8.1.4.4) 128 YOK
Windows Sonic (Kulaklık) 17 (8.1.4.4) 128 31

Önceki Windows, Xbox ve HoloLens sürümleri için aşağıdaki kaynak sınırları geçerlidir.

Biçim Maksimum Statik Nesneler (Kanal Yatağı) En Fazla Dinamik Nesne
Xbox One
En Fazla Dinamik Nesne
Windows
En Fazla Dinamik Nesne
HoloLens 2
Ev sineması için Dolby Atmos (HDMI) 12 (7.1.4) 20 20 YOK
Ev sineması için DTS:X (HDMI) 17 (8.1.4.4) 16 32 YOK
Dolby Atmos (Kulaklık) 17 (8.1.4.4) 16 16 YOK
Dolby Atmos (Yerleşik Hoparlörler) 17 (8.1.4.4) YOK 16 YOK
DTS Headphone:X (Headphones) 17 (8.1.4.4) 16 32 YOK
DTS Ultra (Yerleşik Hoparlörler) 17 (8.1.4.4) YOK 32 YOK
Kulaklıklar için Windows Sonic 17 (8.1.4.4) 15 112 31

Uygulamalar aşağıdaki kaynak etkilerini de dikkate almalıdır:

  • Depolama/disk bant genişliği: 7.1.4'e önceden yazılmış doğrusal içerik genellikle 7.1'den büyük doğrusal içerik olacaktır (ancak algısal codec'ler bunu 50% gerçek ses verisi kanalından çok daha az yapmak için kanal bağıntısından yararlanır)
  • Diğer dijital sinyal işleme maliyetleri: Daha önce bazı genel efektler artık dinamik ses nesnesi başına örneklenebilir. Ayrıca, bazı içerik oluşturucular bazı DSP efektlerini ek kanalları destekleyecek şekilde güncelleştirmek veya bunları benzersiz olarak kullanmak isteyebilir.

Microsoft Spatial Sound and Sound Spatialization Cues

Microsoft Spatial Sound, dinleyici etrafında idealleştirilmiş bir küre üzerinde ses konumlandırma benzetimine odaklanmıştır. Kulaklıklar için Windows Sonic, DTS Headphone:X ve Dolby Atmos kulaklıklara konuşmacı eşleme ve sanallaştırma uygular, ancak genellikle içerik oluşturucu özellikli yollarla uygulanan ses uzamsal benzetiminin diğer birçok yönünün mevcut motorlara bırakıldığını unutmayın. İçerik oluşturucular Doppler, mesafe tabanlı azaltma ve filtreleme, tıkanıklık ve çevresel yankı gibi uzamsal ipuçları için daha önce sahip oldukları mevcut oyun araçlarını ve süreçlerini kullanmaya devam ediyor.

Ek Kaynaklar

Uzamsal Ses Arabirimleri

Arayüz Açıklama
ISpatialAudioClient İstemcinin 3B alanda bir konumdan ses yayan ses akışları oluşturmasını sağlar.
ISpatialAudioObject Kullanıcıya göre 3B alandan işlenecek ses verileri sağlayan bir nesneyi temsil eder.
ISpatialAudioObjectRenderStream Bir uzamsal ses nesnesi işleme akışını denetlemek için akışı başlatma, durdurma ve sıfırlama gibi yöntemler sağlar.
ISpatialAudioObjectRenderStreamNotify Uzamsal ses istemcilerinin ISpatialAudioObjectRenderStream durumundaki değişikliklere yanıt vermesi için bildirimler sağlar.

 

Not

Xbox One Geliştirme Seti (XDK) başlığında ISpatialAudioClient arabirimlerini kullanırken, IMMDeviceEnumerator::EnumAudioEndpoints veya IMMDeviceEnumerator::GetDefaultAudioEndpointçağırmadan önce EnableSpatialAudio çağırmalısınız. Bunun yapılmaması, Etkinleştirme çağrısından bir E_NOINTERFACE hatası döndürülmesine neden olur. EnableSpatialAudio yalnızca XDK başlıkları için kullanılabilir ve Xbox One üzerinde çalışan Evrensel Windows Platformu uygulamaları veya Xbox One olmayan cihazlar için çağrılmaları gerekmez.

 

Uzamsal Ses Yapıları

Yapı Açıklama
SpatialAudioObjectRenderStreamActivationParams Uzamsal ses işleme akışı için etkinleştirme parametrelerini temsil eder.
SpatialAudioClientActivationParams Uzamsal ses işleme akışı için isteğe bağlı etkinleştirme parametrelerini temsil eder.

 

Uzamsal Ses Sabit Listeleri

Sayım Açıklama
AudioObjectType ISpatialAudioObject türünü belirtir.