circuitforge-core/tests/test_audio
pyr0ball 80eeae5460 feat: audio module, musicgen tests, SQLCipher PRAGMA hardening
#45 — db/base.py: PRAGMA key=? parameterized form instead of f-string
interpolation. Regression tests added (skip when pysqlcipher3 absent).

#50 — circuitforge_core.audio: shared PCM/signal utilities (MIT, numpy-only)
  - convert.py: pcm_to_float32, float32_to_pcm, bytes_to_float32
  - gate.py:    is_silent, rms (RMS energy gate)
  - resample.py: resample (scipy.signal.resample_poly; numpy linear fallback)
  - buffer.py:  ChunkAccumulator (window-based chunk collector + flush)
Replaces hand-rolled equivalents in cf-voice stt.py + context.py.
34 tests, all passing.

#49 — tests/test_musicgen/: 21 tests covering mock backend, factory,
and FastAPI app endpoints. musicgen module was already implemented;
tests were the missing piece to close the issue.
2026-04-20 11:10:49 -07:00
..
__init__.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_buffer.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_convert.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_gate.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_resample.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00