{"id":31581134,"url":"https://github.com/jet-logic/vocal_vse","last_synced_at":"2026-05-14T20:31:38.090Z","repository":{"id":313316380,"uuid":"1050906777","full_name":"jet-logic/vocal_vse","owner":"jet-logic","description":"Generates voiceover audio from text strips in the Blender Video Sequence Editor","archived":false,"fork":false,"pushed_at":"2025-09-12T14:24:42.000Z","size":127,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T21:56:31.590Z","etag":null,"topics":["audio-generation","blender","blender-addon","blender-python","text-to-speech","tts","video-editing","vse"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jet-logic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T06:11:41.000Z","updated_at":"2025-09-12T14:24:45.000Z","dependencies_parsed_at":"2025-09-05T09:25:21.875Z","dependency_job_id":"0c4bd10d-62f9-4d7d-94c4-101e448bdb1d","html_url":"https://github.com/jet-logic/vocal_vse","commit_stats":null,"previous_names":["jet-logic/blender_tts","jet-logic/vocal_vse"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jet-logic/vocal_vse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jet-logic%2Fvocal_vse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jet-logic%2Fvocal_vse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jet-logic%2Fvocal_vse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jet-logic%2Fvocal_vse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jet-logic","download_url":"https://codeload.github.com/jet-logic/vocal_vse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jet-logic%2Fvocal_vse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33042105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-generation","blender","blender-addon","blender-python","text-to-speech","tts","video-editing","vse"],"created_at":"2025-10-05T21:53:47.590Z","updated_at":"2026-05-14T20:31:38.073Z","avatar_url":"https://github.com/jet-logic.png","language":"Python","funding_links":["https://ko-fi.com/B0B01E8SY7"],"categories":[],"sub_categories":[],"readme":"**Vocal VSE**: Generate voiceover narration from text strips directly in the Video Sequence Editor (VSE)\n\n[![vocal_vse](logo.svg)](https://github.com/jet-logic/vocal_vse/)\n\n🔊 Offline TTS | 🔄 Auto-sync | 🧹 Cleanup | 💾 Cached audio\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B01E8SY7)\n\n## Features\n\n- Generate narration via `pyttsx3`\n- Unique ID links text to audio\n- Auto-save to `~/.cache/vocal_vse`\n- Refresh narration after editing text\n- Cleanup unused audio files\n- Copy audio path to clipboard\n\n---\n\n### 🐧 Linux Users: Additional Step\n\nMake sure you have `espeak` installed:\n\n```bash\nsudo apt install espeak libespeak1\n```\n\n## 🔧 Installation: Required Dependency\n\nThis add-on uses **text-to-speech (TTS)** via the `pyttsx3` library, which is **not bundled with Blender**. You must install it once into Blender’s Python environment.\n\n### Option 1: Install from Blender’s Scripting Tab (Easiest)\n\n1. Open Blender\n2. Go to the **Scripting** workspace\n3. In the **Python Console**, paste and run this code:\n\n```python\nimport subprocess\nimport sys\n\n# Install pyttsx3\nsubprocess.run([sys.executable, \"-m\", \"pip\", \"install\", \"pyttsx3\"])\n```\n\n### Option 2: Command Line (Advanced)\n\nIf you prefer the terminal, run this command (adjust path to your Blender version):\n\n#### Linux/macOS:\n\n```bash\n/path/to/blender/4.0/python/bin/python3.10 -m pip install pyttsx3\n```\n\n#### Windows:\n\n```cmd\n\"C:\\Program Files\\Blender Foundation\\Blender 4.0\\4.0\\python\\bin\\python.exe\" -m pip install pyttsx3\n```\n\n\u003e 💡 Tip: Replace `4.0` with your Blender version.\n\n---\n\n### Option 3: Use `--python-expr` to Install `pyttsx3`\n\n#### 🔧 Command (One-Liner)\n\n```bash\nblender --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\n#### 💡 Breakdown\n\n| Part                  | Purpose                                               |\n| --------------------- | ----------------------------------------------------- |\n| `blender`             | Calls Blender (must be in `PATH`, or use full path)   |\n| `--background`        | Runs without opening UI                               |\n| `--python-expr \"...\"` | Executes the Python code inside Blender's environment |\n| `sys.executable`      | Points to **Blender’s Python**, not system Python     |\n| `pip install pyttsx3` | Installs the package into Blender’s Python            |\n\n---\n\n### 🖥️ OS-Specific Tips\n\n#### 1. **If `blender` is in your PATH** (Linux/macOS/Windows with setup)\n\n```bash\nblender --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\n#### 2. **If not in PATH — Use Full Path**\n\n##### 🖥️ Windows\n\n```cmd\n\"C:\\Program Files\\Blender Foundation\\Blender 4.0\\blender.exe\" --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\n##### 🍏 macOS\n\n```bash\n/Applications/Blender.app/Contents/MacOS/Blender --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\n##### 🐧 Linux (installed via package)\n\n```bash\nblender --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\nOr if using a downloaded version:\n\n```bash\n~/blender-4.0-linux-x64/blender --background --python-expr \"import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyttsx3'])\"\n```\n\n---\n\n### ✅ Verify It Worked\n\nRun this command to test:\n\n```bash\nblender --background --python-expr \"import pyttsx3; print('✅ pyttsx3 installed successfully!')\"\n```\n\nIf you see the success message — you're good!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjet-logic%2Fvocal_vse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjet-logic%2Fvocal_vse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjet-logic%2Fvocal_vse/lists"}