From 4fc02a8d2acf1eafce36c1348261890d54b8b5b5 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 2 Feb 2026 21:43:20 +0100 Subject: add a TRACKER idea to the project --- doc/TRACKER.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 doc/TRACKER.md (limited to 'doc/TRACKER.md') diff --git a/doc/TRACKER.md b/doc/TRACKER.md new file mode 100644 index 0000000..cb14755 --- /dev/null +++ b/doc/TRACKER.md @@ -0,0 +1,43 @@ +# Minimal Audio Tracker + +in addition to being able to generate spectrograms (aka "Samples") on the +fly and play them at once, we need a way to assemble samples (assets or +generated) into modifiable patterns and loops. Like what the Trackers were +doing in the old time. + +## The idea + +A script can take a 'tracker music' text file that describes the sequence +of samples (a 'pattern') in a first part. In a second part, these sequence +a laid out with a timestamp (potentially overlapping) to generate the full +music score. + +The patterns' samples (spectrograms) are not yet generated, it's just the +'musical score' here. We still need to 'play' the score but with modifiers +applied. + +### Modifiers + +For diversity, these essential patterns can be modified on the fly before +being generated as spectrogram on the fly. +Modifiers could be: + * randomize (for drums, e.g.) + * add accents and stresses + * modulate volume + * add distortion or noise + * add 'grain' and static noise + * flanger, vocoding, robotic voice, etc. + * etc. + +These modifiers are applied to a predefined pattern just before it's +generated for playback (or assembling in the final track). + +### How would that work in practice? + +The musical score is a text file, that a tool will convert to run-time +code to be compiled in the final binary demo64k. +This generated code can be mixed with fixed code from the demo codebase +itself (explosion predefined at a given time ,etc.) +The baking is done at compile time, and the code will go in src/generated/ + + -- cgit v1.2.3