Voltar para o Blog
Quest Log

Bfxr: Criar Efeitos Sonoros Retro de Graça para Jogos

Tela do gerador Bfxr com forma de onda retro 8-bit e botões de pulo, moeda e explosão

Crie efeitos sonoros retro de pulo, moeda, tiro e explosão de graça com o Bfxr, sem gravar nem saber de áudio, e toque na Godot 4 com GDScript tipado.

Ferramenta:Bfxr

Fazer o som de um jogo 2D no começo parece um beco sem saída: você não tem microfone decente, não sabe mexer em DAW e não quer pisar numa licença errada baixando arquivo de banco. O Bfxr resolve esse nó. Ele é um gerador gratuito de efeitos sonoros retro, no estilo 8-bit e 16-bit, que cria pulo, moeda, tiro, dano e explosão em segundos, sem você gravar nada nem saber uma linha de teoria de áudio. Você clica num botão, a ferramenta sorteia um som, você ajusta até gostar e exporta um WAV pronto para a engine. Custo zero e o som é seu.

A graça do Bfxr é que ele não trabalha com gravação, e sim com síntese. Em vez de capturar um som do mundo real, ele gera a forma de onda do zero a partir de parâmetros numéricos: que tipo de onda usar, em que frequência, quanto tempo o som dura, como ele decai. É exatamente assim que os consoles antigos faziam som, e é por isso que o resultado soa naturalmente retro. Você não está imitando um efeito 8-bit, você está produzindo um de verdade, pelo mesmo caminho.

Por que o Bfxr resolve os efeitos sonoros do seu jogo 2D

No início de um projeto, o áudio quase sempre é a última coisa que recebe atenção, e aí vira buraco. O programador foca na mecânica, o artista no visual, e o jogo fica mudo até o fim. O problema é que silêncio tira muito do feedback que o jogador precisa: sem um som no pulo, o salto parece flutuar; sem um som na moeda, coletar não dá a recompensinha que fisga. O Bfxr tapa esse buraco cedo, com esforço mínimo, e já deixa o protótipo com vida.

Ele também te livra de duas dores clássicas do indie sem orçamento. A primeira é a de licença: como o som é sintetizado na hora, você não precisa creditar ninguém nem torcer para o arquivo ser CC0. A segunda é a de ferramenta: não tem curva de aprendizado de DAW, não tem plugin para configurar, não tem projeto para salvar. Você abre, gera, exporta e volta para o código. Para um jogo de plataforma, um shoot em up ou qualquer arcade 2D, o pacote sonoro inteiro pode sair daqui numa tarde.

Como o Bfxr funciona: botões e sliders

A tela do Bfxr se divide em duas partes. Do lado esquerdo ficam os botões de tipo de som, os chamados geradores. Cada um já vem calibrado para uma categoria e sorteia um som novo toda vez que você clica. Os principais são:

  • Pickup/Coin: moedas, cristais, itens coletáveis. Som curto e ascendente, aquele "pling" que sobe de tom.
  • Laser/Shoot: tiros e disparos. Som rápido com a frequência caindo, o clássico "pew".
  • Explosion: explosões, destruição, impacto grande. Ruído com decaimento longo.
  • Jump: pulos. Som curto que sobe de frequência, dando a sensação de subida.
  • Hit/Hurt: dano, colisão, levar porrada. Som seco e áspero.
  • Powerup: melhorias, evoluir, pegar um bônus forte. Som longo e brilhante que sobe.

Esses botões são o atalho. Você clica até sair um som que te agrada e, muitas vezes, já está bom assim. Quando quiser lapidar, é aí que entram os sliders do lado direito. Eles parecem muitos, mas na prática você mexe sempre nos mesmos poucos:

  • Frequência (Start Frequency): o tom do som. Mais alto deixa o efeito mais agudo e fino, mais baixo deixa grave e pesado. É o que mais muda o caráter do som.
  • Slide e Delta Slide: o quanto e como a frequência varia ao longo do som. É isso que faz o laser cair de tom e o pulo subir.
  • Decaimento (Decay/Sustain): quanto tempo o som leva para sumir. Decaimento curto dá um estalo seco; longo dá uma cauda que se arrasta, boa para explosão.
  • Distorção e filtros (Distortion, Low-Pass, High-Pass): adicionam sujeira e brilho. Um toque de distorção deixa o tiro mais agressivo; o filtro corta frequências para o som não ficar estridente.
  • Tipo de onda (Wave Type): quadrada, serra, senoide, ruído. A onda quadrada é o som 8-bit por excelência; o ruído é a base de explosões e passos.

