{"adoption": {"forks": 165, "observed_at": "2026-08-28T04:05:30.782930+00:00", "stars": 1747}, "canonical_url": "https://ross.abutalabs.com/products/auto-synced-translated-dubs", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Automatically translates the text of a video based on a subtitle file, and then uses AI voice services to create a new dubbed & translated audio track where the speech is synced using the subtitle's timings.", "domain": ["media", "developer-tools"], "enriched": true, "function": ["tts", "nlp", "audio-processing", "video-processing", "cli"], "health_score": 80, "homepage": null, "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ThioJoe/Auto-Synced-Translated-Dubs"], "name": "ThioJoe/Auto-Synced-Translated-Dubs", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-05-11T05:50:13+00:00", "repo": "ThioJoe/Auto-Synced-Translated-Dubs", "stars": 1747, "tags": ["dubbing", "subtitles", "translation", "text-to-speech", "youtube", "ffmpeg", "srt", "ai-voice", "natural-language-processing", "localization", "automation"], "topics": ["ai", "dubbing", "subtitles", "text-to-speech", "translation", "tts"], "urls": [], "use_cases": ["dub a video into multiple languages automatically", "create synced translated audio tracks from SRT subtitles", "translate YouTube video titles and descriptions", "generate AI voiceovers for translated subtitles", "batch translate and dub videos for localization", "add multiple language audio tracks to a video file"], "what_it_is": "A Python CLI tool that automatically translates video subtitles into multiple languages and generates AI voice dubbed audio tracks synced to the original video using subtitle timings. It supports translation services like Google Cloud and DeepL, and neural TTS providers such as Azure, with batch processing and YouTube API helper scripts.", "when_to_avoid": ["you need real-time live translation or dubbing", "you have no subtitle file and need automatic speech recognition first", "you require a GUI-based dubbing workflow"], "when_to_choose": ["you have existing SRT subtitle files and want automated multilingual dubbing", "you need translated speech synced precisely to original video timings", "you want batch processing of many languages with configurable translation and TTS settings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/auto-synced-translated-dubs", "repo": "ThioJoe/Auto-Synced-Translated-Dubs", "role": "main", "score": 59}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.782930+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:29:01.884993+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a6d63f8f7c139667ee456c507b4c0d180972d7f2b78d7661980e2aa5bfeb4b3", "fetched_at": "2026-08-28T04:05:30.782930+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThioJoe/Auto-Synced-Translated-Dubs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 97, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1364, "days_push": 114, "days_rel": 583, "gap_med": null, "n_releases_24m": 1}, "score": 59, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}