Acid Line

checkedbrowser preview
Fork

Share

About Acid Line

Mono 303-style bass line: resonant ladder filter, accents, slides, a 16-step sequencer and ping-pong delay.

Author
OpenGroove
Kind
Portable firmware (OpenGroove ABI wasm)
Version
0.1.0
Licence
Apache-2.0 · source
Profiles
generic · kick · fire
Runs
Browser preview · native runtime in development · not hardware-tested
Tags
bass, acid, sequencer, synth, example
Added
2026-10-27
Size
48.8 KB
SHA-256
b777a4edaf4f461258f8967275d66a2ee35874783e2f1e8b6261be274d5ee455

Fork opens its C source in the editor; your fork credits OpenGroove.

  Live · Acid Line
Pads 1234 / Q–R / A–F / Z–V · Space play 4×4 pads (8 banks) · 4 knobs · jog · touch screen
Checks
  • BootsInstantiates with only the allowed imports, and init succeeds.
  • SoundMakes sound after pad presses; no NaN or Inf in the output.pad peak 0.49–0.57
  • FuzzRandom pads, knobs, buttons and touch for the whole run without a trap.
  • DeadlineRenders audio faster than real time, so blocks arrive before the deadline.17.3× real time, slowest profile
  • StateSaved state loads back into the same state (save/load round trip).
  • LevelOutput level is sane: audible, and not clipping.-21.6 to -13.1 dB RMS
  • ParamsAdditional check reported by the checker ("params").

sha256 b777a4edaf4f4612… · checker 0.1.0+caa0c89856bd · 2026-10-28. Not a safety or quality rating. How checks work

Raw report (JSON)
{
  "sha256": "b777a4edaf4f461258f8967275d66a2ee35874783e2f1e8b6261be274d5ee455",
  "size": 49950,
  "kind": "wasm",
  "firmware_kind": "instrument",
  "manifest": null,
  "abi": "0.1",
  "caps": [
    "params",
    "state",
    "transport",
    "rack"
  ],
  "exports": [
    "memory",
    "og_abi_version",
    "og_caps",
    "og_device_ptr",
    "og_process_ctx_ptr",
    "og_instance_ptr",
    "og_init",
    "og_reset",
    "og_activate",
    "og_deactivate",
    "og_event",
    "og_midi_in",
    "og_process",
    "og_render",
    "og_audio_out_ptr",
    "og_audio_in_ptr",
    "og_framebuffer_ptr",
    "og_pad_leds_ptr",
    "og_button_leds_ptr",
    "og_param_count",
    "og_param_info_ptr",
    "og_param_set",
    "og_param_get",
    "og_state_size",
    "og_state_ptr",
    "og_state_save",
    "og_state_load"
  ],
  "imports": [],
  "runtime": "og-runtime-node@0.3.0",
  "profiles": {
    "generic": {
      "boots": true,
      "fuzz": true,
      "audio": true,
      "deadline": true,
      "levels": true,
      "state": true,
      "params": true,
      "effect": null,
      "metrics": {
        "pad_peak": 0.5729,
        "pad_rms_db": -13.1,
        "play_peak": 0.5567,
        "play_rms_db": -12.2,
        "fuzz_peak": 0.6125,
        "dc": 0.0016,
        "rtf_mean": 0.0035,
        "rtf_p99": 0.0047,
        "rtf_max": 0.0829,
        "init_ms": 0.51,
        "render_mean_ms": 0.095,
        "realtime_x": 26.7,
        "frames_rendered": 492,
        "midi_out_events": 0,
        "param_count": 8,
        "state_bytes": 116
      },
      "logs": [],
      "errors": []
    },
    "kick": {
      "boots": true,
      "fuzz": true,
      "audio": true,
      "deadline": true,
      "levels": true,
      "state": true,
      "params": true,
      "effect": null,
      "metrics": {
        "pad_peak": 0.5729,
        "pad_rms_db": -13.1,
        "play_peak": 0.5567,
        "play_rms_db": -12.2,
        "fuzz_peak": 0.6005,
        "dc": 0.0016,
        "rtf_mean": 0.0034,
        "rtf_p99": 0.004,
        "rtf_max": 0.0638,
        "init_ms": 1.07,
        "render_mean_ms": 0.14,
        "realtime_x": 17.3,
        "frames_rendered": 497,
        "midi_out_events": 0,
        "param_count": 8,
        "state_bytes": 116
      },
      "logs": [],
      "errors": []
    },
    "fire": {
      "boots": true,
      "fuzz": true,
      "audio": true,
      "deadline": true,
      "levels": true,
      "state": true,
      "params": true,
      "effect": null,
      "metrics": {
        "pad_peak": 0.4879,
        "pad_rms_db": -21.6,
        "play_peak": 0.4895,
        "play_rms_db": -23.7,
        "fuzz_peak": 0.6266,
        "dc": 0.0003,
        "rtf_mean": 0.0041,
        "rtf_p99": 0.0053,
        "rtf_max": 0.0597,
        "init_ms": 0.02,
        "render_mean_ms": 0.003,
        "realtime_x": 195.3,
        "frames_rendered": 514,
        "midi_out_events": 0,
        "param_count": 8,
        "state_bytes": 116
      },
      "logs": [],
      "errors": []
    }
  },
  "passing_profiles": [
    "generic",
    "kick",
    "fire"
  ],
  "outcomes": [
    "audio"
  ],
  "checked": {
    "boots": true,
    "audio": true,
    "fuzz": true,
    "deadline": true,
    "levels": true,
    "state": true,
    "params": true,
    "effect": null,
    "sha256": "b777a4edaf4f461258f8967275d66a2ee35874783e2f1e8b6261be274d5ee455",
    "abi": "0.1",
    "runtime": "og-runtime-node@0.3.0",
    "checked_at": "2026-10-28"
  },
  "ok": true,
  "errors": []
}
Versions
  • 0.1.0· 2026-10-27 · b777a4edaf4f
Run it locally
$ curl -LO https://sloppyloops.io/fw/acid-line.wasm
$ og verify acid-line.wasm                    # the Hub's headless checks
$ og render acid-line.wasm --profile kick --out acid-line.wav   # hear it offline

Needs the og CLI. CLI docs