Toda vez que você mexe num slider, o Bfxr toca o som de novo para você ouvir o efeito. Tem também um botão de Mutation, que gera pequenas variações do som atual sem recomeçar do zero, ótimo para criar três ou quatro versões do mesmo tiro e quebrar a repetição no jogo.

Passo a passo: criando cinco sons clássicos

Vamos montar o kit básico. Abra o Bfxr e siga na ordem. A ideia é sempre a mesma: clica no botão da categoria, ouve, ajusta um ou dois sliders, exporta.

1. Pulo. Clique em Jump. Se o som ficar grave demais, suba a Frequência um pouco. O pulo pede um som curto que sobe de tom, então confira se o Slide está positivo. Reduza o decaimento para o som não se arrastar depois que o personagem já saiu do chão. Clique até achar um que tenha energia sem incomodar, porque esse som vai tocar o tempo todo.

2. Moeda/coletável. Clique em Pickup/Coin. Esse costuma sair ótimo de primeira. O segredo da moeda satisfatória é o pulinho de tom no meio, aquele "pli-ing" em dois degraus. Se quiser mais brilho, suba levemente a Frequência. Mantenha curto. Coletável é recompensa, e recompensa rápida fisga mais que recompensa longa.

3. Tiro. Clique em Laser/Shoot. Ajuste o Slide para a frequência cair rápido, que é o que dá o "pew". Se o tiro precisar soar mais forte, adicione um toque de Distorção. Para uma arma pesada, baixe a Frequência inicial; para um laser fininho, suba. Gere duas ou três variações com Mutation para o jogador não ouvir o arquivo idêntico a cada disparo.

4. Dano. Clique em Hit/Hurt. Esse é curto e áspero de propósito. Baixe a Frequência para o dano soar pesado e use um decaimento curto para ficar seco. Se quiser diferenciar dano do player e dano do inimigo, faça duas versões: uma mais grave para quando você apanha, outra mais aguda para quando acerta.

5. Explosão. Clique em Explosion. Aqui o decaimento longo é amigo: deixe a cauda se arrastar para dar peso. Troque o tipo de onda para ruído se ainda não estiver, porque explosão é essencialmente ruído moldado. Um filtro Low-Pass leve tira o excesso de agudo e deixa o estouro mais encorpado, menos chiado.

Com esses cinco você já cobre o essencial de um arcade 2D. Repita o processo para menu, dash, morte, checkpoint e o que mais o jogo pedir.

Black Friday: leve 3, pague 2
Travou no código ou na arte? Na Black Friday, leve os dois.

Curso de Godot + curso de Arte 2D + um curso bônus que você só descobre lá dentro. De R$ 2.691 por R$ 997, acesso vitalício, em até 18x no cartão.

Quero os 3 cursos com Godot
Suporte no WhatsAppAcesso vitalício7 dias de garantia

Exportar o WAV e a versão navegador x desktop

Gostou do som? Clique em Export Wav (ou Save to Disk, dependendo da versão). O Bfxr salva um arquivo WAV, que é o formato sem perda que as engines esperam para efeito curto. Dê um nome claro na hora de salvar, tipo pulo.wav, moeda.wav, tiro.wav, porque daqui a duas semanas você não vai lembrar o que era sfx_03.wav. Mantenha SFX em WAV e deixe OGG só para música longa, que pesa menos no projeto.

Sobre as versões: existe o Bfxr que roda no navegador e o desktop (baixável para Windows, Mac e Linux). A versão web é a mesma ideia do jsfxr, a vertente online do sfxr: abre a página e já funciona, sem instalar nada, perfeita para gerar um som rápido no meio do desenvolvimento. A versão desktop é para quem prefere um programa fixo, offline, que não depende do navegador aberto. As duas geram o mesmo tipo de som. Comece pela web e só baixe o desktop se usar bastante.

Importar e tocar o som na Godot 4

Com o WAV na mão, jogar ele na Godot 4 é rápido. Arraste o arquivo para dentro da pasta do projeto no painel FileSystem. A Godot importa WAV sem plugin. Clique no arquivo, abra a aba Import e, para um efeito que vai tocar muitas vezes, deixe o modo de compressão em Disabled (PCM) e desmarque o loop. SFX não repete em loop, e PCM toca sem latência.

Agora adicione um nó AudioStreamPlayer na cena (AudioStreamPlayer2D se quiser som posicional no 2D) e arraste o WAV para a propriedade Stream dele no Inspector. Para disparar o som pelo código, use GDScript tipado:

