chatterbox
chatterbox copied to clipboard
feat(service): add FastAPI TTS service, DB access, Docker build; inst…
…all local chatterbox via editable; align deps (numpy, motor); write WAV via soundfile; add health/start script
Comment for chatterbox admin --> DO NOT MERGE IT
Hi @fciannella, thanks for this contribution and for extending ChatterBox with a FastAPI interface—that's a really useful feature!
I appreciate the effort that went into this. However, I have concerns about merging it directly into this main repository for a couple of key reasons:
- Scope of the Core Library: The primary goal of the
chatterboxlibrary is to provide a minimal, highly portable, and reusable core interface for the model itself. Including a specific web framework integration like FastAPI increases its size and complexity, potentially creating dependency issues for users who don't need a web API. - Maintaining Separation of Concerns: Your code is an excellent example of an application layer built on top of the core library. It serves as a great example of how to deploy ChatterBox, but it isn't part of the core model functionality.
Recommendation
I'd strongly recommend you do one of the following:
- Create a new dedicated repository/project, for example,
chatterbox-api-server. This would be the ideal solution, as it keeps the core library clean and gives you full control over the API server's development and dependencies. We could even link to your repo from our main README as a community-contributed deployment example! - Contribute it as an example recipe within a dedicated
examples/fastapi_serverdirectory in this repo. If you pursue this, we would need to ensure the FastAPI and Uvicorn dependencies are only installed when running the example, not as part of the core library's requirements.
What are your thoughts on setting up a new repository for the API server? chatterbox' should be happy to help promote it!