A full-stack web application that allows users to clone voices and generate text-to-speech audio using the cloned voices. Built with React.js for the frontend and Node.js/Express for the backend, utilizing the PlayHT API for voice cloning and text-to-speech conversion. This is a part of my tasks as an intern at Coding Bits.
- Voice file upload (up to 5MB)
- Text-to-speech generation (up to 500 characters)
- Real-time audio preview
- Generated audio download functionality
- Responsive design for all devices
- Error handling and validation
- React.js with TypeScript
- Tailwind CSS for styling
- Axios for API communication
- HTML5 Audio for playback
- Node.js & Express.js
- PlayHT SDK for voice cloning
- Multer for file handling
- CORS for cross-origin requests
- Node.js (v18 or higher)
- npm or yarn package manager
- PlayHT API account credentials
- Git
- Clone the repository
git clone https://github.com/qaidjoharj53/Voice-Clone-TTS.git
cd Voice-Clone-TTS- Install frontend dependencies
cd client
npm install- Install backend dependencies
cd ../server
npm install- Backend (.env in server directory)
PORT=5000
PLAYHT_API_KEY=your_playht_api_key
PLAYHT_USER_ID=your_playht_user_id- Frontend (.env in client directory)
REACT_APP_API_URL=http://localhost:5000/api- Start the backend server
cd server
npm start- Start the frontend development server
cd client
npm startThe application will be available at http://localhost:3000
Voice-Clone-TTS/
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # React components
│ │ └── App.tsx # Main application component
│ ├── public/ # Static files
│ └── package.json # Frontend dependencies
└── server/ # Backend Express application
├── routes/ # API route definitions
├── controllers/ # Business logic
├── server.js # Express server setup
└── package.json # Backend dependencies
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Feel free to reach out Qaidjohar Jukker if you have any questions or need further assistance. I am always happy to help!
This project is licensed under the MIT License - see the LICENSE file for details.