2026-01-12 18:37:53 +00:00

5.2 KiB

< Voltar | Sumário | Adiante >

🔊 Periférico AUDIO (Sistema de Som)

1. Visão Geral

O Periférico AUDIO é responsável pela geração e mistura de som no PROMETEU.

Assim como os demais subsistemas, o áudio:

  • não é automático
  • não é gratuito
  • não é mágico

Cada som ouvido é resultado de comandos explícitos, executados sob orçamento de tempo e recursos.

Som também consome tempo. Som também consome memória.


2. Filosofia do Sistema de Áudio

PROMETEU trata áudio como:

  • um periférico ativo
  • com canais limitados, previsíveis
  • e comportamento determinístico

O objetivo não é realismo absoluto, mas clareza arquitetural.


3. Componentes do Periférico AUDIO

O sistema de áudio é composto por:

  • Canais de áudio — fontes independentes de som
  • Samples — dados sonoros curtos
  • Music streams — trilhas contínuas
  • Mixer — combinação final dos canais

Cada componente tem custo explícito.


4. Canais de Áudio

4.1 Definição

Um canal de áudio representa uma fonte sonora independente.

Características:

  • número máximo de canais é limitado
  • cada canal toca um som por vez
  • canais são misturados no output final

Exemplo conceitual:

Max Channels:8

4.2 Uso dos Canais

Quando um som é tocado:

audio.play(sampleId, channel)

Se o canal estiver ocupado:

  • o som anterior pode ser interrompido

  • ou a chamada pode ser ignorada

    (dependendo da política definida)

PROMETEU não gerencia prioridades automaticamente.


5. Samples (Efeitos Sonoros)

5.1 Definição

Um sample é um trecho curto de áudio pré-carregado.

Usado para:

  • efeitos (tiros, passos, colisões)
  • feedback imediato
  • sons repetitivos

Samples:

  • ocupam memória
  • são imutáveis durante execução
  • devem ser carregados conscientemente

5.2 Custo dos Samples

Cada sample tem custo associado a:

  • tamanho em memória
  • taxa de reprodução
  • duração

Reproduzir muitos samples simultaneamente:

  • consome mais ciclos
  • aumenta pressão no mixer

6. Music Streams (Trilha Sonora)

6.1 Definição

Music streams são sons contínuos, geralmente mais longos.

Características:

  • tocados em loop ou sequência
  • geralmente ocupam um canal dedicado
  • podem ser streamados para reduzir uso de memória

6.2 Controle de Música

Operações típicas:

audio.musicPlay(trackId)
audio.musicStop()
audio.musicSetVolume(v)

Essas operações:

  • têm custo explícito
  • afetam o mixer global

PROMETEU não faz crossfade automático sem instrução explícita.


7. Mixer de Áudio

7.1 Função do Mixer

O mixer combina os canais ativos em um único sinal de saída.

O custo do mixer depende de:

  • número de canais ativos
  • complexidade do som
  • efeitos aplicados (se houver)

Mais canais ativos → mais custo por frame.


7.2 Efeitos Simples

PROMETEU pode suportar efeitos básicos:

  • volume por canal
  • pan (esquerda/direita)
  • mute

Efeitos:

  • são explícitos
  • têm custo mensurável
  • não são aplicados automaticamente

8. Sincronização Temporal do Áudio

8.1 Relação com o Clock do Sistema

O áudio em PROMETEU é sincronizado com o clock base de 60 Hz.

Isso significa:

  • atualizações de áudio ocorrem por frame
  • eventos sonoros são disparados em ticks definidos
  • latência é previsível e estável

8.2 Áudio como Evento

PROMETEU incentiva tratar áudio como evento, não como estado contínuo:

  • tocar som ao ocorrer uma ação
  • evitar chamadas repetidas por frame
  • desacoplar áudio da lógica pesada

Isso reduz custo e melhora clareza.


9. Áudio e CAP

O sistema de áudio participa do Execution CAP:

  • reprodução de sons consome ciclos
  • mixagem entra no orçamento por frame
  • picos de áudio são registrados

Exemplo de relatório:

Frame 24510:
audio.play():120cycles
audio.mixer():380cycles

Excessos:

  • não bloqueiam o jogo
  • aparecem na certificação

10. Boas Práticas de Áudio

PROMETEU incentiva:

  • reutilizar samples
  • limitar canais simultâneos
  • tratar áudio como evento
  • separar música de efeitos

E desencoraja:

  • tocar sons repetidamente por frame
  • usar muitos canais sem necessidade
  • samples grandes para efeitos simples

11. Relação com Consoles Clássicos

O modelo de áudio PROMETEU é inspirado em:

  • canais dedicados do NES
  • mixagem simples do SNES
  • hardware de áudio previsível

Mas abstraído para:

  • clareza
  • simplicidade
  • ensino

O objetivo é entender como o som é produzido, não emular chips específicos.


12. Implicações Pedagógicas

O Periférico AUDIO permite ensinar:

  • concorrência limitada
  • eventos temporais
  • impacto de recursos em tempo real
  • separação entre lógica e apresentação sonora

Tudo isso com feedback auditivo e mensurável.


13. Resumo

  • áudio é um periférico explícito
  • canais são limitados
  • samples ocupam memória
  • mixagem consome ciclos
  • áudio participa do CAP
  • som é consequência de decisões técnicas

< Voltar | Sumário | Adiante >