ToSpeech is a local web application for audio generation, featuring a React frontend and a FastAPI backend with Celery/Valkey for asynchronous task processing.
- Python Environment (Choose one):
- Conda (Anaconda or Miniconda)
- Python 3.9+ (Standard installation)
- Node.js 18+
- Valkey (Redis alternative)
- macOS:
brew install valkey - Windows: Memurai or WSL
- Linux:
sudo apt install valkey
- macOS:
Navigate to the Backend directory and choose your preferred environment manager.
cd Backend
conda create -n tospeech python=3.10
conda activate tospeech
pip install -r requirements.txtcd Backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtNavigate to the Frontend directory and install dependencies.
cd ../Frontend
npm installYou will need 4 terminal windows to run the full stack locally.
Start the Valkey server on port 1312.
cd Backend
./start_valkey.shStart the background worker. Ensure your environment is activated.
Conda:
cd Backend
conda activate tospeech
./start_celery.shvenv:
cd Backend
source venv/bin/activate
./start_celery.shStart the FastAPI server on port 1311. Ensure your environment is activated.
Conda:
cd Backend
conda activate tospeech
uvicorn main:app --reload --port 1311venv:
cd Backend
source venv/bin/activate
uvicorn main:app --reload --port 1311Start the React development server.
cd Frontend
npm run devThe application will be available at http://localhost:1310.
- Frontend:
http://localhost:1310(Vite) - Backend API:
http://localhost:1311(FastAPI) - Valkey:
localhost:1312(Broker)
This project utilizes code from VibeVoice by Microsoft (and its community fork), which is licensed under the MIT License. We gratefully acknowledge their open-source contribution.
The VibeVoice code is located in Backend/VibeVoice1.5/ and retains its original MIT license. Please refer to Backend/VibeVoice1.5/LICENSE for full terms regarding that component.
ToSpeech's original code is licensed under the GNU General Public License v3.0 (GPLv3). See the main LICENSE file for details.