OpenSNES
Modern Open-Source SNES Development SDK
Loading...
Searching...
No Matches
main.c File Reference

Speech synthesis — the SNES says "OPEN SNES". More...

#include <snes.h>
#include <snes/apu.h>

Macros

#define SPC_BASE   0x0200

Functions

int main (void)

Variables

u8 spc_image []
u8 spc_image_end []

Detailed Description

Speech synthesis — the SNES says "OPEN SNES".

Port of krom (Peter Lemon)'s SpeechSynth demo (PeterLemon/SNES, SPC700/SpeechSynth). Speech on the SNES = sequencing a PHONEME BANK on one DSP voice: per phoneme, the APU-side program selects the sample (SRCN), shapes it (ADSR: plosives one-shot, vowels sustained), inflects the pitch (prosody) and times the wait — krom's bank spells "PETER LEMON"; our original formant-synthesized bank says "OPEN SNES" on loop.

ROM mode: LoROM (project default).

SNES Concepts
  • Phoneme-bank speech synthesis on the S-DSP (no CPU streaming)
  • Per-phoneme ADSR/SRCN/pitch sequencing from SPC700 code
  • The apu module upload path (apuWaitBoot/apuUpload/apuExecute)
What to Observe
The console speaks. Validation oracle: luna –audio-out (see README).
Modules Used
console, apu
See also
https://github.com/PeterLemon/SNES — original demo
gen_phonemes.py, player.spc700.asm

Macro Definition Documentation

◆ SPC_BASE

#define SPC_BASE   0x0200

Function Documentation

◆ main()

int main ( void )

Variable Documentation

◆ spc_image

u8 spc_image[]
extern

◆ spc_image_end

u8 spc_image_end[]