prometeu-runtime/docs/runtime/learn/audio-mental-model.md
2026-03-24 13:40:47 +00:00

56 lines
1.6 KiB
Markdown

# Audio Mental Model
Status: pedagogical
Companion spec: [`../specs/05-audio-peripheral.md`](../specs/05-audio-peripheral.md)
O modelo mental correto para áudio em PROMETEU é o de um periférico ativo com orçamento, não o de “som automático”.
## Philosophy
Som:
- consome tempo;
- consome memória;
- usa canais finitos;
- depende de comandos explícitos.
Isso aproxima PROMETEU de consoles e arcades clássicos em que o jogo “conversa” com um bloco de áudio com regras próprias.
## Audio CPU Metaphor
Uma metáfora útil é pensar em:
```text
[Game CPU] -> envia comandos em 60 Hz -> [AUDIO Peripheral]
|
v
Voices + Mixer
|
v
PCM Output
```
Essa metáfora não exige um thread dedicado. Ela só separa responsabilidades:
- a máquina define o modelo lógico;
- o host decide como entregar buffers contínuos;
- o jogo fala em comandos, não em manipulação direta do backend.
## Good Habits
- reutilizar samples;
- limitar vozes simultâneas;
- tratar som como evento intencional;
- separar música e efeitos;
- evitar disparar o mesmo som todo frame.
## Historical Direction
As influências principais aqui são:
- NES, pela clareza de canais limitados;
- SNES, por playback de sample e mistura;
- CPS-2 e Neo Geo, pela sensação de folga e presença de sample playback.
PROMETEU abstrai essas referências. Ele não tenta reproduzir nenhum desses sistemas literalmente.