{"adoption": {"forks": 179, "observed_at": "2026-08-28T04:04:40.167561+00:00", "stars": 1418}, "canonical_url": "https://ross.abutalabs.com/products/cycfi-q", "card": {"archived": false, "artifact_type": "library", "description": "C++ Library for Audio Digital Signal Processing", "domain": ["media"], "enriched": true, "function": ["audio-processing", "image-processing"], "health_score": 87, "homepage": null, "language": "C++", "license": "BSL-1.0", "license_family": "other", "maturity": "active", "member_repos": ["cycfi/q"], "name": "cycfi/q", "platform": ["cross-platform", "cpp", "embedded"], "pushed_at": "2026-08-23T13:27:20+00:00", "repo": "cycfi/q", "stars": 1418, "tags": ["dsp", "synthesis", "pitch-detection", "header-only", "cpp20", "midi", "filters", "oscillators", "fft", "guitar-effects", "audio", "music-production"], "topics": ["dsp-library", "synth", "c-plus-plus", "dsp", "audio", "audio-processing", "pitch-detection", "pitch-tracking", "effects", "music", "frequency", "function-composition", "modern-cpp", "cpp-library", "guitar-processor", "cpp", "cpp20"], "urls": [], "use_cases": ["process audio signals in C++ with composable DSP primitives", "detect pitch in audio streams", "build guitar effects processors", "create synthesizer oscillators and resonant filters", "run DSP on small microcontrollers", "connect to audio and MIDI devices from C++", "implement granular and overlap-add audio effects"], "what_it_is": "Q is a cross-platform, header-only C++20 library for audio digital signal processing, built around fine-grained, composable function objects. It includes oscillators, filters, envelopes, dynamics, delays, pitch detection, FFT, granular primitives, and an optional q_io layer for audio and MIDI connectivity.", "when_to_avoid": ["you need a full DAW or audio host application rather than a library", "you require a language other than C++", "you need production-grade, heavily battle-tested audio middleware with commercial support", "you want high-level music information retrieval beyond the library's experimental facilities"], "when_to_choose": ["you need a lightweight, header-only modern C++ DSP toolkit", "you want efficient audio processing that can run on microcontrollers", "you are building music-related DSP such as synths or guitar effects", "you prefer functional-style composition of reusable DSP building blocks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cycfi-q", "repo": "cycfi/q", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "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:04:40.167561+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.167561+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:56.701915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3df2301f9c2bc7134733bb3709cf3ad0970021f9cae378552fcbf308bbcba25b", "fetched_at": "2026-08-28T04:04:40.167561+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cycfi/q"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "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": 3225, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}