Tecnologia de áudio de Dreams
Engine de áudio de Dreams
Dreams contém algumas ferramentas poderosas para ajudar você a entender o desempenho de áudio das suas criações. A maioria dos criadores não precisa se importar, mas, para os que quiserem aproveitar a engine da melhor forma possível, elas podem ser úteis! Use as ferramentas para descobrir por que alguns dos seus sons estão sendo cortados, distorcidos ou tocando com atraso.
Primeiro, vamos conferir de perto a tecnologia da engine de áudio em Dreams. Sons em Dreams geralmente vêm dos trecos sonoros na sua cena. Quando um treco sonoro é ativado por uma lógica, ele cria uma ocorrência de si mesmo. É possível que um treco crie mais de uma ocorrência ao mesmo tempo se, por exemplo, for ativado mais uma vez antes que a primeira ocorrência termine de tocar.
Cada ocorrência de som pode, então, criar um número de vozes. Um efeito sonoro geralmente ativará uma ocorrência com uma voz - a voz é o que toca, de fato, do sample de áudio. Um trecho com um instrumento cria uma ocorrência de som, que criará diversas vozes; uma para cada nota no trecho. Veja um exemplo desse fluxo e o que pode ser incluído nessas unidades.
Além disso, Dreams usa uma engine granular, e cada voz toca o áudio em partículas individuais chamadas grãos. Eles são como os flocos usados na parte gráfica de Dreams!
O Analisador de Áudio
Esta ferramenta permite que você veja quantos desses recursos estão sendo usados pela sua criação num dado momento. Confira um vídeo útil sobre o analisador de áudio aqui.
Ative analisar áudio e jogue sua criação para a ferramenta coletar informações ao longo do empo, mostrando os números correspondentes enquanto você joga. Saia da ferramenta e você terá a visão geral da análise (ilustrada abaixo). Este relatório apresenta os dados da sua sessão de jogo em um gráfico, permitindo que você veja quais partes da sua criação são mais caras. Você pode conferir o gráfico a qualquer hora, e a imagem à direita do gráfico mostra o que está acontecendo no momento.
A estatística mais importante aqui é o custo de áudio. Esse é o custo combinado das vozes, ocorrências, granulações e de todos os efeitos, como reverbs, delays, compressores, etc. Quanto mais perto ele estiver do máximo, mais a engine começará a cortar vozes para evitar chegar a 100%. Geralmente, você receberá um aviso se isso acontecer. Se o custo atingir 100%, Dreams não emitirá o áudio corretamente, então fará de tudo para evitar isso.
Ocorrências e vozes têm limites que, depois de atingidos, podem impedir novos sons de ser tocados ou cortar os que estão sendo tocados. O limite de ocorrências é de 128. Para vozes, é um pouco mais complicado, mas colocamos o limite de 128 no gráfico também. Você poderia, teoricamente, ter mais vozes em execução, mas elas afetarão bastante o desempenho acima desse número, dependendo do sistema em que você estiver executando Dreams.
Quanto mais vozes e ocorrências estiverem sendo tocadas, maior será o custo de áudio. Ao olhar para o gráfico, deve ser fácil descobrir onde é preciso otimizar.
Observe que nem todas as vozes são iguais. A engine por granulação terá algumas vozes com mais sobreposições de grãos do que outras e, portanto, custarão mais. O custo em grãos é uma média desse custo de todos os sons que tocam na cena. A maioria das vozes tem um custo em grãos de 1x, mas pode aumentar se você tocar os trecos sonoros com os ajustes síntese granular e a aleatorização granular. Os diagramas abaixo ilustram exemplos de configurações de sobreposições de grãos caras e baratas.
Você pode determinar a sobreposição de grãos na página de síntese granular do menu de ajustes de um som. Esse ajuste também aparece na página de aleatorização granular, em que diversos outros deslizadores podem afetar o custo em grãos.
As vozes também podem se tornar mais caras se você ativar recursos de voz como oscilador, distorção, compressor de dinâmica, etc. Geralmente, as vozes mais baratas são efeitos sonoros simples, tocados sem muitos ajustes.
Como você pode usar estas informações para otimizar sua criação? O mais comum de se fazer é baixar o limite polifônico nos seus sons. Trata-se de um limite no número de vozes que podem ser criadas por um som. Se for feito do jeito certo, você não vai notar nenhuma diferença. Mais alguns exemplos de onde a redução polifônica pode ser útil:
- Um clipe musical que toca várias notas muito longas umas sobre as outras, como um piano ou um sintetizador com um envelope de repouso longo.
- Um som de explosão ou arma que se repete em rápida sucessão.
O Limite Polifônico normalmente é de 20, o que significa que a maioria dos sons podem tocar 20 ocorrências de si desnecessariamente, por exemplo, quando ativados repetidas vezes muito rapidamente.
Outra opção é observar sons que têm grandes sobreposições de grãos e reduzi-las, mas lembre-se que isso pode afetar o efeito legal dos sons que usam opções granulares.
Experimente ir até a página Efeitos Sonoros para desligar algumas ou todas elas, o que deve ajudar a baratear o custo da maioria desses sons.
Por fim, se nada mais ajudar, você pode vasculhar suas cenas em busca de sons que podem ser totalmente removidos, é claro.
Termômetro de Áudio e Prontidão de Som
Vamos falar sobre o termômetro de áudio! Mas, primeiro, vamos conferir a engine de novo.
O áudio de Dreams é tocado em samples, que são cortados em trechos. Samples são criações de suas gravações no microfone, e os trechos são o que você vê no Mapeador de Trechos de um som.
Há um limite para o número total de samples distintos (referidos como Sons Distintos no termômetro), e também temos um limite para a quantidade de memória que esses samples usam.
Por exemplo, você pode esgotar seus samples com um grande número de gravações bem pequenininhas ou esgotar a memória com algumas poucas gravações grandes. O outro limite é a quantidade de sons personalizados importados ou gravados. Algo importante de se entender e que motiva todo o sistema de áudio de Dreams:
Todos os conteúdos de áudio da MM, como instrumentos ou efeitos sonoros das coleções têm 0 de custo de download.
Dados de áudio geralmente são muito pesados no armazenamento e nos tempos de download. Por isso, a inclusão de um conjunto de samples padrão em Dreams é parte do segredo para o carregamento extremamente rápido das Criações da Comunidade. Sempre que usar conteúdos de áudio exportados por você ou outras pessoas, isso afetará o tempo de carregamento das criações, tornando, por exemplo, as transições entre fases mais longas. Isso é muito pior se você tiver samples de áudio importados, como músicas inteiras.
Por essa razão, sempre é muito melhor usar músicas criadas em Dreams pelos Instrumentos Mm ou variações deles - em muitos casos, a biblioteca de samples Mm é mais do que o suficiente para criar uma grande variedade de sons com efeitos embutidos. Para que suas criações sejam carregadas rapidamente, você deve, no mínimo, fazer cortes nas suas importações de áudio e reutilizá-las o máximo possível.
É importante entender que fazer cortes nos seus samples no Mapeador de Trechos de um som não reduz nenhum desses custos. Os samples em si não podem ser alterados depois de gravados, então busque sempre importá-los o mais próximo possível de como você quer usá-los. Se estiver importando um arquivo em Dreams que será um trecho de som, verifique se você já o editou para remover o máximo possível de silêncio e áudios desnecessários. Se ultrapassar qualquer um dos limites, você não poderá publicar ou salvar sua criação.
Confira um exemplo de dois sons e seus custos. O da esquerda usa dois trechos de dois samples diferentes. O da direita usa dois trechos de apenas um sample. O da direita é mais leve, mas poderia ficar ainda mais leve com cortes de partes não utilizadas antes da importação. O da esquerda desperdiça muito espaço! Nós da Mm preferimos criar efeitos sonoros e instrumentos com trechos cortados de um sample, para minimizar o custo geral.
Há um limite muito importante que sempre existiu, mas nem sempre foi exposto ou explicado. Chama-se prontidão de som.
Para que um som toque quando for ativado, os dados de áudio devem ser "carregados". Se os dados do áudio não estiverem prontos, haverá um atraso quando o som for ativado, o que é muito ruim no caso de músicas ou gravações de voz que devem tocar em sincronia com animações.
Por mais que adoremos áudio, se carregássemos cada trecho em cada som de antemão, não teríamos memória para todas as outras partes legais do jogo, então a engine busca compensar constantemente. Chamamos esse sistema de pinning - cada som tenta garantir que pelo menos um de seus trechos esteja pronto para tocar em qualquer momento. Isso ajuda, mas, se tiver muitos sons na sua criação tentando carregar diferentes áudios, você vai esgotar sua memória também, o que significa que os problemas com áudios atrasados podem aparecer de novo ocasionalmente.
Antigamente, isso ocorria silenciosamente em Dreams, mas agora você recebe um aviso, e também pode usar uma ferramenta especial para descobrir que sons estão problemáticos.
Para suas criações, principalmente aquelas feitas para outros jogadores carimbarem nas cenas deles, você sempre deve tentar minimizar o custo deste termômetro. Ninguém vai querer carimbar seu elemento e descobrir que as falas na cena têm atraso! Mas, se isso acontecer, também podem otimizar cortando outras coisas. Vamos ver como.
Primeiramente, no Modo Som existe um termômetro que aparece quando o custo da prontidão de som sobe. Adicionamos o menu mostrar/ocultar no Modo Som para você tornar o termômetro sempre visível. Ainda assim, você normalmente só vai ter que se preocupar com ele se chegar ao limite da prontidão de som. Se clicar nesse termômetro, você terá a opção mais detalhes, para conferir os 20 sons mais pesados na cena. Lembrando: apenas em termos de custo de prontidão de som!
Também está incluído um resumo por Canal de Som. Você pode selecionar qualquer entrada na lista para ir até o local do som na sua cena (talvez seja necessário vasculhar um microchip ou linha temporal). Você também vai ver um indicador azul piscante que mostra brevemente onde o som está.
Como você pode notar, alguns sons são duplicados na lista. Se quiser aliviar um pouco do peso da prontidão de som, mexa nas duplicatas, porque todas consomem memória.
O que pode ser feito em seguida é excluir os sons mais pesados ou fazer cortes neles no Mapeador de Trechos. Cortes não ajudam no custo de áudio, mas ajudam no custo de prontidão de som, porque o custo é de um trecho em vez de um sample inteiro. Confira um exemplo de dois sons que usam diferentes partes de um sample mais longo.
O custo vem da parte do sample que os dois trechos usam - as partes compartilhadas não serão contabilizadas duas vezes!
É muito comum que problemas de prontidão de som sejam causados por sons desnecessariamente longos. Veja um exemplo. Aqui tem um som ambiente de fundo - Dia na Floresta - que está usando 5,24% do limite, quase tanto quanto a música inteira, que também está nesta cena! Neste caso, ainda estamos longe de atingir o limite, mas, se precisássemos, poderíamos fazer cortes no som Dia na Floresta no Mapeador de Trechos.
Agora vamos a outra dica: áudios importados como músicas longas pré-gravadas logo gastam a cota de prontidão de som de forma ineficiente. Por isso, usar músicas feitas em Dream é sempre muito melhor para manter o áudio fluido.
Isso é tudo. Esperamos que tenha achado esses recursos úteis. É claro que existem casos particulares, ressalvas e pegadinhas para se tomar cuidado, como...
- Cada som só deixa um de seus trechos de prontidão (Mas! Veja abaixo!), então, quando houver mais de um, você talvez tenha que fuçar um pouquinho para descobrir qual é qual.
- Exceto instrumentos com mapeamento de fileira ligado! Eles deixam um trecho de prontidão para cada fileira no rolo de piano ocupado por notas. Por isso, eles podem ficar bem pesadinhos!
- Sons que usam quase as mesmas peças de um sample, mas que não são iguais a ele, terão um custo equivalente à porção do sample que usam, mesmo que seja compartilhada. Isso permite que você veja quanto é necessário ficar de prontidão. No entanto, como mencionado acima, partes de áudio compartilhadas não têm custo total contabilizado em dobro. Basicamente, os sons na lista se tornam entradas separadas quando são cortados de formas diferentes, mesmo que usem dados de áudio quase idênticos.
- Ainda não há como escolher qual trecho deve estar de prontidão, mas quem sabe no futuro?
O Guia do Usuário do Dreams é um trabalho em andamento. Vamos adicionar mais recursos de aprendizado e artigos com o tempo, então, fique de olho nas atualizações.