Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Esta documentação destina-se a um público de desenvolvedores. Para suporte ao utilizador final para ativar o som espacial no seu dispositivo, veja Como ativar o som espacial em Windows 10.
O Microsoft Spatial Sound é a solução a nível de plataforma da Microsoft para suporte a som espacial na Xbox, Windows e HoloLens 2, permitindo tanto sinais surround como de elevação (acima ou abaixo do ouvinte). O som espacial pode ser aproveitado por aplicações de ambiente de trabalho Windows (Win32), bem como por aplicações da Plataforma Universal do Windows (UWP) em plataformas suportadas. As APIs de som espacial permitem que os desenvolvedores criem objetos de áudio que emitem áudio a partir de posições no espaço 3D. Os objetos de áudio dinâmicos permitem-lhe emitir áudio a partir de uma posição arbitrária no espaço, que pode mudar ao longo do tempo. Você também pode especificar que os objetos de áudio emitem som de um dos 17 canais estáticos predefinidos (8.1.4.4) que podem representar alto-falantes reais ou virtualizados. O formato de saída real é selecionado pelo utilizador e pode ser abstraído das implementações do Microsoft Spatial Sound; o áudio será apresentado a colunas, auscultadores e recetores de cinema em casa existentes sem necessidade de alterações de código ou conteúdo. A plataforma suporta totalmente a codificação Dolby Atmos em tempo real tanto para saída HDMI como estéreo, DTS:X para auscultadores e codificação Windows Sonic para auscultadores estéreo. Por fim, as aplicações Microsoft Spatial Sound cumprem a política de mistura do sistema, e o seu áudio também será misturado com aplicações não com consciência espacial. O suporte ao Microsoft Spatial Sound também está integrado no Media Foundation; as aplicações que utilizam o Media Foundation conseguem reproduzir conteúdos Dolby Atmos sem implementação adicional.
O som espacial com o Microsoft Spatial Sound suporta TVs, sistemas de cinema em casa e barras de som que suportam Dolby Atmos. O som espacial também pode ser usado com qualquer par de headphones que o consumidor possua, com áudio renderizado pela plataforma usando Windows Sonic for Headphones, Dolby Atmos for Headphones ou DTS Headphone:X.
Ativação do Microsoft Spatial Sound
Quer seja como programador ou consumidor, o utilizador deve ativar o Microsoft Spatial Sound no seu dispositivo para ouvir som espacializado.
Windows
Nos PCs Windows, isto é feito através da página de propriedades de um determinado dispositivo de saída de som. No painel de controle Sound, selecione um dispositivo de saída e clique em propriedades do dispositivo. Na secção Som Espacial da página, se o dispositivo suportar som espacial, pode selecionar um dos formatos disponíveis a partir do menu pendente Formato de Som Espacial.
Também pode ativar Microsoft Som Espacial clicando com o botão direito no ícone Volume na barra de tarefas.
Xbox
No Xbox, as capacidades do Som Espacial da Microsoft estão sempre disponíveis para o consumidor, sendo ativadas nas Definições do Windows em Geral e >Volume e saída de áudio.
O botão de áudio HDMI está preenchido com todos os formatos suportados pelo Recetor de Áudio e Vídeo (AVR), barra de som ou pela TV que está diretamente ligada à sua consola Xbox. A opção "Áudio ótico" está disponível apenas em consolas Xbox mais antigas e não na Xbox Series X|S e versões superiores.
Observe que selecionar as opções "Dolby Atmos para home theater (somente HDMI)" ou "DTS:X para home theater (somente HDMI)" no áudio HDMI solicitará que o usuário baixe e instale aplicativos Dolby Access ou DTS Sound Unbound, se ainda não estiver instalado
Selecione Dolby Atmos para Headphones, DTS Headphone:X ou Windows Sonic para Headphones no menu pendente formato Headset sob Áudio para auscultadores
Quando o Microsoft Spatial Sound não está disponível (por exemplo, ao reproduzir em colunas estéreo integradas de um portátil, ou se o utilizador não tiver ativado explicitamente o Microsoft Spatial Sound mencionado acima), o número de objetos dinâmicos disponíveis devolvidos por ISpatialAudioClient::GetMaxDynamicObjectCount para uma aplicação será 0.
HoloLens 2
No HoloLens 2, o Microsoft Spatial Sound está ativado por defeito e utiliza offload DSP de hardware concebido especificamente para Windows Sonic para auscultadores.
Middleware Espacial de Som e Áudio da Microsoft
Muitos desenvolvedores de aplicativos e jogos usam soluções de mecanismo de renderização de áudio de terceiros, que geralmente incluem ferramentas sofisticadas de criação e audição. A Microsoft fez parcerias com vários destes fornecedores de soluções para implementar o Microsoft Spatial Sound nos seus ambientes de autoria existentes. Isto significa frequentemente que as APIs aqui discutidas são abstraídas da perspetiva da aplicação; são encapsulados como plug-ins de processamento digital de sinal (DSP) que a aplicação pode instanciar, e que o implementador de áudio da aplicação pode usar para misturar para um leito de canal Microsoft Spatial Sound, submisturar ou enviar vozes individuais para plug-ins de instância dinâmica de objetos conforme desejado. Consulte o seu fornecedor de soluções de middleware de áudio para saber o nível de suporte deles para o Microsoft Spatial Sound.
Microsoft Spatial Sound para Renderizadores de Áudio
Muitos renderizadores de áudio visam um endpoint Windows Audio Session API (WASAPI) IAudioClient, onde a aplicação alimenta buffers de dados de áudio misturados e conformes com formato para um sumidouro de áudio WASAPI; os buffers entregues são então consumidos para mistura com outros clientes, processamento final ao nível do sistema e renderização.
Os endpoints espaciais do Microsoft Spatial Sound são implementados como ISpatialAudioClient, que tem muitas semelhanças com IAudioClient. Ele suporta objetos de som estáticos que formam um leito de canais, com suporte para até 8.1.4.4 canais (8 canais ao redor do ouvinte – Esquerda, Direita, Centro, Lado Esquerdo, Lado Direito, Traseira Esquerda, Traseira Direita e Centro Traseiro; 1 canal de efeitos de baixa frequência; 4 canais acima do ouvinte; 4 canais abaixo do ouvinte). E suporta objetos dinâmicos sonoros, que podem ser posicionados arbitrariamente no espaço 3D.
O padrão de codificação de implementação geral para ISpatialAudioClient é:
- Crie objetos de áudio estáticos e/ou dinâmicos.
- Alimente o buffer de áudio de cada objeto em cada quadro para que o sistema possa renderizá-lo.
- Atualize as posições 3D dos objetos dinâmicos sob demanda – com a frequência (ou com pouca frequência) que o aplicativo desejar.
Tenha em atenção que o formato de saída atual (altifalantes ou auscultadores; Windows Sonic for Headphones, Dolby Atmos ou DTS Headphone:X) é abstraído da implementação acima – o programador da aplicação pode concentrar-se no som espacial sem precisar de ajustar com base no formato. As aplicações que desejam que o seu comportamento divirja com base no formato de saída podem consultar o formato em uso, mas a abstração significa que uma aplicação não tem de lidar com esses formatos.
Integração do Som Espacial da Microsoft com os Renderizadores de Áudio
Como ISpatialAudioClient é um coletor de áudio que consome dados, um renderizador de áudio tem várias opções de como interagir e entregar dados de áudio para ele. Há três técnicas de integração comumente usadas (e para títulos que usam middleware de áudio, você pode ver plug-ins equivalentes disponibilizados com base nessas opções):
- 7.1.4 panners e masterização de áudio: Os renderizadores que já suportam pontos de extremidade 7.1 podem optar por simplesmente adicionar suporte para os quatro canais de altura adicionais que a cama de canais estática do ISpatialAudioClient suporta. Qualquer panorâmica de canal que eles fizeram anteriormente (provavelmente já aproveitando as coordenadas x, y, z) pode ser atualizada para agora incluir esses canais de altura. Isso geralmente oferece o mínimo de interrupção para os fluxos de trabalho de áudio do renderizador e do aplicativo, sinal, fluxo e controle de mistura. Com fones de ouvido, observe que o mix completo da aplicação será espacializado – portanto, até mesmo música estéreo pode ser percebida como fora do ouvinte.
- Manter o endpoint existente, além de adicionar um barramento 7.1.4 (e panners): Alguns títulos podem optar por manter dois endpoints: o seu endpoint estéreo WASAPI existente (para conteúdo "diretamente para os ouvidos" não destinado a ser espacializado) ao lado de um leito de canal estático ISpatialAudioClient que suporta 7.1.4 (ou até mesmo 8.1.4.4). É claro que o gerenciamento de interações entre duas misturas apresenta desafios adicionais para os criadores de conteúdo, embora a sincronização seja mantida, já que as instâncias WASAPI e ISAC ativas em um determinado momento usam o mesmo tamanho de buffer e relógio para processamento.
- Use objetos de som dinâmicos para determinadas vozes ou submixes: Oferecendo talvez o posicionamento mais detalhado/preciso, mas potencialmente criando opacidade de mistura, esta técnica envolve o uso de ISpatialAudioClient objetos de som dinâmicos. Observe que os metadados mais o buffer de áudio são entregues ao renderizador, portanto, esses sons serão opacos para o resto da mistura de aplicativos. Além disso, como há um número limitado de objetos de som dinâmicos disponíveis, o renderizador precisará considerar a implementação de técnicas de priorização – abate, colocalização de som, mistura com o leito de canal estático e assim por diante. Os jogos têm usado frequentemente esta técnica para sons individuais de "heróis", como um helicóptero que se moverá acima do ouvinte.
Os renderizadores também podem combinar entre essas abordagens.
Implicações dos Recursos de Tempo de Execução do Microsoft Spatial Sound
No Windows e Xbox, o número de vozes disponíveis varia consoante o formato utilizado. Os formatos Dolby Atmos suportam um total de 32 objetos ativos (portanto, se uma cama de 7.1.4 canais estiver em uso, 20 objetos de som dinâmicos adicionais podem estar ativos). O Windows Sonic for Headphones suporta 128 objetos ativos no total, sendo que o canal de Efeitos de Baixa Frequência (LFE) não é realmente contabilizado como objeto — por isso, quando uma cama de canal 8.1.4.4 está em uso, 112 objetos sonoros dinâmicos podem estar ativos.
Para aplicações da Plataforma Universal do Windows a correr em consolas Xbox One, a codificação em tempo real (para Dolby Atmos para Home Theater, Dolby Atmos para auscultadores, DTS:X para Home Theater, DTS Headphone:X e Windows Sonic para auscultadores) é realizada em hardware sem custo de CPU.
A partir da atualização 2303 para Xbox OS e do Game Development Kit (GDK), os limites de recursos na Xbox são atualizados para os seguintes valores:
| Formato | Objetos estáticos máximos (Leito de canal) | Max Objetos Dinâmicos Xbox Series X|S, aplicações UWP & |
Max Objetos Dinâmicos Xbox Series X|S, XDK & |
Max Objetos Dinâmicos Xbox One |
|---|---|---|---|---|
| Dolby Atmos para cinema em casa (HDMI) | 12 (7.1.4) | 20 | 20 | 20 |
| DTS:X para cinema em casa (HDMI) | 17 (8.1.4.4) | 20 | 20 | 16 |
| Dolby Atmos (Auscultadores) | 17 (8.1.4.4) | 128 | 20 | 16 |
| DTS Headphone:X (fone de ouvido) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (Auscultadores) | 17 (8.1.4.4) | 220 | 20 | 15 |
A partir da versão de manutenção de maio para a versão 22621 do Windows, os limites de recursos do Windows são atualizados para os seguintes valores:
| Formato | Objetos estáticos máximos (Leito de canal) | Max Objetos Dinâmicos Windows |
Max Objetos Dinâmicos HoloLens 2 |
|---|---|---|---|
| Cinema em casa Dolby Atmos (HDMI) | 12 (7.1.4) | 20 | N/A |
| DTS:X para cinema em casa (HDMI) | 17 (8.1.4.4) | 32 | N/A |
| Dolby Atmos (Auscultadores) | 17 (8.1.4.4) | 128 | N/A |
| Dolby Atmos (alto-falantes embutidos) | 17 (8.1.4.4) | 128 | N/A |
| DTS Headphone:X (fone de ouvido) | 17 (8.1.4.4) | 128 | N/A |
| DTS:X Ultra (alto-falantes integrados) | 17 (8.1.4.4) | 128 | N/A |
| Windows Sonic (Auscultadores) | 17 (8.1.4.4) | 128 | 31 |
Para versões anteriores para Windows, Xbox e HoloLens, aplicam-se os seguintes limites de recursos.
| Formato | Objetos estáticos máximos (Leito de canal) | Max Objetos Dinâmicos Xbox One |
Max Objetos Dinâmicos Windows |
Max Objetos Dinâmicos HoloLens 2 |
|---|---|---|---|---|
| Dolby Atmos para cinema em casa (HDMI) | 12 (7.1.4) | 20 | 20 | N/A |
| DTS:X para cinema em casa (HDMI) | 17 (8.1.4.4) | 16 | 32 | N/A |
| Dolby Atmos (Auscultadores) | 17 (8.1.4.4) | 16 | 16 | N/A |
| Dolby Atmos (colunas incorporadas) | 17 (8.1.4.4) | N/A | 16 | N/A |
| DTS Headphone:X (Fone de ouvido) | 17 (8.1.4.4) | 16 | 32 | N/A |
| DTS Ultra (alto-falantes integrados) | 17 (8.1.4.4) | N/A | 32 | N/A |
| Windows Sonic para auscultadores | 17 (8.1.4.4) | 15 | 112 | 31 |
Os aplicativos também devem considerar as seguintes implicações de recursos:
- Armazenamento/ largura de banda do disco: O conteúdo linear pré-autorizado para 7.1.4 normalmente será maior do que o conteúdo linear 7.1 (embora os codecs percetivos muitas vezes já aproveitem a correlação de canais para torná-lo muito menos do que o acréscimo de 50% em relação ao número de canais reais de dados de áudio)
- Outros custos de processamento de sinal digital: Alguns efeitos anteriormente globais podem agora ser instanciados por objeto de som dinâmico. Além disso, alguns criadores de conteúdo podem querer atualizar alguns efeitos DSP para suportar canais adicionais ou usá-los exclusivamente.
Som Espacial Microsoft e Indícios de Espacialização Sonora
O Microsoft Spatial Sound foca-se na simulação de posicionamento sonoro numa esfera idealizada em torno do ouvinte. Windows Sonic para Auscultadores, DTS Headphone:X e Dolby Atmos implementam mapeamento de altifalantes e virtualização para auscultadores, mas note-se que muitos outros aspetos da simulação espacial sonora, já tipicamente implementados de forma habilitada por criadores de conteúdo, são deixados para os motores existentes. Os criadores de conteúdo continuam a usar as ferramentas e processos de jogo existentes anteriormente para pistas espaciais como Doppler, atenuação e filtragem baseadas em distância, oclusão e obstrução e reverberação ambiental.
Recursos adicionais
- Repositório do GitHub de amostras do Microsoft Spatial Sound
- A Dolby oferece vários recursos de suporte relacionados com o Dolby Atmos e a aplicação Dolby Access, incluindo a App Development Knowledge Base e o suporte ao Dolby Access .
Interfaces de som espacial
| Interface | Descrição |
|---|---|
| ISpatialAudioClient | Permite que um cliente crie fluxos de áudio que emitem áudio a partir de uma posição no espaço 3D. |
| ISpatialAudioObject | Representa um objeto que fornece dados de áudio a serem renderizados a partir de uma posição no espaço 3D, em relação ao usuário. |
| ISpatialAudioObjectRenderStream | Fornece métodos para controlar um fluxo de renderização de objeto de áudio espacial, incluindo iniciar, parar e redefinir o fluxo. |
| ISpatialAudioObjectRenderStreamNotify | Fornece notificações para clientes de áudio espacial para responder a alterações no estado de um ISpatialAudioObjectRenderStream. |
Observação
Ao usar as interfaces ISpatialAudioClient num título do Xbox One Development Kit (XDK), deve primeiro ligar para EnableSpatialAudio antes de chamar IMMDeviceEnumerator::EnumAudioEndpoints ou IMMDeviceEnumerator:: GetDefaultAudioEndpoint. Se isso não for feito, a chamada para Ativar retornará um erro E_NOINTERFACE. EnableSpatialAudio está disponível apenas para títulos XDK, e não precisa de ser chamada para aplicações Plataforma Universal do Windows a correr em Xbox One, nem para quaisquer dispositivos não Xbox One.
Estruturas Sonoras Espaciais
| Estrutura | Descrição |
|---|---|
| SpatialAudioObjectRenderStreamActivationParams | Representa parâmetros de ativação para um fluxo de renderização de áudio espacial. |
| SpatialAudioClientActivationParams | Representa parâmetros de ativação opcionais para um fluxo de renderização de áudio espacial. |
Enumerações de som espacial
| Enumeração | Descrição |
|---|---|
| AudioObjectType | Especifica o tipo de um ISpatialAudioObject. |