Skip to content

camelo003/showroomAudioInterface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

showroomAudioInterface

Pequeno guia de como imprementar essa interface de áudio ao software que vai rodar durante a experiência do shoowroom.

Basicamente, teremos um programa rodando em paralelo à Unity que deve disparar os arquivos de áudios com as falas do personagem enquanto ajusta o volume de cada uma das caixas satélites baseado na posição do personagem na tela.

Passo-a-passo pra implementação.

  1. O software que será a interface de áudio é uma aplicação desenvolvida em Pure Data (essa solução normalmente é chamada de patch). O puredata é um programa para síntese, análise e manipulação de som em tempo real, ou seja, não há diferença no seu funcionamente entre estar desenvolvendo e estar executando. O primeiro passo então é baixar o Pure Data que é open source e pode ser baixado para várias platamosmas nesse link aqui.

  2. Antes mesmo de abrirmos o patch que será a interface de áudio é preciso fazer algumas configurações. São duas:

    • Garantir que a checkbox DSP esteja ligada;
    • Abrir as opções 'Audio Settings' (Media > Audio Settings) e no campo Sample rate: colocar o valor 48000. Isso porque os arquivos foram fechados nesse taxa de amostragem. IMPORTANTE! Nessa jenela é preciso apertar o botão Save All Settings. Isso garante que da próxima ves que o Pure Data for aberto ele mantenha essa configuração.

image01

image02

  1. O patch criado apresenta duas alternativas para distribuição de áudio. Uma delas necessita da instalação de dois externals: zexy e else. Para isso é preciso ir na opção 'Procurar por externals'(Ajuda > Procurar por externals), realizar a busca por ambos e instalar as versões mais recentes.

image04

image05

image06

Após a instalação de ambos os externals, é recomendável adicionar ambos à inicialização do Pure Data na opção 'Inicialização'(Arquivo > Preferências > Inicialização). Deve-se adicionar um external por vez, aplicar as alterações, e reiniciar o Pure Data antes de abrir o arquivo do showroom.

image07

image08

  1. Agora basta abrir o arquivo "showroomAudioInterface.pd" no Pure Data, o que pode ser feito em File > Open. IMPORTANTE! É necessário que no mesmo arquivo do patch estaja a pasta 'audios' com todos os arquivos .wav dentro. E é isso! Essa janela já é patch funcional, pronto para receber comandos e controlar volume da saída de som nas caixas. No Pure Data a programação é feita criando objetos (que são essas caixinhas) e controlando o fluxo com conexões (que são essas linhas). Parece confuso, mas não será necessário mexer em nada aqui!

image03

Esse programa fica constantemente "escutando" mensagens osc de 3 portas, cada uma com um propósito:

  • Porta 9990, recebe comandos de reproduzir e interromper os áudios com as falas;
  • Porta 9992, recebe a posição do personagem durante a experiência;
  • Porta 9994, recebe informações para calibragem, isso é, informar ao programa onde as caixas de som estão posicionadas.

Adicionalmente o programa ainda manda um feedback assim que termina a execução de um arquivo:

  • Porta 9991, envia avisos quando encerra a execução de algum arquivo.

Aqui um detalhamento de como interagir em cada uma dessas portas:

Porta 9990

Nessa porta espera-se receber comandos para tocar os áudios. Os comandos possíveis são /sr_17/play para tocar um arquivo e /sr_17/stop para se interromper a reprodução. Nesse mesmo canal ainda é possível enviar o comando /stop_all para se interromper qualquer áudio que estiver rodando. Atente que nesse caso o trecho _"17" atua especificamente no arquivo de áudio "SHOWROOM_17.wav". É possível saber o código específico de cada arquivo de áudio na tabela a seguir:

Arquivo Comando OSC Início da fala
SHOWROOM_17.wav /sr_17 "Oi de novo! Fica muito mais legal..."
SHOWROOM_18.wav /sr_18 "Sabia que ali no fundo tem até um estúdio de som?"
SHOWROOM_18_2.wav /sr_18_2 "Sabia que ali no fundo a gente vai ter um estúdio de som?"
SHOWROOM_20.wav /sr_20 "Ah! E você sabia que uma das maiores..."
SHOWROOM_21.wav /sr_21 "Na tela do meio, a gente tem o log e as transcrições..."
SHOWROOM_22.wav /sr_22 "E ali na última tela tá a jornada que você tá percorrendo..."
SHOWROOM_23.wav /sr_23 "Agora, deixa eu te contar um pouco mais sobre mim."
SHOWROOM_24.wav /sr_24 "Me mostra o que você tá a fim de conhecer agora..."
SHOWROOM_25.wav /sr_25 "Hummmm....não entendi."
SHOWROOM_26.wav /sr_26 "O bot? Boa escolha!"
SHOWROOM_27.wav /sr_27 "O OWI? Legal! Você vai adorar conhecer a Duda."
SHOWROOM_28.wav /sr_28 "Poxa, eu queria mesmo te mostrar esse outro canal."
SHOWROOM_29.wav /sr_29 "Legal! Vou te mandar uma mensagem de novo."
SHOWROOM_30.wav /sr_30 "Hum....pelo jeito não vai dar..."
SHOWROOM_31.wav /sr_31 "Fiquei muito feliz de passar..."
SHOWROOM_31_2.wav /sr_31_2 "Fiquei muito feliz de passar..."
SHOWROOM_31_3.wav /sr_31_3 "Fiquei muito feliz de passar..."
SHOWROOM_32.wav /sr_32 "Ô, Duda, representa a gente direitinho, ok?"
SHOWROOM_33.wav /sr_33 "Deixa comigo, Duda!"
SHOWROOM_34.wav /sr_34 "Pra terminar, vou te contar uma ótima notícia."

Porta 9992

Essa porta deve receber constantemente a posição relativa do personagem, ou seja, deve ser atualizada dentro do loop da aplicação. Essa coordenada deve estar mapeada no espectro entre -100 e 100, onde -100 é a posição mais a esquerda em que o personagem pode aparecer na tela e 100 é a mais a direita.

O envio deser ser feito atravez do comando /charPos/xx, onde ao invés de 'xx' deve haver o numero da posição do personagem mapeada.

Porta 9994

A configuração inicial desse patch considera as caixas satélites dispostas de forma equidistante onde a primeira está alinhada com o canto esquerdo da tela e a última, o canto direito. Mas caso as caixas estejam dispostas de outra forma, ou de maneira irregular, é possivel "calibrar" a posição das caixas.

Para isso foi feita a aplicação calibrar.exe onde o código fonte e arquivo executável se encontram na pasta p5Calibrar. Com esse programinha rodando é só seguir as instruções exibidas na tela.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published