{"adoption": {"forks": 270, "observed_at": "2026-08-28T04:06:29.172490+00:00", "stars": 2232}, "canonical_url": "https://ross.abutalabs.com/products/novocaine", "card": {"archived": false, "artifact_type": "library", "description": "Painless high-performance audio on iOS and Mac OS X", "domain": ["mobile-development", "developer-tools"], "enriched": true, "function": ["audio-processing", "sdk"], "health_score": 20, "homepage": "http://alexbw.github.com/novocaine/", "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["alexbw/novocaine"], "name": "alexbw/novocaine", "platform": ["cpp"], "pushed_at": "2018-11-28T13:21:24+00:00", "repo": "alexbw/novocaine", "stars": 2232, "tags": ["core-audio", "audio-units", "objective-c", "real-time-audio", "microphone", "playback", "audio", "ios", "macos"], "topics": [], "urls": [], "use_cases": ["capture microphone audio in real time on iOS", "play back generated audio with low latency on Mac", "build an audio analyzer or oscilloscope app", "route audio input to output for pass-through monitoring", "avoid writing raw Core Audio Audio Unit code"], "what_it_is": "Novocaine is an Objective-C/C++ library that wraps Apple's low-level Audio Units API to make high-performance real-time audio input and output on iOS and Mac OS X simple. It provides easy block-based callbacks for reading microphone audio and writing playback audio with minimal code.", "when_to_avoid": ["you need cross-platform audio beyond Apple platforms", "you're using Swift exclusively and don't want Objective-C++ interop", "you need actively maintained software - the last release was in 2018", "you need high-level features like codecs, file playback, or effects chains"], "when_to_choose": ["you need low-latency real-time audio on iOS or macOS without wrestling with Audio Units", "you want a simple block-based API for mic input and speaker output", "you're building audio analysis tools like RTAs or oscilloscopes in Objective-C"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/novocaine", "repo": "alexbw/novocaine", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "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:29.172490+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.172490+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:24.753396+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e4301f0b814e0f6eb283f22a5bb05a4819a51ba043cd90f7558db143f62e136", "fetched_at": "2026-08-28T04:06:29.172490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexbw/novocaine"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5266, "days_push": 2835, "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}}