Skip to content

AI-powered podcast generator for language learners. Creates custom scripts and audio using CrewAI, OpenAI, and TTS.

License

Notifications You must be signed in to change notification settings

serkanyasr/vocavoice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VocaVoice

license last-commit repo-top-language repo-language-count


📍 Overview

VocaVoice is an AI-powered vocabulary learning tool that generates podcast-style episodes tailored to your language level, voice preference, and chosen topic. Built with CrewAI, OpenAI, and Streamlit.

🎧 Demo

video.mp4

🎯 Example Use Case

  • You are an A2-level English learner and select English as your language.
  • You choose the topic "Technology", pick a calm voice, and provide your personal vocabulary list.
  • VocaVoice generates a podcast script, simplifies it based on your level, and produces an audio version for listening practice.

✨ Features

  • 🧠 AI-generated scripts based on your selected topic and level
  • 📜 Simplified vocabulary explanations
  • 🎤 Text-to-speech podcast creation
  • 📂 Auto-organized outputs (scripts + audio)
  • 🌐 Web UI via Streamlit for non-technical users


🧱 Project Structure

vocavoice/
├── src/
│   └── vocavoice/
│       ├── config/           # Configuration files
│       ├── tools/            # Assistant tools
│       ├── ui/               # User interface components
│       ├── crew.py           # CrewAI configuration
│       ├── main.py           # Main application
│       └── ui_vocavoice.py   # Streamlit interface
├── tests/                    # Test files
├── pyproject.toml           # Project dependencies
└── README.md

🚀 Getting Started

☑️ Prerequisites

  • Python >=3.10 <3.13
  • UV (Dependency Management)

⚙️ Installation

First, install UV:

❯ pip install uv

Navigate to your project directory and install dependencies:

# Clone the repository
❯ git clone https://github.com/serkanyasr/vocavoice
❯ cd vocavoice

# Install dependencies
❯ uv tool install crewai
❯ crewai install

🔧 Customization

Add your OPENAI_API_KEY to the .env file

  • Modify src/vocavoice/config/agents.yaml to define your agents
  • Modify src/vocavoice/config/tasks.yaml to define your tasks
  • Modify src/vocavoice/crew.py to add your own logic, tools and specific args
  • Modify src/vocavoice/main.py to add custom inputs for your agents and tasks

🤖 Running the Project

To start your VocaVoice agents and begin task execution, run this from the root folder:

❯ crewai run

This command initializes the VocaVoice crew, assembling the agents and assigning them tasks as defined in your configuration.

Running with Streamlit Interface:

❯ streamlit run src/vocavoice/ui/streamlit_ui.py

🧠 Understanding Your Crew

The VocaVoice crew consists of multiple AI agents, each with unique roles, goals, and tools. These agents collaborate on a series of tasks, defined in config/tasks.yaml, leveraging their collective skills to achieve complex objectives. The config/agents.yaml file outlines the capabilities and configurations of each agent in your crew.


🧪 Development / Contributing

  • Fork the repo and create feature branches
  • Submit a PR with a description of your changes
  • Tag @serkanyasr in issues or PRs

🎗 License

This project is licensed under the MIT License. For more details, refer to the LICENSE file.


About

AI-powered podcast generator for language learners. Creates custom scripts and audio using CrewAI, OpenAI, and TTS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published