From a94ec07cdaa53c0b11aa1610d40dd1a96efc0e39 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 2 Mar 2026 01:40:38 +0100 Subject: 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 --- doc/TRACKER.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'doc/TRACKER.md') 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 TIMING VOLUME # Optional humanization # Generated samples: SAMPLE , , , , , , [OFFSET ] -# Asset samples: +# Asset samples (.spec): SAMPLE [OFFSET ] # 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 ] # Decoded at init; same syntax as .spec + # Auto-generated notes (no SAMPLE declaration needed): # NOTE_C4, NOTE_A#3, NOTE_Eb2, etc. -- cgit v1.2.3