Skip to content

Jules 421561627017222020 9715bed7#12

Open
MahammadWahab540 wants to merge 40 commits into
devnen:mainfrom
MahammadWahab540:jules-421561627017222020-9715bed7
Open

Jules 421561627017222020 9715bed7#12
MahammadWahab540 wants to merge 40 commits into
devnen:mainfrom
MahammadWahab540:jules-421561627017222020-9715bed7

Conversation

@MahammadWahab540

Copy link
Copy Markdown

No description provided.

…or-performance-logging

Add concise OpenAI speech performance logging and request ID
…r-openmaic-app

docs: add OpenMAIC / Pathwisse TTS static audit
…request-validation

Validate OpenAI speech request inputs
…ng-in-server.py

Preserve HTTP exceptions in speech endpoint
…pu-for-cpu-setup

Add CPU Dockerfile and Railway build config
…check-environment-variable

Prefer PORT environment variable for server port
…-conditionally-open-browser

Gate browser auto-open behind explicit local dev flag
…script-and-docker-support

Bake default KittenTTS model into CPU image
…-options-in-load_model

Configure ONNX Runtime session options
…r-espeak-ng-library-paths

Configure POSIX eSpeak library discovery and install libespeak-ng1 in Docker images
…tion-for-cpu-detection

Use ONNX Runtime for device detection and remove CPU-only PyTorch dependency
MahammadWahab540 and others added 10 commits July 4, 2026 13:01
…n-in-engine.py

Add TTS warmup, warmup health state, and /health endpoint
…ndpoint-in-server.py

Add /health endpoint and ONNX provider reporting
…ch_endpoint-for-text-synthesis

OpenAI /v1/audio/speech: stream WAV sentence chunks and add timing logs
…endpoint-with-streaming-mode

Add chunked streaming mode to /tts endpoint
…P3, sanitize CORS/config

- Fail closed when TTS_API_KEY unset (protected endpoints return 503, never public)
- verify_api_key supports Bearer and X-API-Key (hmac.compare_digest)
- ENABLE_MANAGEMENT_ENDPOINTS / ENABLE_WEB_UI default to false (safe)
- /api/ui/initial-data gated behind Web UI + key and config sanitized
- Fix /v1/audio/speech WAV streaming: keep first chunk RIFF header (chunk_index > 1)
- MP3 rejected with clear HTTP 400 on /tts and /v1/audio/speech (Option B)
- CORS uses ALLOWED_ORIGINS allow-list, allow_credentials=False (no wildcard)
- config.yaml cleaned: removed debug last_text blob, Linux log path, use_auth placeholder
- README documents required env, auth, formats, Railway, safe defaults
- Add/expand pytest coverage for all fixes (24 passing)
…id WAV

- /tts, /api/tts/speak (stream=true) and /v1/audio/speech now collect all
  chunk audio arrays, concatenate, and encode ONCE so the final WAV has a
  single correct RIFF/data header describing the full length (no truncation)
- Removed per-chunk header stripping / standalone-WAV streaming behavior
- Updated X-TTS-WAV-Streaming-Note to honestly state single valid WAV output
- Added latency headers (X-TTS-Total-Time-Ms, X-TTS-Inference-Time-Ms,
  X-TTS-Model, X-TTS-Voice) to all TTS responses
- Removed dead commented torch/torchaudio lines from utils.py
- Strengthened streaming tests: exactly one RIFF, getnframes reflects total,
  readframes returns full PCM, duration > single chunk, latency headers present
- 25 tests passing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant