versão portuguesa english version











Introdução
O Projeto AUDIENCE

Sonorizando com o AUDIENCE

 

Produção Científica e Tecnológica

Chamadas de Trabalho e Oportunidades

Equipe, Colaboradores, Apoio, Parceiros Projetos e Grupos Associados

Contatos

O Sistema AUDIENCE de Auralização

O AUDIENCE para RV é um sistema integrado de software e hardware, constando de uma máquina de auralização em software e uma matriz de distribuição multicanal e caixas acústicas.

A figura abaixo mostra um diagrama de blocos funcional, explicitando as principais tarefas e componentes envolvidos em um processo de auralização de cenas audiovisuais virtuais.

Cenário de tarefas e principais componentes de um sistema de auralização

No nível mais alto da hierarquia uma aplicação detém o controle do sistema de auralização, que é seu cliente. No nível imediatamente abaixo temos a função de navegação (que controla a geração da cena audiovisual para cada posição do usuário no mundo virtual), a estrutura de dados descritiva da cena audiovisual, e um sistema de atualização de dados dinâmico, que faz a interface com o usuário ou outro módulo automático que esteja atualizando os objetos da cena dinamicamente.

O módulo auralizador é responsável pela geração da parte sonora da cena audiovisual. Ele será construído com componentes funcionais operando em cada camada funcional definida na arquitetura AUDIENCE.

Um módulo é responsável pelo sincronismo, para que a auralização funcione integrada à navegação visual. Um módulo calibrador permite calibrar níveis de intensidade de referência e o "setup" de hardware e software do auralizador. Finalmente, a camada de reprodução do auralizador fará tocar os sons finais utilizando o tocador ("player") disponível no sistema. Na camada mais baixa indicamos o sistema de computação utilizado (computer hardware) e o hardware de áudio (as placas de som).

Diagrama de Blocos Geral do Sistema

Para que as aplicações de realidade virtual possam sonorizar utilizando uma das técnicas de auralização desenvolvemos e investigamos alguns mecanismos de passagem de mensagens através de protocolos de comunicação para permitir o controle da síntese sonora a partir do aplicativo de realidade virtual. Uma proposta em consideração faz uso de canais assíncronos para transmissão de comandos e/ou atualizações de dados (parâmetros físicos) dos objetos presentes na cena acústica para os processos que estejam controlando a síntese e a auralização da cena acústica.

A usabilidade e o controle da navegação audiovisual integrada são questões fundamentais para aplicações de realidade virtual imersiva completa, onde itens como sincronização, compartilhamento de recursos de descrição de cena, alocação de carga computacional, e o projeto da interatividade são vitais e mesmo críticos para se obter o efeito final desejado. Estes requisitos de controle e gerenciamento são necessários e estão previstos na concepção de sistemas avançados.

Abaixo mostramos o diagrama de blocos de referência para a implementação de um auralizador Ambisonics integrado a uma aplicação de RV. Um diagrama de blocos de um auralizador é mostrado, integrado a uma aplicação de controle (no caso, uma aplicação de realidade virtual, que pode ser por exemplo um jogo).

Diagrama de blocos de uma máquina de auralização para RV

Descrição dos blocos

  • Aplicativo de RV: O aplicativo de RV permite um usuário abrir uma cena audiovisual virtual numa dada plataforma de RV e navegar e interagir neste ambiente. É uma combinação de softwares contendo um navegador 3D e um sistema de descrição e setup da cena audiovisual (que é por exemplo descrita utilizando-se X3D), além da interface através da qual o usuário irá interagir. Esta passagem de dados compondo a cena auditiva consiste em funções da camada funcional 1 de descrição/composição de cena.
  • A aplicação comanda uma máquina de visualização e outra de auralização. Diretivas de comunicação inter-processos e sincronização audiovisual entre ambas devem ser garantidas pelo sistema global para a unicidade da experiência. Um bloco de “parser” extrai os dados de cena de interesse para a máquina de auralização e os envia (por mecanismos de passagem de dados) para o simulador acústico, responsável pelas funções da camada funcional 2.
  • Os sons dos objetos sonoros ou fontes sonoras da cena são buscados de um banco de dados (wavetables) ou gerados por síntese sonora (wavetable e/ou sintetizadores)
  • Na máquina de auralização ocorre o modelamento e renderização da cena acústica. Para tanto utiliza-se um modelo acústico de ambiente, isto é, uma técnica para renderizar a propagação acústica dos sons no ambiente. Esta é uma função da camada funcional 2 para a geração dos campos sonoros ouvidos na cena. Dependendo do tamanho da cena ou da estratégia de divisão de cena para auralização distribuída, várias intâncias da máquina de auralização são executadas, por exemplo sendo cada uma responsável pela auralização de uma fonte sonora individual.
  • Os campos sonoros obtidos são codificados em algum formato espacial adequado, como o B-Format (formato nativo do Ambisonics) para transmissão até o sistema reprodutor ou tocador.
  • A espacialização ou auralização começa no processo de codificação em formato 3D, e termina com a geração dos sinais de cada alto-falante que será utilizado.
  • A decodificação consiste no cálculo de saídas para a matriz de alto-falantes. Uma etapa de mistura (mixagem) dos campos provenientes de cada fonte sonora irradiante pode ser necessária antes da decodificação (caso do B-Format) ou após.
  • A reprodução consiste finalmente na amplificação e distribuição dos canais de áudio independentes pelos transdutores de saída, os alto-falantes, dispostos em alguma configuração de saída que determina o número de alto-falantes e seus posicionamentos ao redor da área final de audição. Um sistema auxiliar para calibrar os alto-falantes, intensidades e equalizar os canais de saída é desejável para altos níveis de realismo.

