NGS2
O NGS2 guarda handles de sistema, de rack e de voz, analisa dados RIFF/WAVE comuns e ritma um grão silencioso de 48 kHz para que um worker de DSP em software não entre em espera ativa. A síntese de voz, em si, está incompleta.
Notas do repositório até 10 de outubro de 2026
Handles e parâmetros
Um título cria um sistema NGS2, racks e vozes, e depois percorre uma lista ligada de mudanças de parâmetro. O PS5PCEM emite handles estáveis, verifica que um filho ainda pertence a um pai vivo e percorre essas listas dentro de um limite. Play, pause, resume, stop e kill são aplicados quando a voz é renderizada. O estado é informado com as flags exatas de 32 bits que o convidado lê.
A geometria RIFF/WAVE comum é analisada. Uma matriz de pan neutra é preservada, então uma voz que não recebeu pan não herda uma matriz antiga de outra voz. O grão é float32.
Por que o grão é ritmado
Cada grão silencioso de renderização é ritmado a 48 kHz. Sem essa espera, o worker de DSP em software de um título chama o renderizador num laço apertado e toma um núcleo inteiro do anfitrião. O ritmo acompanha o relógio do AudioOut, para que o worker durma cerca do comprimento do grão.
As próprias amostras são silêncio. A síntese de voz e a mistura reais do NGS2 não estão implementadas. Um título cuja trilha é produzida inteiramente dentro do NGS2 não ouvirá essas vozes por este caminho. Títulos que decodificam com o AJM e enviam PCM ao AudioOut não precisam da síntese do NGS2.
O que está implementado
- Handles estáveis de sistema, de rack e de voz, com verificação do tempo de vida do pai.
- Geometria RIFF/WAVE, listas de parâmetros limitadas e flags de estado exatas de 32 bits.
- Play, pause, resume, stop e kill aplicados na renderização, com uma matriz de pan neutra.
- Um grão float32 silencioso, ritmado a 48 kHz.
O que ainda falta
- A síntese de voz e o mixer do NGS2 não estão implementados.
- O grão ritmado é silêncio, então uma trilha feita só no NGS2 permanece quieta.
- Plugins de DSP personalizados dentro de uma voz ficam fora deste modelo.
Mecanismos relacionados
O que estas páginas descrevem