{"adoption": {"forks": 298, "observed_at": "2026-08-28T04:03:26.145102+00:00", "stars": 1062}, "canonical_url": "https://ross.abutalabs.com/products/paddlebobo", "card": {"archived": false, "artifact_type": "application", "description": "基于飞桨开发的虚拟主播", "domain": ["artificial-intelligence", "deep-learning", "media"], "enriched": true, "function": ["tts", "video-processing", "machine-learning", "deep-learning", "image-processing"], "health_score": 20, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["JiehangXie/PaddleBoBo"], "name": "JiehangXie/PaddleBoBo", "platform": ["windows", "python"], "pushed_at": "2023-03-12T05:16:01+00:00", "repo": "JiehangXie/PaddleBoBo", "stars": 1062, "tags": ["virtual-youtuber", "vtuber", "face-animation", "text-to-speech", "paddlepaddle", "live-streaming", "avatar-generation", "video", "natural-language-processing", "linux", "macos", "gpu"], "topics": [], "urls": [], "use_cases": ["generate a virtual streamer video from a photo and text", "create an AI avatar that reads news scripts aloud", "run a real-time virtual host live stream on Bilibili", "animate a static face image with facial expressions", "customize TTS speech rate, pitch, and energy for an avatar voice"], "what_it_is": "PaddleBoBo is a Python project built on PaddlePaddle (with PaddleSpeech and PaddleGAN) that quickly generates a virtual streamer (VTuber) from a single portrait image and text input. It animates a static face via facial expression transfer, synthesizes speech with TTS, and supports both pre-rendered video generation and real-time live streaming.", "when_to_avoid": ["you lack an NVIDIA GPU with large VRAM or a cloud GPU environment", "you need a polished, actively maintained product rather than a demo-grade project", "you prefer PyTorch/TensorFlow-based animation toolkits like SadTalker or Wav2Lip"], "when_to_choose": ["you want a quick VTuber/avatar video generator using only one portrait photo", "you are already in the PaddlePaddle ecosystem (e.g., AIStudio with GPUs)", "you need both offline video generation and live streaming from the same pipeline"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/paddlebobo", "repo": "JiehangXie/PaddleBoBo", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "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:03:26.145102+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.145102+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:56:42.161740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2c951841bedc9aaf351a92ceb10a684cac445691717db61be61dc3fde89f116", "fetched_at": "2026-08-28T04:03:26.145102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiehangXie/PaddleBoBo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1715, "days_push": 1270, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}