Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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, Xbox, Windows ve HoloLens 2'de uzamsal ses desteği için Microsoft 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 Uzamsal Ses uygulamalarından soyutlanabilir; ses, kod veya içerik değişikliğine gerek kalmadan mevcut hoparlörlere, kulaklıklara ve ev sineması alıcılarına sunulur. 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 kulaklık kodlaması için Windows Sonic'i tam olarak destekler. Son olarak, Microsoft Uzamsal Ses uygulamaları sistem karışım politikasına uyar ve sesleri, uzamsal ses farkındalığı 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 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 Uzamsal Sesi Etkinleştirme
Geliştirici veya tüketici olarak kullanıcının uzamsallaştırılmış sesi duyabilmesi için cihazında uzamsal ses Microsoft etkinleştirmesi gerekir.
Windows
Windows bilgisayarlarda bu, 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.
Ayrıca görev çubuğundaki Volume simgesine sağ tıklayarak uzamsal ses Microsoft etkinleştirebilirsiniz.
Xbox
Xbox Microsoft Uzamsal Ses özellikleri her zaman tüketici tarafından kullanılabilir ve General -> Ses ve ses çıkışı altındaki Windows Ayarları aracılığıyla etkinleştirilir.
HDMI ses düğmesi, Ses Video Alıcısı (AVR) veya Soundbar veya doğrudan Xbox konsolunuza bağlı TV tarafından desteklenen tüm biçimlerle doldurulur. "Optik ses" seçeneği yalnızca eski Xbox konsollarda kullanılabilir, Xbox Series X|S ve üzeri konsollarda kullanılamaz.
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
Kulaklık biçimi altında, Kulaklık sesi açılır listesinden Kulaklıklar için Dolby Atmos, DTS Headphone:X veya Windows Sonic'i seçin.
Microsoft Uzamsal Ses mevcut olmadığında (örneğin, dizüstü bilgisayara gömülü stereo hoparlörlerde çalarken veya kullanıcı yukarıda belirtildiği gibi Microsoft Uzamsal Ses'i açıkça etkinleştirmediyse), bir uygulama için ISpatialAudioClient::GetMaxDynamicObjectCount tarafından 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 Windows Sonic for Headphones için özel olarak tasarlanmış donanım DSP deşarjı kullanır.
Microsoft Uzamsal 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, mevcut yazma ortamlarında Microsoft Spatial Sound 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 örnekleyebileceği ve uygulamanın ses uygulayıcısının Microsoft Uzamsal Ses kanalı yatağına ses karıştırmak, alt karışım oluşturmak veya tekil sesleri dinamik nesne örneği eklentilerine göndermek için kullanabileceğ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.
Microsoft Ses İşleyiciler için Uzamsal Ses
Birçok ses işleyicisi Windows Ses Oturumu API'si (WASAPI) IAudioClient uç noktasını 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 kullanılır.
Microsoft Spatial Sound uzamsal uç noktaları, ISpatialAudioClient olarak uygulanır ve IAudioClient ile birçok benzerliği vardır. Kanal yatağı oluşturan statik ses nesnelerini destekler ve 8.1.4.4 kanalına kadar destek verir (dinleyicinin etrafında 8 kanal – Sol, Sağ, Merkez, Yan Sol, Yan Sağ, Arka Sol, Arka Sağ ve Arka Merkez; 1 düşük frekanslı efekt kanalı; dinleyicinin üstünde 4 kanal; dinleyicinin altında 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.
- Sistem tarafından işlenebilmesi için her bir nesnenin ses arabelleğine her çerçevede veri aktarın.
- 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ış formatı (hoparlörler veya kulaklıklar; Windows Sonic for Headphones, Dolby Atmos veya DTS Headphone:X) yukarıdaki uygulamadan bağımsızdır - uygulama geliştiricisi, formatta değişiklik 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.
Microsoft Ses İşleyicileriyle Uzamsal Ses Entegrasyonu
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 konumlandırması, artık bu yükseklik kanallarını da içerecek şekilde güncellenebilir. Bu genellikle işleyici ve uygulama ses akışları, sinyal, akış ve karışım kontrolü için en az kesintiyi sağlar. 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; olmasına rağmen eşitleme korunur çünkü belli bir anda aktif olan hem WASAPI hem de ISAC örnekleri işleme için aynı arabellek boyutunu ve saati 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 renderlayıcıya teslim edildiğini, bu nedenle bu seslerin uygulama karışımındaki diğer seslere karşı şeffaf olmayacağını unutmayın. Ayrıca, kullanılabilir dinamik ses nesnelerinin sayısı sınırlı olduğundan işleyicinin öncelik belirleme tekniklerini (elemine etme, ses birlikte yerleştirme, statik kanal tabanı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 Uzamsal Ses Çalışma Zamanı Kaynağı Etkileri
Windows ve Xbox 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). Windows Sonic for Headphones, Low Frequency Effects (LFE) kanalının aslında nesne olarak sayılmamasıyla 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 için, 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 kaynak sınırları aşağıdaki değerlere güncelleştirilir:
| Biçim | Kanal Yatağındaki Maksimum Statik Nesneler | Maksimum Dinamik Nesne Xbox Series X|S, UWP uygulamaları & |
Maksimum Dinamik Nesne Xbox Series X|S, XDK & |
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 (Kulaklıklar) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (Kulaklık) | 17 (8.1.4.4) | 220 | 20 | 15 |
Windows derleme 22621'e yönelik Mayıs hizmet sürümünden itibaren Windows kaynak sınırları aşağıdaki değerlere güncelleştirilir:
| Biçim | Maksimum Statik Nesneler (Kanal Yatağı) | Maksimum Dinamik Nesneler Windows |
Maksimum Dinamik Nesne HoloLens 2 |
|---|---|---|---|
| Dolby Atmos ev sineması (HDMI) | 12 (7.1.4) | 20 | Uygulanamaz |
| Ev sineması için DTS:X (HDMI) | 17 (8.1.4.4) | 32 | YOK |
| Dolby Atmos (Kulaklık) | 17 (8.1.4.4) | 128 | Mevcut Değil |
| Dolby Atmos (Yerleşik Hoparlörler) | 17 (8.1.4.4) | 128 | Uygulanamaz |
| DTS Headphone:X (Kulaklıklar) | 17 (8.1.4.4) | 128 | YOK |
| DTS:X Ultra (Yerleşik Hoparlörler) | 17 (8.1.4.4) | 128 | Uygulanamaz |
| 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 Tabanı) | Maksimum Dinamik Nesne Xbox One |
Maksimum Dinamik Nesneler Windows |
Maksimum Dinamik Nesne HoloLens 2 |
|---|---|---|---|---|
| Ev sineması için Dolby Atmos (HDMI) | 12 (7.1.4) | 20 | 20 | Uygulanamaz |
| 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 | Uygulanamaz |
| Dolby Atmos (Yerleşik Hoparlörler) | 17 (8.1.4.4) | YOK | 16 | YOK |
| DTS Headphone:X (Kulaklıklar) | 17 (8.1.4.4) | 16 | 32 | Mevcut Değil / Uygulanamaz |
| DTS Ultra (Yerleşik Hoparlörler) | 17 (8.1.4.4) | Geçerli Değil | 32 | Uygulanamaz |
| 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 doğrusal içerikten daha büyük olacaktır (ancak algısal codec'ler, kanal korelasyonunu kullanarak gerçek ses veri kanallarının %50 daha fazlası yerine çok daha az veri kullanı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 Uzamsal Ses ve Ses Uzamsallaştırma İpuçları
Microsoft Spatial Sound, dinleyici etrafında idealleştirilmiş bir küre üzerinde ses konumlandırma benzetimine odaklanır. Windows Sonic for Headphones, 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
- Microsoft Spatial Sound örnekleri github deposu
- Dolby, Uygulama Geliştirme Bilgi Bankası ve Dolby Access desteği de dahil olmak üzere Dolby Atmos ve Dolby Access uygulamasıyla ilgili bir dizi destek kaynağı sunar.
Uzamsal Ses Arabirimleri
| Arayüz | Açıklama |
|---|---|
| ISpatialAudioClient | İstemcinin 3B alanda bir konumdan ses yayan ses akışları oluşturmasını sağlar. |
| ISpatialAudioObject | 3B uzayda kullanıcıya göre bir konumdan işlenecek ses verisi 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'ı çağırmadan önce EnableSpatialAudio çağırmalısınız::EnumAudioEndpoints veya IMMDeviceEnumerator:: GetDefaultAudioEndpoint. 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 Numaralandırmaları
| Numaralandırma | Açıklama |
|---|---|
| AudioObjectType | ISpatialAudioObject türünü belirtir. |