Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nota
Esta documentação é direcionada para um público de desenvolvedores. Para obter suporte ao usuário final para habilitar o som espacial em seu dispositivo, consulte Como ativar o som espacial em Windows 10.
Microsoft Som Espacial é a solução de nível de plataforma da Microsoft para suporte a som espacial no Xbox, Windows e HoloLens 2, permitindo sinais de áudio surround e elevação (acima ou abaixo do ouvinte). O som espacial pode ser utilizado por aplicativos Windows desktop (Win32) e aplicativos Plataforma Universal do Windows (UWP) em plataformas com suporte. As APIs de som espacial permitem que os desenvolvedores criem objetos de áudio que emitem áudio de posições no espaço 3D. Objetos de áudio dinâmicos permitem emitir áudio de uma posição arbitrária no espaço, o que pode mudar ao longo do tempo. Você também pode especificar que 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 usuário e pode ser abstraído de implementações de som espacial Microsoft; o áudio será apresentado a alto-falantes, fones de ouvido e receptores de home theater existentes sem a necessidade de alterações de código ou conteúdo. A plataforma oferece suporte total à codificação em tempo real do Dolby Atmos para saída HDMI e fones de ouvido estéreo, DTS:X para Fones de Ouvido e Windows Sonic para Fones de Ouvido em fones de ouvido estéreo. Por fim, os aplicativos de Som Espacial da Microsoft respeitam a política de mixagem do sistema, e seu áudio também será misturado com aplicativos não compatíveis com som espacial. O suporte ao Som Espacial da Microsoft também está integrado ao Media Foundation; aplicativos que usam Media Foundation podem reproduzir com êxito o conteúdo Dolby Atmos sem nenhuma implementação adicional.
O som espacial com Microsoft Spatial Sound é compatível com TVs, home theaters e barras de som que suportam Dolby Atmos. O som espacial também pode ser usado com qualquer par de fones de ouvido que o consumidor possa possuir, com áudio renderizado pela plataforma usando Windows Sonic for Headphones, Dolby Atmos para Fones de Ouvido ou DTS Headphone:X.
Habilitando o Som Espacial da Microsoft
Seja como desenvolvedor ou consumidor, um usuário deve habilitar Microsoft Som Espacial em seu dispositivo para ouvir som espacializado.
Windows
Em Windows computadores, isso é feito por meio 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 propriedades do dispositivo. Na seção Som Espacial da página, se o dispositivo suportar som espacial, você poderá selecionar um dos formatos disponíveis no menu suspenso de Formato de Som Espacial.
Você também pode habilitar Microsoft Som Espacial clicando com o botão direito do mouse no ícone Volume na barra de tarefas.
Xbox
No Xbox, os recursos de Som Espacial da Microsoft estão sempre disponíveis para o consumidor e são habilitados por meio das Configurações do Windows em Geral -> Volume e saída de áudio.
O botão de áudio HDMI é preenchido com todos os formatos compatíveis com o Receptor de Vídeo de Áudio (AVR) ou a Barra de Som ou a TV que está diretamente conectada ao console Xbox. A opção "Áudio óptico" só está disponível em consoles de Xbox mais antigos e não em Xbox Series X|S e 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 Fones de Ouvido, DTS Headphone:X, ou Windows Sonic para Fones de Ouvido no menu suspenso Formato do Headset em Áudio do Headset
Quando o Som Espacial da Microsoft não está disponível (por exemplo, ao reproduzir em alto-falantes estéreo embutidos no laptop ou se o usuário não tiver habilitado explicitamente o Som Espacial da Microsoft conforme mencionado acima), o número de objetos dinâmicos disponíveis retornados por ISpatialAudioClient::GetMaxDynamicObjectCount para um aplicativo será 0.
HoloLens 2
No HoloLens 2, o Microsoft Som Espacial é habilitado por padrão e usa o offload de DSP de hardware especificamente projetado para Windows Sonic para Fones de Ouvido.
Microsoft middleware de áudio e som espacial
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. Microsoft fez parceria com vários desses provedores de solução para implementar Microsoft o Som Espacial em seus ambientes de criação existentes. Isso significará frequentemente que as APIs discutidas aqui são abstraídas da exibição do aplicativo; elas são compiladas como plug-ins de processamento de sinal digital (DSP) que o aplicativo pode instanciar e que o implementador de áudio do aplicativo pode usar para misturar a um canal do Microsoft Spatial Sound, submix ou enviar vozes individuais para plug-ins de instância de objeto dinâmico, conforme desejado. Consulte o provedor de solução de middleware de áudio para obter o nível de suporte do Microsoft Spatial Sound.
Microsoft som espacial para renderizadores de áudio
Muitos renderizadores de áudio têm como alvo um ponto de extremidade WASAPI IAudioClient, no qual o aplicativo fornece buffers de dados de áudio misturados e conformados em formato a um coletor de áudio WASAPI; os buffers entregues são então consumidos para mistura com outros clientes, processamento final no nível do sistema e renderização.
Os pontos de extremidade do Microsoft Spatial Sound são implementados como ISpatialAudioClient, que tem muitas semelhanças com IAudioClient. Ele dá suporte a objetos de som estáticos formando uma base 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 dá suporte a objetos de som dinâmicos, 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 a 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 raramente) desejada pelo aplicativo.
Observe que o formato de saída atual (alto-falantes ou fones de ouvido; Windows Sonic for Headphones, Dolby Atmos ou DTS Headphone:X) é abstraído da implementação acima – o desenvolvedor do aplicativo pode se concentrar no áudio espacial sem precisar ajustar com base no formato. Aplicativos que desejam que seu comportamento divergue com base no formato de saída podem consultar o formato em uso, mas a abstração significa que um aplicativo não é necessário para lidar com esses formatos.
Integração de Som Espacial da Microsoft com 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 a 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):
- controladores de panorâmica 7.1.4 e voz de masterização: renderizadores que já dão suporte a pontos de extremidade 7.1 podem optar por apenas adicionar suporte aos quatro canais de altura adicionais que o ISpatialAudioClient conjunto de canais estáticos suporta. Qualquer panoramização de canal que eles fizeram anteriormente (provavelmente já aproveitando coordenadas x, y, z) agora pode ser atualizada para incluir esses canais de altura. Isso geralmente oferece a menor interrupção nos fluxos de trabalho de áudio do renderizador e do aplicativo, sinal, fluxo e controle de combinação. Em fones de ouvido, observe que a combinação completa de aplicativos será espacializada, portanto, até mesmo música estéreo pode ser percebida como "externalizada" do ouvinte.
- Manter o ponto de extremidade existente, além de adicionar um barramento de áudio 7.1.4 (e panners): alguns títulos podem optar por manter dois pontos de extremidade: seu ponto de extremidade WASAPI estéreo existente (para conteúdo "direto aos ouvidos" que não se destina à espacialização) ao lado de um ISpatialAudioClient estrutura de canais estáticos que dá suporte a 7.1.4 (ou até mesmo até 8.1.4.4). É claro que o gerenciamento de interações entre duas misturas apresenta desafios adicionais aos 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.
- Usar objetos de som dinâmicos para determinadas vozes ou submixes: oferecendo talvez o posicionamento mais detalhado e preciso, mas potencialmente criando opacidade na mixagem, essa técnica envolve o uso de objetos de som dinâmicos do ISpatialAudioClient. Observe que os metadados e o buffer de áudio são entregues ao renderizador, portanto, esses sons serão opacos para o restante da combinação 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 – eliminação, co-colocação de som, mistura com a matriz de canal estático e assim por diante. Os jogos têm usado frequentemente essa técnica para sons individuais de "herói", como um helicóptero que se moverá acima do ouvinte.
Os renderizadores também podem misturar e combinar essas abordagens.
Implicações de Recursos do Microsoft Spatial Sound Runtime
Em Windows e Xbox, o número de vozes disponíveis varia de acordo com o formato em uso. Os formatos do Dolby Atmos dão suporte a 32 objetos ativos totais (portanto, se uma cama de canal 7.1.4 estiver em uso, 20 objetos de som dinâmicos adicionais poderão estar ativos). Windows Sonic for Headphones dá suporte a 128 objetos ativos no total, com o canal LFE (Efeitos de Baixa Frequência) não sendo realmente contado como um objeto. Portanto, quando uma estrutura de canal 8.1.4.4 está em uso, 112 objetos de som dinâmicos podem estar ativos.
Para aplicativos Plataforma Universal do Windows em execução em consoles de jogos Xbox One, o código em tempo real (para Dolby Atmos para Home Theater, Dolby Atmos para Fones de Ouvido, DTS:X para Home Theater, DTS Headphone:X e Windows Sonic for Headphones) é executado em hardware sem custo de CPU.
A partir da atualização do sistema operacional 2303 Xbox e do Kit de Desenvolvimento de Jogos (GDK), os limites de recursos em Xbox são atualizados para os seguintes valores:
| Formato | Objetos estáticos máximos (leito de canal) | Máximo de objetos dinâmicos Xbox Series X|S, aplicativos UWP & >=2303 GDK |
Máximo de objetos dinâmicos Xbox Series X|S, XDK & |
Número máximo de objetos dinâmicos Xbox One |
|---|---|---|---|---|
| Dolby Atmos para Home Theater (HDMI) | 12 (7.1.4) | 20 | 20 | 20 |
| DTS:X para Home Theater (HDMI) | 17 (8.1.4.4) | 20 | 20 | 16 |
| Dolby Atmos (fones de ouvido) | 17 (8.1.4.4) | 128 | 20 | 16 |
| DTS Headphone:X (Fone de ouvido) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (Fones de Ouvido) | 17 (8.1.4.4) | 220 | 20 | 15 |
A partir da versão de manutenção de maio para Windows build 22621, os limites de recursos em Windows são atualizados para os seguintes valores:
| Formato | Objetos estáticos máximos (base de canal) | Máximo de objetos dinâmicos Windows |
Máximo de objetos dinâmicos HoloLens 2 |
|---|---|---|---|
| Home theater com Dolby Atmos (HDMI) | 12 (7.1.4) | 20 | N/A |
| DTS:X para home theater (HDMI) | 17 (8.1.4.4) | 32 | N/A |
| Dolby Atmos (fones de ouvido) | 17 (8.1.4.4) | 128 | N/A |
| Dolby Atmos (alto-falantes internos) | 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 internos) | 17 (8.1.4.4) | 128 | N/A |
| Windows Sonic (Fones de Ouvido) | 17 (8.1.4.4) | 128 | 31 |
Para versões de Windows, Xbox e HoloLens anteriores, os limites de recursos a seguir se aplicam.
| Formato | Objetos estáticos máximos (leito de canal) | Máximo de objetos dinâmicos Xbox One |
Máximo de objetos dinâmicos Windows |
Máximo de objetos dinâmicos HoloLens 2 |
|---|---|---|---|---|
| Dolby Atmos para cinema em casa (HDMI) | 12 (7.1.4) | 20 | 20 | N/A |
| DTS:X para home theater (HDMI) | 17 (8.1.4.4) | 16 | 32 | N/A |
| Dolby Atmos (fones de ouvido) | 17 (8.1.4.4) | 16 | 16 | N/A |
| Dolby Atmos (alto-falantes internos) | 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 internos) | 17 (8.1.4.4) | N/A | 32 | N/A |
| Windows Sonic for Headphones | 17 (8.1.4.4) | 15 | 112 | 31 |
Os aplicativos também devem considerar as seguintes implicações de recursos:
- armazenamento/largura de banda de disco: o conteúdo linear pré-criado para 7.1.4 normalmente será maior do que o conteúdo linear 7.1 (embora codecs perceptivos geralmente aproveitem a correlação de canais para fazer com que isso seja muito menos do que os 50% a mais de canais reais de dados de áudio)
- Outros custos de processamento de sinal digital: alguns efeitos que eram anteriormente globais agora podem ser instanciados por objeto de som dinâmico. Além disso, alguns criadores de conteúdo podem desejar atualizar alguns efeitos DSP para dar suporte a canais adicionais ou usá-los exclusivamente.
Microsoft Som Espacial e Indicações de Espacialização de Som
Microsoft Som Espacial é focado na simulação de posicionamento de som em uma esfera idealizada em torno do ouvinte. Windows Sonic for Headphones, DTS Headphone:X e Dolby Atmos implementam mapeamento de alto-falante e virtualização para fones de ouvido, mas observe que muitos outros aspectos da simulação espacial de som, já normalmente implementados de maneiras habilitadas para criadores de conteúdo, são deixados para os mecanismos existentes. Os criadores de conteúdo continuam a usar as ferramentas e processos de jogos existentes que já tiveram para indicações espaciais como Doppler, atenuação e filtragem baseadas em distância, oclusão e obstrução e reverberação ambiental.
Recursos adicionais
- Repositório GitHub de exemplos de som espacial da Microsoft
- O Dolby oferece uma série de recursos de suporte relacionados ao Dolby Atmos e ao aplicativo Dolby Access, incluindo a Base de Dados de Conhecimento de Desenvolvimento de Aplicativos e o suporte do Dolby Access .
Interfaces de Áudio Espacial
| Interface | Descrição |
|---|---|
| ISpatialAudioClient | Permite que um cliente crie fluxos de áudio que emitem áudio de uma posição no espaço 3D. |
| ISpatialAudioObject | Representa um objeto que fornece dados de áudio a serem renderizados 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 responderem a alterações no estado de um ISpatialAudioObjectRenderStream. |
Nota
Ao usar as interfaces ISpatialAudioClient em um título do XDK (Kit de Desenvolvimento Xbox One), você deve primeiro chamar EnableSpatialAudio antes de chamar IMMDeviceEnumerator::EnumAudioEndpoints ou IMMDeviceEnumerator:: GetDefaultAudioEndpoint. A falha ao fazer isso resultará na devolução de um erro E_NOINTERFACE da chamada para ativar. EnableSpatialAudio só está disponível para títulos XDK e não precisa ser chamado para aplicativos Plataforma Universal do Windows em execução em Xbox One, nem para dispositivos não Xbox One.
Estruturas Espaciais de Som
| 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 |
|---|---|
| TipoDeObjetoDeÁudio | Especifica o tipo de ISpatialAudioObject. |