propagação de som em ambientes acústicos virtuais...

46
Propagação de Som em Ambientes Acústicos Virtuais Bidimensionais Sérgio Alvares R. de S. Maffra Orientadores: Marcelo Gattass Luiz Henrique de Figueiredo

Upload: others

Post on 01-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Propagação de Som em Ambientes Acústicos Virtuais

Bidimensionais

Sérgio Alvares R. de S. Maffra

Orientadores: Marcelo Gattass Luiz Henrique de Figueiredo

Page 2: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Roteiro

Introdução Modelando a Propagação do Som Trabalhos relacionados Trabalho desenvolvido Implementação Exemplos Conclusões Trabalhos futuros Demonstração

Page 3: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Introdução

Simulação de Fenômenos Acústicos– Projeto e Análise

Salas de concerto Auditórios

– Ambientes de Realidade Virtual Localização de objetos Separação de eventos sonoros simultâneosMaior compreensão espacial do ambiente

Page 4: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Modelando a Propagação do Som

Métodos Numéricos– Alto custo computacional

Elementos Finitos Elementos de Contorno

Simplificação– Acústica Geométrica

Onda tratada como um raio

Page 5: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Modelando a Propagação do Som

Objetivo: Calcular a resposta do ambiente ao impulso

Page 6: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Resposta do Ambiente ao Impulso (RI) Registro das atenuações e atrasos sofridos pela onda

– Convolução

Dividida em– Reverberações iniciais

Primeiros 80 ms da RI Tratadas geometricamente

– Reverberações finais Algoritmos de reverberação

– Filtros recursivos (IIR Filters)

Page 7: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Modelando a Propagação do Som

Técnicas de Enumeração– Enumeração por tipos de caminho– Método das fontes virtuais

Técnicas de Varredura– Ray Tracing– Beam Tracing

Page 8: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Modelando a Propagação do Som Técnicas de Enumeração

– Não reaproveitam caminhos de propagação

– Geram caminhos inválidos Não consideram visibilidade

– Trabalham com todos os oclusores do ambiente Complexidade depende do tamanho do ambiente! O(nr)

– Método das fontes virtuais Tem apenas reflexão especular

Page 9: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Modelando a Propagação do Som

Técnicas de Varredura– Permitem reaproveitar caminhos de propagação

Apenas quando o receptor se move

– Não geram caminhos inválidos Consideram visibilidade

– Ambiente pré-processado Limita o número de oclusores a considerar

Page 10: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Ray Tracing

Fenômenos– Reflexão especular– Difração– Refração

Superfícies curvas

Problemas– Aliasing

Page 11: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Sem Aliasing– Trabalha com regiões (fachos) ao invés de raios– Um facho pode representar infinitos raios!

Operações geométricas mais complexas– Ambientes definidos por polígonos

Depende de uma decomposição do ambiente em células convexas

Implementação para fontes móveis na literatura

Page 12: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing – Trabalhos relacionados

Funkhouser et. al – Siggraph 1998 A beam tracing approach to acoustic modeling for interactive virtual

environments

– Fontes fixas Fachos criados em uma etapa de pré-processamento

– Apenas reflexão especular

– Decomposição celular Feita com um particionamento recursivo (árvore BSP) Estrutura de grafo p/ percorrer as células

– Conclusão Fontes móveis aumentar desempenho em duas ordens de

grandeza

Page 13: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing – Trabalhos relacionados

Funkhouser et. al – Siggraph 1999 Real-time acoustic modeling for distributed virtual environments

– Aumento de performance de 2 ordens de grandeza Beam tracing amortizado Beam tracing bidirecional Priority driven beam tracing

– Servidor dedicado p/ traçamento de fachos

Page 14: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing – Trabalhos relacionados

Min, Funkhouser – Eurographics 2000 Priority-driven acoustic modeling for virtual environments

– Teste de diferentes funções de prioridade Busca traçar caminhos de propagação mais significativos

acusticamente

– Melhor função: TPL + RPL

– TPL: traversed path length– RPL: remaining path length

Page 15: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing – Trabalhos relacionados

Tsingos, Funkhouser – Siggraph 2001 Modeling acoustics in virtual environments using the uniform theory of diffraction

Fachos– Reflexão especular– Difração

Fontes Fixas

Decomposição celular– Particionamento recursivo (árvores BSP)– Estrutura topológica completa (non-manifold)

Page 16: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing – Trabalhos relacionados

Siggraph 2002 (julho) Funkhouser (Princeton) Jot (Creative Labs) Tsingos (INRIA, Bell Labs)

– Course Notes Sounds Good to me!

Page 17: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

VAE – Virtual Acoustic Environment(trabalho desenvolvido)

Ambientes 2D

Decomposição celular– Particionamento recursivo – Simplificação de triangulações com restrições– Estrutura topológica (half-edge)

Beam tracing p/ fontes fixas

Fachos– Reflexão– Difração (cálculo de atenuação aproximado)

Controle no traçamento dos fachos– Número máximo de fachos– Número máximo de reflexões e difrações nos caminhos de propagação

Page 18: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

VAE – Virtual Acoustic Environment(trabalho desenvolvido)

Reprodução de áudio via DirectX– Caminhos calculados geometricamente geram fontes virtuais– Ainda não incorpora algoritmos de reverberação

Implementação– C++– IUP, Lua, CD, Iuplua, XY– CGAL (estrutura topológica de mapas planares)

Acesso eficiente a células

Page 19: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Difração

Cálculo da Atenuação– Uniform geometrical theory of diffraction (UTD)– Directive line source method (DLSM)

Page 20: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Difração

Aproximação

Page 21: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Fachos

Etapas do algoritmo (fontes fixas)

Pré-processamento do ambiente– Decomposição celular

