Documentação

Como ligar o Gomo Sounds no seu assistente de IA, na sua engine e no seu jogo.

O que você recebe

Cada jogo vira um pacote de áudio com um manifest.json que diz qual arquivo toca em cada som do jogo. Um exemplo de verdade, do jogo Reino dos Besouros, com uma criatura que tem três versões (sorteie uma a cada toque), um clique da interface e a música tema em loop:

{
  "format": "gomo-sounds/manifest@1",
  "game": { "id": "…", "name": "Reino dos Besouros" },
  "exportedAt": "2026-11-10T21:40:12Z",
  "sounds": [
    {
      "key": "besouro-rei.rugido",
      "entity": "Besouro-rei",
      "entityId": "…",
      "externalId": "res://cenas/besouro_rei.tscn",
      "event": "Rugido",
      "eventId": "…",
      "inheritedFrom": null,
      "section": "effects",
      "artist": null,
      "title": null,
      "generationIds": ["…", "…", "…"],
      "fileIds": ["…", "…", "…"],
      "loops": [false, false, false],
      "bpms": [null, null, null],
      "generationId": "…",
      "durationSec": 2.4,
      "prompt": "rugido grave de besouro gigante, a carapaça vibrando",
      "files": [
        "sounds/besouro-rei/rugido_1.wav",
        "sounds/besouro-rei/rugido_2.wav",
        "sounds/besouro-rei/rugido_3.wav"
      ],
      "file": "sounds/besouro-rei/rugido_1.wav"
    },
    {
      "key": "@interface.clique",
      "entity": "Interface",
      "entityId": null,
      "externalId": null,
      "event": "Clique",
      "eventId": "…",
      "inheritedFrom": null,
      "section": "interface",
      "artist": null,
      "title": null,
      "generationIds": ["…"],
      "fileIds": ["…"],
      "loops": [false],
      "bpms": [null],
      "generationId": "…",
      "durationSec": 0.6,
      "prompt": "clique de botão macio, madeira oca",
      "files": ["sounds/_pastas/interface/clique.wav"],
      "file": "sounds/_pastas/interface/clique.wav"
    },
    {
      "key": "@music.tema-do-formigueiro",
      "entity": "Música",
      "entityId": null,
      "externalId": null,
      "event": "Tema do formigueiro",
      "eventId": "…",
      "inheritedFrom": null,
      "section": "music",
      "artist": "Estúdio Casca",
      "title": "Tema do formigueiro",
      "generationIds": ["…"],
      "fileIds": ["…"],
      "loops": [true],
      "bpms": [96],
      "generationId": "…",
      "durationSec": 90,
      "prompt": "tema de aventura com marimba e cordas, alegre e curioso",
      "files": ["sounds/_pastas/music/tema-do-formigueiro.ogg"],
      "file": "sounds/_pastas/music/tema-do-formigueiro.ogg"
    }
  ]
}

Os campos estão explicados em manifest.json.

Formato dos sons

Todo som sai como WAV PCM de 16 bits, na taxa do gerador (44,1 kHz), pronto pra qualquer engine.

O quê Como sai
Canais Mono pra tudo que o jogo posiciona (passos, golpes, criaturas, objetos e interface): a engine dá o lado e a distância. Estéreo pros fundos da pasta Ambiente e pra música, em qualquer pasta. Dá pra forçar mono ou estéreo em cada som, em avançado, no painel de gerar, ou pelo MCP (channels no generate_sounds). Sons gerados antes de 16/10/2026 podem estar em estéreo.
Volume Cada som sai num volume-alvo pelo tipo, em LUFS: interface e movimento −21, criatura −18, impacto −15, ambiente −24, o resto −18. O pico fica abaixo de −1 dBFS. Assim os sons do jogo já chegam equilibrados entre si.
Duração De 0,5 a 30 s por som.
Começo Nos sons curtos, o silêncio antes do som é cortado. Se a pancada ainda demorar (o gerador às vezes põe um respiro antes do impacto), use Cortar até o ataque no Editor: o passo sorteado chega junto com o pé.
Fim Termina num fade natural, sem corte seco (a não ser que o som peça fim seco).
Loop Sons de loop já vêm emendados no próprio arquivo, com a duração pedida: tocam em loop sem estalo.

