Barramentos de áudio

Introdução

O código de processamento de áudio do Godot foi escrito com jogos em mente, com o intuito de alcançar um equilíbrio favorável entre desempenho e qualidade de som.

O motor de áudio do Godot permite qualquer número de barramentos de áudio a serem criados e qualquer número de processadores de efeito podem ser adicionados a cada barramento. Apenas o hardware do dispositivo executando seu jogo irá limitar o número de barramentos e efeitos que podem ser usados antes que o desempenho comece a cair.

Escala decibel

A interface de som do Godot é designada para combinar com as expectativas dos profissionais de design de som. Para este fim, utiliza-se primariamente a escala decibel.

Para aqueles não familiarizados, pode-se explicar com alguns fatos:

  • A escala decibel (dB) é uma escala relativa. Ela representa a taxa de potência de som ao usar 20 vezes o logaritmo de base 10 da proporção (20 × log10(P/P0)).

  • Para cada 6 dB, a amplitude de som se duplica ou se divide pela metade. 12 dB representam um fator de 4, 18 dB um fator de 8, 20 dB um fator de 10, 40dB um fator de 100, etc.

  • Como a escala é logarítmica, um zero verdadeiro (sem áudio) não pode ser representado.

  • 0 dB é a amplitude máxima possível em um sistema de áudio digital. Este não é o limite humano, mas um limite do hardware de som. Áudio com amplitudes que são muito altas para serem representados corretamente criam uma distorção chamada clipping.

  • Para evitar clipping, sua mixagem de som deve ser organizada para que a saída do barramento mestre (mais detalhes depois) nunca exceda 0dB.

  • Para cada 6 dB abaixo do limite de 0 dB, a energia de som é cortada pela metade. Significa que o volume de som em -6 dB possui metade da intensidade de 0 dB. -12 dB possui metade da intensidade de -6 dB e assim por diante.

  • Ao trabalhar com decibels, um som é considerado inaudível entre -60 dB e -80 dB. Isso faz com que seu alcance de trabalho seja geralmente entre -60 dB e 0 dB.

Pode levar um pouco de tempo para pegar o jeito, porém é mais amigável no fim e permitirá que você se comunique melhor com profissionais de áudio.

Barramentos de áudio

Barramentos de áudio podem ser encontrados no painel inferior do editor do Godot:

../../_images/audio_buses1.png

Um barramento de áudio (também chamado de canal de áudio) pode ser considerado um lugar por onde o áudio é canalizado no caminho para a reprodução nos alto-falantes de um dispositivo. Dados de áudio podem ser modificados e redirecionados por um barramento de áudio. Um barramento de áudio possui um medidor VU (as barras que se iluminam quando o som é reproduzido) que indica a amplitude da passagem do sinal.

O barramento mais à esquerda é o barramento mestre. Este barramento gera o mix para seus alto-falantes então, como mencionado na seção Escala decibel acima, certifique-se de que seu nível de mixagem não chegue a 0 dB neste barramento. O resto dos barramentos de áudio podem ser flexivelmente encaminhados. Após modificar o som, eles o enviam para outro barramento à esquerda. O barramento destinatário pode ser especificado por cada um dos barramentos não-mestre. O encaminhamento sempre passa áudio de barramentos na direita para barramentos além para a esquerda. Isso evita ciclos de encaminhamento infinitos.

../../_images/audio_buses2.png

Na imagem acima, a saída do Bus 2 foi encaminhada para o barramento Master.

Reprodução de áudio através de um barramento

Para testar a passagem de áudio para um barramento, crie um nó AudioStreamPlayer, carregue um AudioStream e selecione um barramento de destino para reprodução:

../../_images/audio_buses3.png

Por fim, alterne a propriedade Playing para On e o som fluirá.

Ver também

Você também pode estar interessado em ler sobre Fluxos de áudio agora.

Adicionando efeitos

Barramentos de áudio podem conter todos os tipos de efeitos. Esses efeitos modificam o som de uma forma ou outra e são aplicados em ordem.

../../_images/audio_buses4.png

Experimente todos pare ter uma noção de como eles alteram o som. Aqui segue uma breve descrição dos efeitos disponíveis:

Amplificar

Amplificar altera a amplitude do sinal. Alguns cuidados precisam ser tomados. Definir o nível muito alto pode fazer o som clipar, o que geralmente é indesejável.

BandLimit e BandPass

Estes são filtros ressonantes que bloqueiam freqüências em torno do ponto Cutoff. O BandPass pode ser usado para simular som passando por uma linha telefônica antiga ou megafone. A modulação da freqüência do BandPass pode simular o som de um pedal de guitarra wah-wah, pense na guitarra no ponto Voodoo Child (Slight Return) de Jimi Hendrix.

Captura

O efeito Capture copia os quadros de áudio do barramento de áudio em que ele está em um buffer interno. Isso pode ser usado para capturar dados do microfone ou para transmitir áudio pela rede em tempo real.

Chorus

O efeito Chorus duplica o áudio recebido, atrasa ligeiramente o duplicado e usa um LFO para modular continuamente o tom do sinal duplicado antes de misturar o(s) sinal(is) duplicado(s) e o original juntos novamente. Isso cria um efeito cintilante e adiciona amplitude estéreo ao som.

