adhit-r / adhit-r/holocron

Procedural music themes per character (no Williams)

Aperta
#16 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
advanced area: audio creative enhancement
Lingua principale
TypeScript
Stelle
0
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

> **Skills:** Web Audio API · music theory · oscillator graph design · gain envelopes
> **Time:** ~16 hours
> **Good for:** Audio engineers · composers · people who want a Williams-free leitmotif
> **Difficulty:** Advanced

---

## Context

The audio system today plays 7 UI cues + a low ambient hum. The holo-stage is
cinematic but silent. Star Wars is famously scored, so silence on the
holo-stage is a missed mood. Original Williams cues are off-limits (copyright);
procedurally generated themes that EVOKE a character's mood are a clean
alternative.

## Goal

For each major Force user, a procedural leitmotif synthesized in real-time
when their hologram is on the holo-stage. Distinct timbres, no actual
copyrighted melodies.

## Where to start

- New `lib/audio/themes.ts` — per-entity theme spec: chord progression,
timbre choice (sine / triangle / FM), tempo, density
- Pure Web Audio (already in `lib/audio/`); no Tone.js dependency
- Yoda: slow, low, contemplative (Phrygian mode, sine + low triangle)
- Vader: minor descending fifths, dense, low (square + saw + sub)
- Luke: triumphant ascending, mid-range (square + sine, trumpet-like)
- Rey: yearning, modal (sine, lots of reverb)
- These are evocative, not transcriptions. Don't reproduce known melodies.
- Theme starts on holo-stage open, fades on close
- Volume tied to existing master gain

## Acceptance criteria

- Each major Force user has a recognizable distinct mood
- No copyrighted melodies — entirely synthesized from the spec
- Themes loop seamlessly via crossfade
- Reduced motion: themes still play (not motion-related)
- Audio toggle disabled → themes silent

## Reference

https://www.w3.org/TR/webaudio/

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.