diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-02 01:40:38 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-02 01:40:38 +0100 |
| commit | a94ec07cdaa53c0b11aa1610d40dd1a96efc0e39 (patch) | |
| tree | 6a5a54e9ad99c13ef2093cf3ed7acf696cd96547 /doc | |
| parent | 2859c082179e19f0076a699174f7fa588234e465 (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.md | 7 |
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. |
