diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/HOWTO.md | 11 | ||||
| -rw-r--r-- | doc/TOOLS_REFERENCE.md | 21 | ||||
| -rw-r--r-- | doc/TRACKER.md | 6 |
3 files changed, 25 insertions, 13 deletions
diff --git a/doc/HOWTO.md b/doc/HOWTO.md index 768e51d..cc43e7c 100644 --- a/doc/HOWTO.md +++ b/doc/HOWTO.md @@ -257,6 +257,17 @@ cmake --build build -j4 --target spectool Requires `ffmpeg` for `.aif` input files. Output uses v2 format (OLA, Hann, hop=256). +### Decoding .spec to WAV + +To verify or inspect a `.spec` file as audio: + +```bash +./build/spectool --wav input.spec output.wav +``` + +Produces a mono 16-bit PCM WAV at 32 kHz using IDCT-OLA synthesis (no synthesis window — +the analysis Hann window is its own reconstruction filter at 50% overlap). + --- ## Assets diff --git a/doc/TOOLS_REFERENCE.md b/doc/TOOLS_REFERENCE.md index 61412a9..f99d213 100644 --- a/doc/TOOLS_REFERENCE.md +++ b/doc/TOOLS_REFERENCE.md @@ -26,24 +26,21 @@ Comprehensive reference for all developer tools in the project. cmake -S . -B build -DDEMO_BUILD_TOOLS=ON cmake --build build -j4 -# Analyze WAV → .spec +# Analyze WAV/MP3 → .spec (v2 OLA format) ./build/spectool analyze input.wav output.spec +./build/spectool analyze input.wav output.spec --normalize # normalize to RMS 0.15 +./build/spectool analyze input.wav output.spec --normalize 0.20 # custom RMS target -# Play .spec file -./build/spectool play input.spec -``` - ---- +# Decode .spec → mono 16-bit WAV (32 kHz, IDCT-OLA synthesis) +./build/spectool --wav input.spec output.wav -## specview (Visualization) +# Play .spec file via audio device +./build/spectool play input.spec -```bash -# View spectrogram -./build/specview input.spec +# Generate test spectrogram (C major scale) +./build/spectool test_gen output.spec ``` -Displays spectrogram visualization. - --- ## specplay (Diagnostic) diff --git a/doc/TRACKER.md b/doc/TRACKER.md index 53d8338..e2c21aa 100644 --- a/doc/TRACKER.md +++ b/doc/TRACKER.md @@ -24,7 +24,7 @@ HUMANIZE SEED <int> TIMING <pct> VOLUME <pct> # Optional humanization # Generated samples: SAMPLE <name>, <freq>, <dur>, <amp>, <attack>, <harmonics>, <decay> [OFFSET <sec>] -# Asset samples (.spec): +# Asset samples (.spec v2 OLA format — generated by spectool analyze): SAMPLE <asset_id> [OFFSET <sec>] # ASSET_* from assets.txt # Asset samples (MP3, non-STRIP_ALL only): @@ -32,6 +32,10 @@ SAMPLE <asset_id> [OFFSET <sec>] # ASSET_* from assets.txt # Add to assets.txt: NAME, NONE, music/file.mp3, "description" SAMPLE ASSET_NAME [OFFSET <sec>] # Decoded at init; same syntax as .spec +# .spec format: SPEC_VERSION_V2_OLA (version=2). Synthesis uses IDCT-OLA +# (Hann analysis window, 50% overlap, hop=256 samples at 32 kHz). +# Decode a .spec to WAV for inspection: spectool --wav input.spec out.wav + # Auto-generated notes (no SAMPLE declaration needed): # NOTE_C4, NOTE_A#3, NOTE_Eb2, etc. |
