diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-05 10:03:32 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-05 10:03:32 +0100 |
| commit | e2c3c3e95b6a9e53b4631b271640bb9914f8c95e (patch) | |
| tree | a0e52468bdfe53bf896d8a86fc5b147ac8afe5f3 /src/audio/spectrogram_resource_manager.cc | |
| parent | f48562060413634b13706c3ffd01180da98b6049 (diff) | |
fix(audio): OLA encoder never ran; version never propagated to decoder
Two bugs kept the v2 OLA path permanently disabled:
1. SpectrogramResourceManager::load_asset() never set spec.version from
SpecHeader::version — all .spec assets loaded with version=0, so
ola_mode was always false in the voice.
2. spectool analyze_audio() used non-overlapping chunks (stride=DCT_SIZE),
hamming_window_512, and hardcoded header.version=1 — OLA analysis was
never implemented in the encoder.
Fixes: propagate header->version in load_asset(); switch spectool to
OLA_HOP_SIZE stride, hann_window_512, and SPEC_VERSION_V2_OLA.
Regenerated all .spec files.
handoff(Gemini): OLA enc/dec chain now correct end-to-end. .spec files
are v2 (50% overlap, Hann). No API changes; 33/34 tests pass
(WavDumpBackendTest pre-existing failure unrelated).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/audio/spectrogram_resource_manager.cc')
| -rw-r--r-- | src/audio/spectrogram_resource_manager.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/audio/spectrogram_resource_manager.cc b/src/audio/spectrogram_resource_manager.cc index 30939e0..c500528 100644 --- a/src/audio/spectrogram_resource_manager.cc +++ b/src/audio/spectrogram_resource_manager.cc @@ -199,6 +199,7 @@ void SpectrogramResourceManager::load_asset(Resource* resource) { resource->spec.spectral_data_a = spectral_data; resource->spec.spectral_data_b = spectral_data; resource->spec.num_frames = header->num_frames; + resource->spec.version = header->version; resource->owned_data = nullptr; // Asset data is not owned #if defined(DEBUG_LOG_ASSETS) |
