mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-15 04:40:40 -07:00
Review feedback on the preprocessor: 1. ``trim_top_db=30`` was labelled "conservative" in the docstring but is actually *more* aggressive than librosa's default of 60. Normal speech dynamic range sits around 30 dB, so 30 dB would eat quiet trailing syllables and soft consonants. Raise the default to 40 dB — below normal speech dynamic range but still catching obvious edge silence — and fix the docstring. 2. Unconditional 100 ms edge padding ran even when ``librosa.effects.trim`` removed nothing. For a well-recorded 29.9 s upload that path would push the waveform past the 30 s ceiling and trigger a spurious "too long" rejection. Only pad when trimming actually shortened the audio, and cap the pad so the output never exceeds the input length. Adds a regression test for the net-neutral length behaviour. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Backend Tests
Manual test scripts for debugging and validating backend functionality.
Test Files
test_generation_progress.py
Tests TTS generation with SSE progress monitoring to identify UX issues where users see download progress even when the model is already cached.
Usage:
cd backend
python tests/test_generation_progress.py
Prerequisites:
- Server must be running (
python main.py) - At least one voice profile must exist
test_real_download.py
Tests real model download with SSE progress monitoring.
Usage:
cd backend
# Delete cache first to force fresh download
rm -rf ~/.cache/huggingface/hub/models--openai--whisper-base
python tests/test_real_download.py
Prerequisites:
- Server must be running (
python main.py)
test_progress.py
Unit tests for ProgressManager and HFProgressTracker functionality.
Usage:
cd backend
python tests/test_progress.py
test_check_progress_state.py
Debugging script to inspect the internal state of ProgressManager and TaskManager.
Usage:
cd backend
python tests/test_check_progress_state.py
Notes
These are manual test scripts, not automated unit tests. They're designed for:
- Debugging progress tracking issues
- Validating SSE event streams
- Monitoring real-time download behavior
- Inspecting internal state during development