Add a live-consumer streaming path and text sanitation to the OmniVoice wrapper, so it can front speech-to-speech chat engines (not just the asset-engine's batch WAV use). - POST /tts: chunked 24 kHz mono s16le PCM (or open-ended WAV), driven by the adaptive buffer-ratchet scheduler. Emits the first sentence immediately, then ratchets chunk size up on OmniVoice's ~40x realtime headroom -> sub-second time-to-first-audio. Wire-compatible with chatterbox-fast /tts (both 24 kHz mono PCM). Batch /v1/audio/speech is unchanged for asset/file callers. - scheduler.py: VENDORED byte-faithful copy of chatterbox-fast's pure- Python (torch-free) scheduler, pinned to commit 7631462 (v0.1.0/v0.1.1). Vendor-copy over a shared package (operator call 2026-06-19): the module has no GPU deps, so reuse it without dragging chatterbox-fast's torch tree into this image. Promote to a shared package only on a 3rd consumer or real drift. - sanitize.py: language-safe TTS sanitizer run on both endpoints. Strips markdown, <think> blocks, HTML, and model control tokens; deliberately SKIPS the fork's English-only number/phone normalization that would corrupt OmniVoice's 600-language input. Preserves [laughter]-style tags. - Refactor: shared GenParams base for SpeechRequest + TTSStreamRequest; single GEN_LOCK serializes generation (single-stream interactive). - Dockerfile/playbook: copy + upload the two new modules; build-time `import app` smoke; correct stale "Gradio demo / no FastAPI" comments.
42 lines
1.0 KiB
Plaintext
42 lines
1.0 KiB
Plaintext
# Secrets — real .env files must never land here, only .env.example templates.
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
**/.env
|
|
!**/.env.example
|
|
|
|
# Live mirror of server /opt/docker/{compose,conf}/ trees pulled by
|
|
# sync-stacks.sh. Contains upstream compose files that can carry embedded
|
|
# plaintext credentials (e.g. legacy seafile/paperless configs), so we
|
|
# don't track them in git. Audited, hand-curated copies live under
|
|
# stacks/<name>/ and are the source of truth.
|
|
stacks-mirror/
|
|
|
|
# Staged htpasswd / secrets files that might get written to /tmp during
|
|
# helper scripts.
|
|
htpasswd-new
|
|
*.netrc
|
|
|
|
# Editor / OS cruft
|
|
.DS_Store
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Logs
|
|
*.log
|
|
*.log.*
|
|
|
|
# Claude Code runtime state — locks, scheduled-task ledgers, etc.
|
|
# Per-machine, not interesting cross-checkout.
|
|
.claude/scheduled_tasks.lock
|
|
.claude/*.lock
|
|
|
|
# graphify: commit only the lightweight labeled map; ignore heavy/regenerable artifacts
|
|
graphify-out/*
|
|
!graphify-out/GRAPH_REPORT.md
|
|
|
|
# Python bytecode (e.g. from local py_compile of stack wrappers)
|
|
__pycache__/
|
|
*.pyc
|