Os sons saem secos, sem eco nem sala: o espaço quem dá é o jogo.

Baixar em .zip

Sem plugin, qualquer engine usa o pacote .zip. Na página do jogo, clique na seta pra baixo no topo (abre Enviar pro jogo), depois em Prefere um .zip? Escolher os sons, marque os sons e clique em Baixar .zip. Só entram os sons escolhidos ("Usar este").

Dentro do .zip (os nomes aqui são os técnicos do manifest: entidade é a coisa do jogo, que no site aparece como etiqueta nos cartões; evento é o som; as variações são as versões):

Caminho O que é
manifest.json A lista de todos os sons do pacote (veja abaixo).
sounds/<entidade>/<evento>.wav O som de um evento de uma entidade (ex.: sounds/lobo/uivo.wav).
sounds/_pastas/<pastas>/<evento>.wav O som de um evento de pasta, que vale pra tudo dentro dela (Interface, Ambiente e as suas).
<evento>_1.wav, <evento>_2.wav... Quando o evento tem mais de uma variação escolhida, uma por arquivo: sorteie uma a cada toque.

Um som que vale pra várias entidades (herdado da pasta) aparece uma vez só no .zip; cada entidade aponta pro mesmo arquivo no manifest.

manifest.json

O manifest diz qual arquivo toca em cada evento. O exemplo completo está no começo; o resumo, com um evento de entidade:

{
  "format": "gomo-sounds/manifest@1",
  "game": { "id": "…", "name": "Ferro e Neve" },
  "exportedAt": "2026-10-16T22:07:38Z",
  "sounds": [
    {
      "key": "lobo.uivo",
      "entity": "Lobo",
      "event": "Uivo",
      "loops": [false, false],
      "durationSec": 3,
      "files": ["sounds/lobo/uivo_1.wav", "sounds/lobo/uivo_2.wav"],
      "file": "sounds/lobo/uivo_1.wav"
    }
  ]
}
Campo O que é
format Sempre gomo-sounds/manifest@1. Se mudar, o formato mudou.
game Id e nome do jogo.
exportedAt Quando o pacote foi gerado (UTC).
key Chave única do som: <entidade>.<evento>; pra evento de pasta, @<pastas>.<evento> (ex.: @interface.clique). Use pra tocar pelo nome.
entity / entityId A entidade dona do evento; num evento de pasta, o caminho da pasta e entityId nulo.
externalId O id da cena no jogo, quando veio do plugin (ex.: o caminho da cena no Godot).
event / eventId O nome e o id do evento.
inheritedFrom De que pasta o som foi herdado, ou nulo se é da própria entidade.
section A aba do som: effects, interface, ambience ou music. O plugin toca música em sequência, com crossfade; o resto, sorteado.
artist / title Só na música: o artista (o nome da conta) e o título, os mesmos gravados nas etiquetas do arquivo. Nulos nos outros sons.
files Os arquivos das variações escolhidas, em ordem: sorteie um a cada toque.
file O primeiro de files, pra quem só quer um.
loops Pra cada variação, se é loop (toque em repetição).
bpms Pra cada variação, o andamento da música (só na música; nulo nos outros sons).
generationId O id da primeira variação.
durationSec Duração da primeira variação, em segundos.
prompt O texto que gerou a primeira variação.
generationIds / fileIds Os ids das variações e dos arquivos no Gomo Sounds.

Na engine, leia o manifest uma vez, guarde por key e, a cada toque, sorteie um item de files. Pra um som não cansar quando toca muitas vezes, varie um pouco a afinação (±5%) a cada toque: é o que o plugin do Godot faz.

Qualidade da música

A música tem níveis de qualidade, na pílula ao lado da duração, no painel de gerar. Cada nível mostra quanto custa por minuto, e o botão Gerar mostra o total antes de você gerar.

Nível Pra quê
Rascunho Testar a ideia. Sai em segundos.
Boa Protótipo.
Alta Pronta pro jogo. É o padrão.
Máxima O modelo maior: mais detalhe, mais demorada. Custa o dobro da Alta. Na lista ela aparece com um diamante, e as músicas feitas nela ganham o selo feita na Máxima.

Só aparecem os níveis ligados no momento. A música sai em OGG Vorbis estéreo (não em WAV, como os efeitos).