summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-02 01:40:38 +0100
committerskal <pascal.massimino@gmail.com>2026-03-02 01:40:38 +0100
commita94ec07cdaa53c0b11aa1610d40dd1a96efc0e39 (patch)
tree6a5a54e9ad99c13ef2093cf3ed7acf696cd96547 /doc
parent2859c082179e19f0076a699174f7fa588234e465 (diff)
feat(audio): MP3 asset support in tracker via decode-at-init
Detect MP3 blobs by magic bytes in tracker_init(), decode to spectrogram (hamming window + FDCT) using new mp3_decode(), and register with synth exactly like .spec assets. STRIP_ALL builds guard with FATAL_CHECK. handoff(Gemini): MP3 assets now usable in music.track with SAMPLE ASSET_* syntax; see doc/TRACKER.md for usage. No synth/compiler/packer changes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/TRACKER.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/doc/TRACKER.md b/doc/TRACKER.md
index dc77976..53d8338 100644
--- a/doc/TRACKER.md
+++ b/doc/TRACKER.md
@@ -24,9 +24,14 @@ HUMANIZE SEED <int> TIMING <pct> VOLUME <pct> # Optional humanization
# Generated samples:
SAMPLE <name>, <freq>, <dur>, <amp>, <attack>, <harmonics>, <decay> [OFFSET <sec>]
-# Asset samples:
+# Asset samples (.spec):
SAMPLE <asset_id> [OFFSET <sec>] # ASSET_* from assets.txt
+# Asset samples (MP3, non-STRIP_ALL only):
+# MP3 is detected by magic bytes and decoded to spectrogram at tracker_init().
+# Add to assets.txt: NAME, NONE, music/file.mp3, "description"
+SAMPLE ASSET_NAME [OFFSET <sec>] # Decoded at init; same syntax as .spec
+
# Auto-generated notes (no SAMPLE declaration needed):
# NOTE_C4, NOTE_A#3, NOTE_Eb2, etc.