{"adoption": {"forks": 204, "observed_at": "2026-08-28T04:04:14.728358+00:00", "stars": 1285}, "canonical_url": "https://ross.abutalabs.com/products/mozzi", "card": {"archived": false, "artifact_type": "library", "description": "sound synthesis library for Arduino", "domain": ["embedded-systems", "hardware", "media"], "enriched": true, "function": ["audio-processing", "sdk"], "health_score": 94, "homepage": "https://sensorium.github.io/Mozzi/", "language": "C", "license": "LGPL-2.1", "license_family": "copyleft", "maturity": "active", "member_repos": ["sensorium/Mozzi"], "name": "sensorium/Mozzi", "platform": ["embedded", "iot", "cpp", "c"], "pushed_at": "2026-07-22T12:35:24+00:00", "repo": "sensorium/Mozzi", "stars": 1285, "tags": ["arduino", "sound-synthesis", "oscillators", "dsp", "sonification", "microcontroller", "wavetables", "audio"], "topics": [], "urls": [], "use_cases": ["generate algorithmic music on an Arduino for installations or performances", "create interactive sonifications of sensor data", "build a cheap synthesizer without additional audio shields", "play complex sounds like sweeps, growls, and chorusing effects from a microcontroller", "convert custom soundfiles into wavetables for embedded playback", "output 16-bit audio to an external DAC from an MCU"], "what_it_is": "Mozzi is an open-source sound synthesis library for Arduino and compatible microcontrollers, providing oscillators, envelopes, filters, delays, and scheduling for generating complex audio. It runs efficiently on MCUs like AVR, STM32, Teensy, ESP32, and Raspberry Pi Pico without requiring extra shields or external synths.", "when_to_avoid": ["you need high-fidelity multi-track audio production on a desktop or mobile platform", "your project requires MP3/compressed audio decoding rather than synthesis", "you need a full DAW or sample-accurate multichannel mixing beyond MCU capabilities", "you depend on Mozzi 1.x source compatibility without porting to 2.0"], "when_to_choose": ["you need real-time sound synthesis on resource-constrained microcontrollers", "you want algorithmic or interactive audio on Arduino without extra hardware", "you need a lightweight, CPU-efficient audio toolkit with oscillators, filters, and envelopes", "you target a wide range of MCUs including ESP32, Teensy, STM32, or Pico"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mozzi", "repo": "sensorium/Mozzi", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "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:14.728358+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.728358+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:56:41.201742+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5fee77bc94c4fd200f54d9457765b942cd0df17dd8a6f16072a4584029884d0", "fetched_at": "2026-08-28T04:04:14.728358+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sensorium/Mozzi"}, {"content_hash": "feab9a997d33e7f4cad564e78a30e55ecf6a0a35f5fbb64f10e1da06c69007d2", "fetched_at": "2026-08-29T12:12:22.135492+00:00", "kind": "homepage", "missing": false, "url": "https://sensorium.github.io/Mozzi/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 47}, "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": 5207, "days_push": 42, "days_rel": 141, "gap_med": 205.0, "n_releases_24m": 3}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}