Compressor

Um compressor de faixa dinâmica atenua automaticamente o nível do sinal de entrada quando sua amplitude excede um certo limite. O nível de atenuação aplicado é proporcional a quanto o áudio de entrada excede o limite. O parâmetro Ratio do compressor controla o grau de atenuação. Um dos principais usos de um compressor é reduzir a faixa dinâmica de sinais com partes muito altas e silenciosas. A redução da faixa dinâmica de um sinal pode facilitar a mixagem.

O compressor tem muitos usos. Por exemplo:

  • Pode ser usado no barramento Master para comprimir toda a saída.

  • Ele pode ser usado em canais de voz para garantir que soem o mais uniformes possível.

  • Pode ser encadeado. Isso significa que ele pode reduzir o nível de som de um sinal usando o nível de outro barramento de áudio para detecção de limite. Essa técnica é muito comum na mixagem de videogames para abaixar o nível de música ou efeitos sonoros quando as vozes precisam ser ouvidas.

  • Ele pode acentuar os transientes usando um ataque mais lento. Isso pode tornar os efeitos sonoros mais impactantes.

Nota

If your goal is to prevent a signal from exceeding a given amplitude altogether, rather than to reduce the dynamic range of the signal, a limiter is likely a better choice than a compressor.

Delay

Adds an "echo" effect with a feedback loop. It can be used together with Reverb to simulate wide rooms, canyons, etc. where sound bounces are far apart.

Distortion

Makes the sound distorted. Godot offers several types of distortion: overdrive, tan and bit crushing. Distortion can be used to simulate sound coming through a low-quality speaker or device.

EQ

EQ is what all other equalizers inherit from. It can be extended with with Custom scripts to create an equalizer with a custom number of bands.

EQ6, EQ10, EQ21

Godot provides three equalizers with different numbers of bands. An equalizer on the Master bus can be useful to cut frequencies that the device's speakers can't reproduce well (e.g. a mobile phone's speakers won't reproduce bass content well). The equalizer effect can be disabled when headphones are plugged in.

Filtro

Filter is what all other filters inherit from and should not be used directly.

HighPassFilter

Cuts frequencies below a specific Cutoff frequency. HighPassFilter is used to reduce the bass content of a signal.

HighShelfFilter

Reduces all frequencies above a specific Cutoff frequency.

Limiter

A limiter is similar to a compressor, but it's less flexible and designed to prevent a signal's amplitude exceeding a given dB threshold. Adding a limiter to the Master bus is a safeguard against clipping.

LowPassFilter (Filtro LowPass)

Cuts frequencies above a specific Cutoff frequency and can also resonate (boost frequencies close to the Cutoff frequency). Low pass filters can be used to simulate "muffled" sound. For instance, underwater sounds, sounds blocked by walls, or distant sounds.

LowShelfFilter (Filtro de Prateleira Baixa)

Reduces all frequencies below a specific Cutoff frequency.

NotchFilter

The opposite of the BandPassFilter, it removes a band of sound from the frequency spectrum at a given Cutoff frequency.

Panner

The Panner allows the stereo balance of a signal to be adjusted between the left and right channels (wear headphones to audition this effect).

Phaser

It probably does not make much sense to explain that this effect is formed by two signals being dephased and cancelling each other out. You can make a Darth Vader voice with it, or jet-like sounds.

PitchShift

This effect allows the adjustment of the signal's pitch independently of its speed. All frequencies can be increased/decreased with minimal effect on transients. PitchShift can be useful to create unusually high or deep voices.

Gravação

The Record effect allows the user to record sound from a microphone.

Reverberação

Reverb simulates rooms of different sizes. It has adjustable parameters that can be tweaked to obtain the sound of a specific room. Reverb is commonly outputted from Areas (see Reverb buses), or to apply a "chamber" feel to all sounds.

Analisador de espectro (SpectrumAnalyzer)

This effect doesn't alter audio, instead, you add this effect to buses you want a spectrum analysis of. This would typically be used for audio visualization. A demo project using this can be found here.

StereoEnhance

This effect uses a few algorithms to enhance a signal's stereo spectrum.

Desativando barramentos automaticamente

Não há necessidade de desabilitar barramentos manualmente quando não estiverem em uso. O Godot detecta que o barramento ficou silencioso por alguns segundos e o desativa (incluindo todos os efeitos).

../../_images/audio_buses5.png

Barramentos desativados têm um medidor VU azul ao invés de um vermelho-verde.

Reorganizando barramentos

Stream Players usam nomes de barramento para identificar um barramento, o que permite adicionar, remover e mover barramentos enquanto a referência a eles é mantida. No entanto, se um barramento for renomeado, a referência será perdida e o áudio do Stream Player será enviado para o Master. Este sistema foi escolhido porque reorganizar os barramentos é um processo mais comum do que renomeá-los.

Layout de barramento padrão

O layout de barramento padrão é salvo automaticamente no arquivo res://default_bus_layout.tres. Layouts de barramento personalizados podem ser salvos e carregados do disco.