Utilizamos como plataforma de programação e para controle de síntese e sonificação na presente implementação (fase III) o PD (Pure Data, de Miller Puckette), e como formato de descrição de cenal o X3D (do Web3D). Outra ferramentas de programação e de descrição de cenas adequadas à prototipação de setups e patches em tempo real seria o MAX/MSP e o formato MPEG-4 Audio BIFS.

Descrição de Software

Uma máquina de auralização segundo a arquitetura AUDIENCE é um software modular, contemplando 4 camadas ou agrupamentos principais de funcionalidades ortogonais entre si. Cada camada executa separadamente tarefas distintas das outras e contém sua própria estrutura de gerenciamento. As camadas têm uma interface de comunicação que permite que as saídas de umas sejam entradas para as outras. Desta forma, o funcionamento da máquina como um todo é similar a um pipeline, e sua construção pode ser orientada na forma de integração de “plugins” de software.

As atuais máquinas de auralização AUDIENCE têm sido construídas sobre a plataforma de programação visual e processamento de sinais PD (Pure Data), na forma de patches de blocos funcionais. A plataforma PD oferece diversas vantagens para servir de base nesta fase, em função principalmente de sua flexibilidade, orientação a blocos funcionais interconectáveis (patches), e a facilidades de operação em tempo real.

A figura abaixo mostra a realização de um setup de auralização construído com blocos funcionais na plataforma PD.

Blocos funcionais de um auralizador construído no PD

A figura mostra os blocos utilizados para auralizar uma cena com 3 instrumentos musicais utilizando os blocos de software do sistema AUDIENCE no PD.

Os parâmetros acústicos da sala (ex: coeficientes de absorção das paredes, dados da camada 1) são informados nos blocos de entrada (acima, à esquerda). Neste exemplo, sliders foram adicionados como interface de usuário para alteração/atualização da posição dos instrumentos e do ouvinte na cena (dados da camada 1). O bloco “sceneparser” acima agrega e transmite todos os dados da camada 1 para os blocos funcionais da camada 2 logo abaixo.

A camada 2 é representada pelo bloco “acousticsim” (simulador acústico) que calcula os caminhos acústicos do som para cada fonte sonora (um para cada instrumento). A saída deste bloco gera respostas impulsivas (IR’s) válidas para a posição do ouvinte.

O bloco “spatialcoder” na camada abaixo recebe os sinais da camada 2 e os sons anecóicos (ex: arquivos de som WAVE das fontes sonoras) para então gerar uma representação espacial dos sons ouvidos na cena (por exemplo em B-Format).

Os blocos abaixo do “spatialcoder” perfazem as funções da camada 4 (mistura, decodificação e reprodução).

Além dos patches, alguns blocos especiais que implementam funções específicas (como por exemplo técnicas de simulação acústica baseada na propagação de raios) são desenvolvidos em linguagem C e incorporados ao conjunto de funções do AUDIENCE no PD. Isso garante uma maior liberdade na implementação de funções especializadas. O conjunto de funções do AUDIENCE e seu inter-relacionamento para a modelagem de inúmeros casos de uso é realizado utilizando-se UML.

Descrição de Hardware

O hardware do sistema AUDIENCE para RV Imersiva possui basicamente:

(1) um ou mais processadores (ex: nós PC de um "cluster")

(2) uma ou mais placas ou dispositivos de som multicanais,

(3) um sistema de distribuição dos canais de áudio, e

(4) um conjunto de caixas acústicas, dispostas numa configuração geométrica específica.

Hardware para visualização e sonorização com o AUDIENCE na Caverna Digital

Vários modos e/ou configurações de saída de áudio são possíveis com o AUDIENCE. Nas pesquisas realizadas temos priorizado o uso de configurações multicanais em que os alto-falantes são posicionados ao redor da área de audição numa geometria (regular) específica, como em anéis octaédricos, cubos (8 alto-falantes, um em cada vértice) e até dodecaedros. Temos também implementado transcodificadores para matrizes 5.1 (planas), formato utilizado nos populares sistemas multicanais “home-theaters”.

A figura abaixo mostra uma montagem de um anel octaédrico. As configurações regulares apresentam melhor desempenho acústico, uniformidade na recriação do campo sonoro e menor custo computacional para calcular as saídas.

Montagem octofônica de alto-falantes

 

Anterior Índice Próximo

 

 
  Laboratório de Sistemas IntegráveisEscola Politécnica