# Kokoro Manim Voiceover
Professional library for generating high-quality voiceovers in Manim animations using the Kokoro-82M model.
[](upi://pay?pa=nk73@upi)
## Installation
### From PyPI (Recommended)
```bash
pip install kokoro-manim-voiceover
```
### Using uv (Alternative)
```bash
# For new projects
uv init my-project
cd my-project
uv add kokoro-manim-voiceover
# Or install directly
uv pip install kokoro-manim-voiceover
```
**Note:** `uv` is a modern, high-performance Python package manager that offers significantly faster installations and better dependency resolution than pip. It's fully compatible with existing Python workflows.
### From Source
```bash
git clone https://github.com/nkayzai/kokoro-manim-voiceover.git
cd kokoro-manim-voiceover
pip install -e .
```
## Quick Start
```python
from manim import *
from manim_voiceover import VoiceoverScene
from kokoro_mv import KokoroService
class MyAnimation(VoiceoverScene):
def construct(self):
self.set_speech_service(KokoroService(voice="af"))
with self.voiceover(text="Hello, this is my first voiceover!") as tracker:
self.play(Write(Text("Hello, this is my first voiceover!")), run_time=tracker.duration)
```
## Available Voices
| Voice Code | Description |
|------------|-------------|
| `af` | American Female (default) |
| `af_bella` | American Female - Bella |
| `af_nicole` | American Female - Nicole |
| `af_sarah` | American Female - Sarah |
| `af_sky` | American Female - Sky |
| `am_adam` | American Male - Adam |
| `am_michael` | American Male - Michael |
| `bf_emma` | British Female - Emma |
| `bf_isabella` | British Female - Isabella |
| `bm_george` | British Male - George |
| `bm_lewis` | British Male - Lewis |
## Usage Examples
### Basic Animation
```python
class BasicExample(VoiceoverScene):
def construct(self):
self.set_speech_service(KokoroService(voice="af"))
circle = Circle()
square = Square().shift(2 * RIGHT)
with self.voiceover(text="This circle is drawn as I speak.") as tracker:
self.play(Create(circle), run_time=tracker.duration)
with self.voiceover(text="Now let's transform it into a square.") as tracker:
self.play(Transform(circle, square), run_time=tracker.duration)
```
### Custom Configuration
```python
service = KokoroService(
voice="am_michael", # Male voice
speed=1.2, # 20% faster
lang="en-us" # Language setting
)
```
## Requirements
- Python 3.11+
- Dependencies are automatically installed
## Model Files
The library automatically downloads required model files (~220MB) on first use.
## Development
### Setting up development environment
#### Using uv (Recommended)
```bash
# Clone the repository
git clone https://github.com/nkayzai/kokoro-manim-voiceover.git
cd kokoro-manim-voiceover
# Install in development mode with all dependencies
uv sync --dev
# Run tests
uv run pytest
# Format code
uv run black .
uv run isort .
# Type checking
uv run mypy .
```
#### Using pip
```bash
# Clone the repository
git clone https://github.com/nkayzai/kokoro-manim-voiceover.git
cd kokoro-manim-voiceover
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black .
isort .
```
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "kokoro-manim-voiceover",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "Nadeem Akhtar Khan <nadeemak755@gmail.com>",
"keywords": "manim, voiceover, text-to-speech, kokoro, animation, tts, ai-voice",
"author": null,
"author_email": "Nadeem Akhtar Khan <nadeemak755@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/bb/97/0fa3c80affab0a07df350ae4a3e149160160078333680e12ef6850aa585e/kokoro_manim_voiceover-0.1.3.tar.gz",
"platform": null,
"description": "# Kokoro Manim Voiceover\n\nProfessional library for generating high-quality voiceovers in Manim animations using the Kokoro-82M model.\n\n[](upi://pay?pa=nk73@upi)\n\n\n## Installation\n\n### From PyPI (Recommended)\n```bash\npip install kokoro-manim-voiceover\n```\n\n### Using uv (Alternative)\n```bash\n# For new projects\nuv init my-project\ncd my-project\nuv add kokoro-manim-voiceover\n\n# Or install directly\nuv pip install kokoro-manim-voiceover\n```\n\n**Note:** `uv` is a modern, high-performance Python package manager that offers significantly faster installations and better dependency resolution than pip. It's fully compatible with existing Python workflows.\n\n### From Source\n```bash\ngit clone https://github.com/nkayzai/kokoro-manim-voiceover.git\ncd kokoro-manim-voiceover\npip install -e .\n```\n\n## Quick Start\n\n```python\nfrom manim import *\nfrom manim_voiceover import VoiceoverScene\nfrom kokoro_mv import KokoroService\n\nclass MyAnimation(VoiceoverScene):\n def construct(self):\n self.set_speech_service(KokoroService(voice=\"af\"))\n \n with self.voiceover(text=\"Hello, this is my first voiceover!\") as tracker:\n self.play(Write(Text(\"Hello, this is my first voiceover!\")), run_time=tracker.duration)\n```\n\n## Available Voices\n\n| Voice Code | Description |\n|------------|-------------|\n| `af` | American Female (default) |\n| `af_bella` | American Female - Bella |\n| `af_nicole` | American Female - Nicole |\n| `af_sarah` | American Female - Sarah |\n| `af_sky` | American Female - Sky |\n| `am_adam` | American Male - Adam |\n| `am_michael` | American Male - Michael |\n| `bf_emma` | British Female - Emma |\n| `bf_isabella` | British Female - Isabella |\n| `bm_george` | British Male - George |\n| `bm_lewis` | British Male - Lewis |\n\n## Usage Examples\n\n### Basic Animation\n```python\nclass BasicExample(VoiceoverScene):\n def construct(self):\n self.set_speech_service(KokoroService(voice=\"af\"))\n \n circle = Circle()\n square = Square().shift(2 * RIGHT)\n \n with self.voiceover(text=\"This circle is drawn as I speak.\") as tracker:\n self.play(Create(circle), run_time=tracker.duration)\n \n with self.voiceover(text=\"Now let's transform it into a square.\") as tracker:\n self.play(Transform(circle, square), run_time=tracker.duration)\n```\n\n### Custom Configuration\n```python\nservice = KokoroService(\n voice=\"am_michael\", # Male voice\n speed=1.2, # 20% faster\n lang=\"en-us\" # Language setting\n)\n```\n\n## Requirements\n\n- Python 3.11+\n- Dependencies are automatically installed\n\n## Model Files\n\nThe library automatically downloads required model files (~220MB) on first use.\n\n## Development\n\n### Setting up development environment\n\n#### Using uv (Recommended)\n```bash\n# Clone the repository\ngit clone https://github.com/nkayzai/kokoro-manim-voiceover.git\ncd kokoro-manim-voiceover\n\n# Install in development mode with all dependencies\nuv sync --dev\n\n# Run tests\nuv run pytest\n\n# Format code\nuv run black .\nuv run isort .\n\n# Type checking\nuv run mypy .\n```\n\n#### Using pip\n```bash\n# Clone the repository\ngit clone https://github.com/nkayzai/kokoro-manim-voiceover.git\ncd kokoro-manim-voiceover\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n\n# Install in development mode\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Format code\nblack .\nisort .\n```\n\n## License\n\n\nMIT License\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Professional library for generating high-quality voiceovers in Manim animations using Kokoro-82M model",
"version": "0.1.3",
"project_urls": {
"Bug Tracker": "https://github.com/nkayzai/kokoro-manim-voiceover/issues",
"Documentation": "https://github.com/nkayzai/kokoro-manim-voiceover#readme",
"Homepage": "https://github.com/nkayzai/kokoro-manim-voiceover",
"Repository": "https://github.com/nkayzai/kokoro-manim-voiceover"
},
"split_keywords": [
"manim",
" voiceover",
" text-to-speech",
" kokoro",
" animation",
" tts",
" ai-voice"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "caa40b03cb32e590fc6c7ed8848ddcb5d999f10a8fe35777d7e9e531621ed15b",
"md5": "b2fc42123f5d7cb7e8248418d8d81803",
"sha256": "b19ab6d8d3132ebfce9e11930415d40ef40a606c587b9b915c106f9a0abda4a2"
},
"downloads": -1,
"filename": "kokoro_manim_voiceover-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2fc42123f5d7cb7e8248418d8d81803",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 8657,
"upload_time": "2025-09-10T05:25:56",
"upload_time_iso_8601": "2025-09-10T05:25:56.866138Z",
"url": "https://files.pythonhosted.org/packages/ca/a4/0b03cb32e590fc6c7ed8848ddcb5d999f10a8fe35777d7e9e531621ed15b/kokoro_manim_voiceover-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bb970fa3c80affab0a07df350ae4a3e149160160078333680e12ef6850aa585e",
"md5": "09ac3741d7baede6a25ddbf9299e519e",
"sha256": "c874819d06803e74f95292509e3a6b87b68b22f2365b8b594153d53c5a6f971c"
},
"downloads": -1,
"filename": "kokoro_manim_voiceover-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "09ac3741d7baede6a25ddbf9299e519e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 8521,
"upload_time": "2025-09-10T05:25:58",
"upload_time_iso_8601": "2025-09-10T05:25:58.387466Z",
"url": "https://files.pythonhosted.org/packages/bb/97/0fa3c80affab0a07df350ae4a3e149160160078333680e12ef6850aa585e/kokoro_manim_voiceover-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-10 05:25:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nkayzai",
"github_project": "kokoro-manim-voiceover",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kokoro-manim-voiceover"
}