{"adoption": {"forks": 160, "observed_at": "2026-08-28T04:03:39.190764+00:00", "stars": 1118}, "canonical_url": "https://ross.abutalabs.com/products/opentts", "card": {"archived": true, "artifact_type": "service", "description": "Open Text to Speech Server", "domain": ["speech-processing", "self-hosted"], "enriched": true, "function": ["tts", "http-server", "speech-recognition"], "health_score": 10, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["synesthesiam/opentts"], "name": "synesthesiam/opentts", "platform": ["python", "self-hosted"], "pushed_at": "2024-03-20T15:34:46+00:00", "repo": "synesthesiam/opentts", "stars": 1118, "tags": ["text-to-speech", "ssml", "voice-synthesis", "multilingual", "rest-api", "natural-language-processing", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["self-host a text to speech server with multiple voices", "generate speech audio from text via an HTTP API", "mix different TTS engines and languages in one document with SSML", "find and preview open source TTS voices for many languages", "add offline text-to-speech to a home automation setup"], "what_it_is": "OpenTTS is a text-to-speech server that unifies access to multiple open source TTS systems (Larynx, Glow-Speak, Coqui-TTS, MaryTTS, flite, Festival) and their voices across many languages. It exposes an HTTP API with a web interface and supports a subset of SSML for mixing voices, systems, and languages within a single request.", "when_to_avoid": ["you need the latest neural TTS models or active development, since the project is in maintenance mode", "you need commercial-quality cloud voices or cloud provider integrations", "you only need a single TTS engine, where using that engine directly is simpler"], "when_to_choose": ["you want one unified API over many open source TTS engines and voices", "you need multilingual speech synthesis with per-sentence language switching", "you prefer self-hosted, offline TTS with Docker deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opentts", "repo": "synesthesiam/opentts", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "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:39.190764+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:39.190764+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:41:50.541690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8390cca68eff14bff74960a668d4a12fc9d595a1ad69669515f1a900b1b94443", "fetched_at": "2026-08-28T04:03:39.190764+00:00", "kind": "readme", "missing": false, "url": "https://github.com/synesthesiam/opentts"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2296, "days_push": 896, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}