{"adoption": {"forks": 350, "observed_at": "2026-08-28T04:06:17.158691+00:00", "stars": 2132}, "canonical_url": "https://ross.abutalabs.com/products/noscribe", "card": {"archived": false, "artifact_type": "application", "description": "Cutting edge AI technology for automated audio transcription. A nice GUI for OpenAIs Whisper and pyannote (speaker identification)", "domain": ["speech-processing", "developer-tools", "desktop-applications"], "enriched": true, "function": ["speech-recognition", "audio-processing", "gui"], "health_score": 95, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["kaixxx/noScribe"], "name": "kaixxx/noScribe", "platform": ["windows", "cross-platform"], "pushed_at": "2026-07-21T14:02:16+00:00", "repo": "kaixxx/noScribe", "stars": 2132, "tags": ["whisper", "pyannote", "speaker-diarization", "transcription", "interviews", "qualitative-research", "local-ai", "offline", "natural-language-processing", "macos", "linux", "desktop"], "topics": ["audio-transcription", "interview", "pyannote", "qualitative-research", "transcription", "faster-whisper"], "urls": [], "use_cases": ["transcribe interview recordings to text", "identify different speakers in an audio recording", "transcribe audio offline without uploading to the cloud", "prepare transcripts for qualitative social research", "transcribe journalistic interviews", "review and correct AI-generated transcripts in an editor", "transcribe audio in multiple languages"], "what_it_is": "noScribe is a free, open-source desktop application that transcribes audio locally using OpenAI's Whisper (via faster-whisper) and pyannote for speaker identification. It includes a built-in editor for reviewing and correcting transcripts, targeting qualitative researchers and journalists.", "when_to_avoid": ["you need fast, real-time transcription (it can take up to 3x audio duration)", "your audio quality is poor or noisy", "you cannot spare several gigabytes for AI models", "you need cloud-scale batch transcription of many files", "you want a lightweight tool without large model downloads"], "when_to_choose": ["you need confidential, fully local transcription with no cloud services", "you need speaker diarization alongside transcription", "you work in qualitative research or journalism with interview recordings", "you want a GUI instead of command-line Whisper tools", "you need multilingual transcription support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/noscribe", "repo": "kaixxx/noScribe", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "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:06:17.158691+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:17.158691+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:52:03.478218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "312210271f13474224adf2cfe98a1d5a2281fcf0450a4f6b2f4cd3b4d04ebe45", "fetched_at": "2026-08-28T04:06:17.158691+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kaixxx/noScribe"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 86, "rhythm": 54}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1209, "days_push": 43, "days_rel": 92, "gap_med": 237.5, "n_releases_24m": 3}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}