An AI-powered voice director assistant for creating engaging audio content with distinct character voices.
- Overview
- Features
- Screenshots
- Technologies Used
- Getting Started
- Contributing
- License
- Disclaimer
- Limitation of Liability
- Acknowledgements
Project Echo revolutionizes the creation of audiobooks, podcasts, and plays by providing tools to generate unique characters and produce high-quality audio segments. The project aims to assist users in creating compelling audio content through AI-powered voice generation and character development.
-
Character Creation: Generate diverse characters with unique:
- Voices and personalities
- Names and titles
- Backgrounds and opinions
-
Audio Generation: Produce high-quality audio segments using advanced text-to-speech technology
-
Interactive Conversations: Engage in dynamic conversations with the AI assistant
-
File Processing: Handle various formats including PDFs, Word documents, and images
The AI agent follows a structured process to generate high-quality audio content:
-
Topic Understanding & Character Creation
- Analyzes your provided topic or content
- Creates unique characters with distinct personalities and voices tailored to your content
- Develops detailed character backgrounds and relationships
-
Audio Content Outline
- Generates a comprehensive outline of different scenes
- Structures the content for optimal flow and engagement
- Plans character interactions and dialogue sequences
-
Scene-by-Scene Generation
- Processes each scene individually
- Creates multiple audio segments per scene
- Ensures proper character voice consistency throughout
- Allows playback and review in the integrated audio player
-
Content Export
- Access completed audio segments in the right drawer
- Download functionality for all generated content
- Easy export for use in your projects
- FastAPI: Modern web framework for building APIs
- MongoDB: NoSQL database for data storage
- LiteLLM: Language model integration
- AWS S3: Audio file storage and serving
- Vue.js: Progressive JavaScript framework
- Tailwind CSS: Utility-first CSS framework
- Docker and Docker Compose (for Docker setup)
- Python 3.8+ (for local setup)
- Node.js and npm (for local setup)
The application requires specific environment variables to function properly. At minimum, you need:
OPENAI_API_KEY
(Required): Essential for text generation
Optional but recommended:
ELEVENLABS_API_KEY
: For improved audio quality (subscription required)KOKORO_BASE_URL
: For local audio generationSTABILITY_API_KEY
: For image generationOPENAI_IMAGE_MODEL
: Defaults to "dall-e-2"
Refer to .env.example
for a complete list of variables.
-
Ensure the following ports are available:
- 8080: Frontend
- 8000: Backend
- 27017: MongoDB
- 9000: MinIO
-
Build and run the services:
docker compose build
docker compose up
- Access the application at
http://localhost:8080
Tips:
- Mount a volume to
/app
for faster builds - Use
docker compose up --attach backend
to view specific service logs
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload
cd frontend
npm install
npm run serve
Access the application at http://localhost:8080
We welcome contributions to Project Echo! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your PR description clearly describes the problem and solution.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
Project Echo is provided "as is," without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
The authors and contributors shall not be responsible for any direct, indirect, incidental, special, exemplary, or consequential damages (including but not limited to procurement of substitute goods or services, loss of use, data, or profits, or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
List of third-party components and libraries used in the software and their licenses is available at third-party notices.