Two new CPU-native, torch-free, cached endpoints on the audio sub-API — the "interesting value points" for hexa beyond emotion, each the same shape/pattern as /analyze/emotion (upload → content-address → cache → compute). - POST /features → the ~35-dim audio feature stack (spectral moments, MFCCs, chroma/key, envelope/attack-decay, + rhythm/tempo). scope `features`. - POST /analyze/samples → per-sample EDA + role (percs|bass|melodic|tops|atmos) decided by the MEASURED spectrum (centroid + band energy), never the name; an optional ?name= only disambiguates breaks/drums (feedback_mastering_eda). scope `samples`. Engine: engines/feats.py is SELF-CONTAINED (vendored DSP), like ears_light — the deployed container holds only armada/api/, not armada/tide-table/, so it can NOT import sample_features/audio_lens at runtime. It mirrors their algorithms and fixes the librosa-0.11 tempo bug (feature.tempo, not the removed feature.rhythm.tempo that silently dropped tempo in the tide-table original). Wiring: a shared _cached() helper now backs all three analyze routes (DRY); healthz advertises the engines map; both routes are scope-gated via the gateway X-Scopes. Validated in the torch-free container: /features 200 (41 features, tempo 107.7, key=Amaj), /analyze/samples role-by-measurement, 403 scope gate, X-Douanier-Cache hit on repeat. 40/40 tests (added test_feats.py + endpoint cases).
| Name |
Last commit
|
Last update |
|---|---|---|
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| copycat | Loading commit data... | |
| gifts | Loading commit data... | |
| lib-parvagues | Loading commit data... | |
| live | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| viz | Loading commit data... | |
| .gitignore | Loading commit data... | |
| BootTidal.hs | Loading commit data... | |
| BootTidal.hs.broken | Loading commit data... | |
| BootTidal.visuals.broken.hs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| PatchBay_MultiChannel.xml | Loading commit data... | |
| PatchBay_Perf.xml | Loading commit data... | |
| PatchBay_Perf5.1.xml | Loading commit data... | |
| README.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| debug.tidal | Loading commit data... | |
| didacticpatternvisualizer.pde | Loading commit data... | |
| hello.sc | Loading commit data... | |
| init_midi.sh | Loading commit data... | |
| intro.md | Loading commit data... | |
| library.txt | Loading commit data... | |
| link_jack.sh | Loading commit data... | |
| link_samples.sh | Loading commit data... | |
| link_samples_all.txt | Loading commit data... | |
| main_fairbanks.scd | Loading commit data... | |
| notes.md | Loading commit data... | |
| perf-tray.py | Loading commit data... | |
| perf.sh | Loading commit data... | |
| samples.txt | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |