VoxShift is a modern, expressive text-to-speech web app that lets you generate lifelike voice clips in multiple styles and languages. Whether you’re making content, experimenting with AI, or just having fun — VoxShift brings your words to life.
- 🎤 Convert any text into lifelike speech
- 🎭 Choose from expressive voice tones (neutral, calm, angry, etc.)
- 🌍 Support for multiple languages (English, Hindi, Spanish, etc.)
- 🎧 Play, preview, and download generated audio
- 🌓 Toggle between light & dark mode
- 💡 Built with clean, modular architecture
Layer | Tooling |
---|---|
Frontend | React + Bootstrap |
Backend | Flask (Python) |
TTS Engine | gTTS (Google TTS) |
Styling | Custom CSS / Neumorphism |
API Comm. | Axios |
voxshift/
├── backend/ ← Flask + gTTS
│ ├── app/
│ │ ├── __init__.py
│ │ ├── config.py
│ │ ├── routes/
│ │ │ └── tts.py
│ │ └── services/
│ │ └── tts_service.py
│ ├── audio_output/
│ ├── run.py
│ ├── requirements.txt
│ └── .env
│
├── frontend/ ← React + Bootstrap
│ ├── public/
│ └── src/
│ ├── components/
│ │ ├── VoiceForm.jsx
│ │ └── AudioPlayer.jsx
│ ├── App.jsx
│ ├── index.js
│ └── custom.css
│ └── package.json
cd backend
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
Add a .env
file in /backend
:
AUDIO_FOLDER=audio_output
DEBUG=true
TTS_PROVIDER=gtts
Run the Flask app:
python run.py
cd frontend
npm install
npm start
The frontend runs on http://localhost:3000
The backend runs on http://localhost:5000
Generate speech audio.
Request JSON:
{
"text": "Hello from VoxShift",
"style": "neutral",
"language": "en"
}
Returns: .mp3
audio file
- 🎧 Output is streamed to the browser
- 📥 Download as
.mp3
with one click
- 🎙 Support more voice engines (like ElevenLabs)
- 🔊 Real-time voice previews
- 🗂 Save history & favorites
- 🎚 Fine-tune voice pitch, speed, stability
Want to contribute? PRs are welcome!
To get started:
- Fork the repo
- Create a feature branch
- Submit a pull request
MIT © 2025 Nuraj250
VoxShift — Where words find their voice.