extends Node

@onready var som_pulo: AudioStreamPlayer = $AudioStreamPlayer

func tocar_pulo() -> void:
    som_pulo.play()

Chame tocar_pulo() no momento certo, por exemplo quando o jogador aperta pular. Se você tiver vários efeitos, dá para resolver com um único player que troca o stream na hora, carregando os WAV via preload:

extends Node

@onready var player: AudioStreamPlayer = $AudioStreamPlayer

var sons: Dictionary = {
    "pulo": preload("res://audio/pulo.wav"),
    "moeda": preload("res://audio/moeda.wav"),
    "tiro": preload("res://audio/tiro.wav"),
}

func tocar(nome: String) -> void:
    if sons.has(nome):
        player.stream = sons[nome]
        player.play()

Para quebrar a repetição daquele tiro que dispara o tempo todo, randomize o tom a cada toque. A Godot 4 expõe o pitch_scale do player, então um sorteio pequeno já engana o ouvido:

func tocar_tiro() -> void:
    player.stream = sons["tiro"]
    player.pitch_scale = randf_range(0.95, 1.05)
    player.play()

Esse truque de variar o pitch é o mesmo que você aplicaria com arquivos separados, só que de graça em tempo de execução. Vale para passos, tiros e qualquer som que dispara em rajada.

Limites do Bfxr e quando passar adiante

O Bfxr é imbatível para som retro sintetizado, e é justamente aí que ele para. Ele não grava, não edita arquivo de fora e não produz som realista. Se o seu jogo pede a voz de um narrador, o barulho de uma porta de madeira ou uma trilha orquestrada, o Bfxr não é o caminho, porque o universo dele é a onda 8-bit gerada por parâmetro.

Dois sinais de que é hora de ir além. Primeiro: você já tem o som, mas ele sai cru, com volume desigual entre os efeitos, um estalo no fim ou silêncio sobrando nas pontas. Aí entra um editor de áudio para dar o acabamento, e o Audacity edita efeitos sonoros de graça exatamente para isso: cortar, normalizar todos no mesmo nível e aplicar fade. Segundo: o projeto cresceu e o som virou parte da identidade, com camadas, ambiente e reações ao gameplay. Nesse ponto vale subir o nível e entender design de áudio para jogos como disciplina, não só como arquivos soltos.

Enquanto o jogo é um arcade 2D em prototipagem, porém, o Bfxr entrega mais do que você espera com menos esforço do que qualquer alternativa. Ele mora no hub de ferramentas do Bfxr junto com os atalhos e presets, e é o melhor primeiro passo para deixar de ter um jogo mudo. Gere o kit básico hoje, toque na Godot com os scripts acima e só evolua o áudio quando o jogo pedir.

Perguntas frequentes

O Bfxr é realmente de graça e posso usar em jogo comercial?

Sim. O Bfxr é gratuito e os sons que saem dele são gerados a partir dos parâmetros que você mexeu, então o arquivo é seu para usar em jogo comercial sem crédito nem royalty. Como o som é sintetizado na hora e não sampleado de ninguém, você não herda licença de terceiro. Isso é diferente de baixar efeito pronto de banco, onde a licença de cada arquivo manda.

Preciso saber de áudio ou instalar alguma coisa para usar o Bfxr?

Não. Você clica num botão de tipo de som (Pickup, Laser, Jump, Explosion, PowerUp), a ferramenta sorteia os parâmetros e já sai um efeito usável. Depois você mexe nos sliders se quiser. A versão no navegador não pede instalação nenhuma: abre a página e já funciona. A versão desktop existe para quem prefere um programa fixo offline.

Qual a diferença entre o Bfxr e o sfxr ou o jsfxr?

O sfxr é o gerador original de desktop e o jsfxr é a mesma ideia rodando no navegador. O Bfxr é uma evolução do sfxr: tem mais tipos de onda, filtros extras, compressor e a opção de misturar vários sons num só. Para o básico, qualquer um resolve. O Bfxr entra quando você quer um pouco mais de controle sem sair do mundo retro 8-bit.

Qual formato exportar do Bfxr para a Godot ou a Unity?

Exporte WAV. É o formato sem perda que as engines esperam para efeito curto, toca sem atraso e sem gastar CPU descomprimindo. Guarde WAV para SFX e deixe OGG para música longa, que pesa menos. A Godot 4 e a Unity importam WAV sem plugin nenhum.