Traçadores (beam tracers)

Cálculo de atenuação

Page 22: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Fachos– Operações

Pertinência Detecção de interseção com

oclusores Interseção com oclusores

– Representação 2 matrizes de transformação Xp, Ypi, Ypf

Page 23: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Fachos– Operação de Pertinência

Page 24: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Fachos– Detecção de interseção com oclusores

Page 25: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Fachos– Interseção com oclusores

Page 26: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Object-space algorithm– Os oclusores do ambiente determinam o formato dos fachos

Associação entre fachos e células– Fachos delimitam regiões infinitas– Células determinam a região do facho que é válida

Page 27: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Duas etapas– Pré-processamento (traçado de fachos)

Criar uma beam tree

– Em tempo de execução Construção dos caminhos de propagação

Page 28: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Beam Tracing

Construção de caminhos de propagação– Percorrendo a beam tree

Page 29: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Decomposição em células convexas– Acelera determinações de visibilidade

Page 30: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Criação da decomposição– Particionamento recursivo– Simplificação de triangulações com restrições

Vértices e Arestas Vértices, Arestas e Faces

Page 31: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Particionamento recursivo

Page 32: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Particionamento recursivo– Algoritmo

Inserir arestas do fecho convexo

Agrupar oclusores colineares

Preencher lacunas entre oclusores

Realizar o particionamento

Enumerar ciclos

Page 33: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Particionamento Recursivo– Problemas

Aumento do número de arestas e vértices

Page 34: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Simplificação de triangulações com restrições

– Triangulações são decomposições celulares

– Número linear de células Não aumenta número de vértices Não divide oclusores

– Arestas podem ser removidas eficientemente Critério local

– Remover arestas em ordem crescente de comprimento– Remover arestas em ordem decrescente de comprimento

Page 35: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Pré-processamento do ambiente

Simplificação de triangulações com restrições

Triangulação Remoção em ordem crescente

Remoção em ordem decrescente

Page 36: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Traçadores de fachos

Construção de beam trees

Traçador mais simples– Número máximo de fachos

Cria os diferentes tipos de fachos– Transmissão– Reflexão– Difração

BFS_BeamTracer(Real x, Real y, Int numFachos){

fachoInicial = Cria_Fonte_Pontual(x, y)célulaInicial = Localiza_Célula(x, y)

Associa_Célula(fachoInicial, célulaInicial)

Fila FInsere_Fim(F, fachoInicial)

n = 0

while (Fila_não_Vazia(F) e n < numFachos){

facho = Remove_Primeiro(F)célula = Recupera_Célula(facho)

for i = 0 to Número_de_Arestas(célula){

aresta = Recupera_Aresta(célula, i)

if Interação_Válida(facho, aresta){

...}

} }

}

Page 37: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Traçadores de fachos

Fachos de transmissão

if Ocorre_Transmissão(facho, aresta) {

novoFacho = Cria_Facho_Transmissão(facho, aresta)

novaCélula = Recupera_Célula_Vizinha(célula, aresta)

Associa_Célula(novoFacho, novaCélula)

Valida_Interação_Transmissão(novoFacho, aresta)

Insere_Fim(F, novoFacho)

n = n + 1}

Page 38: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Traçadores de fachos

Fachos de reflexão

if Ocorre_Reflexão(facho, aresta) {

novoFacho = Cria_Facho_Reflexão(facho, aresta)

Associa_Célula(novoFacho, célula)

Valida_Interação_Reflexão(novoFacho, aresta)

Insere_Fim(F, novoFacho)

n = n + 1}

Page 39: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Traçadores de fachos

Fachos de difração

Há região de sombra Não há região de sombra

if Ocorre_Difração(facho, aresta) {

novoFacho = Cria_Facho_Difração(facho, aresta)

Associa_Células_Cobertas_por_Difração(novoFacho)

Valida_Interação_Difração(novoFacho)

Insere_Fim(F, novoFacho)

n = n + 1}

Page 40: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Cálculo de atenuação

Atraso do som

Amplitude de pressão final

Page 41: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Reprodução de áudio

Fontes virtuais criadas utilizando DirectX– 200 pulsos com maior amplitude de pressão

Posição das fontes virtuais– Ângulo de incidência no receptor– Distância igual ao comprimento do caminho de propagação– Volume correspondente às perdas decorrentes em reflexões e

difrações

Page 42: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Exemplos

Difração aumenta a cobertura por fachos

Page 43: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Exemplos

Difração aumenta a cobertura por fachos

Intensidade sem difração Intensidade com difração

Page 44: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Exemplos

Difração resulta em um campo sonoro mais suave

Amplitude da frente de onda Intensidade sem difração Intensidade com difração

Page 45: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Conclusões

Bom entendimento do problema

Desempenho– Reverberações iniciais em tempo real– Fontes móveis provavelmente podem ser tratadas sem um servidor dedicado

Difração– Acelera crescimento do número de fachos– Maior cobertura do ambiente– Permite criar um campo sonoro mais suave

Valida qualitativamente nossa aproximação

Decomposição celular– Simplificação de triangulações parece ser uma técnica promissora

Programa pode ser útil para análises acústicas se calibrado

Page 46: Propagação de Som em Ambientes Acústicos Virtuais ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/2003...– Teste de diferentes funções de prioridade Busca traçar caminhos

Trabalhos Futuros

Diferentes tipos de materiais para oclusores

Atenuação com cálculos mais rigorosos fisicamente– UTD, DLSM

Comparar aproximação da difração com outras soluções

Transmissão do som através de paredes

Fontes móveis– Levar em consideração posição do receptor

Decomposição celular– Comparar particionamento recursivo com a simplificação de triangulações– Fazer a simplificação de “triangulações” 3D

Traçar fachos em ambientes 2.5D ou 3D