Adaptive neuromorphic signal processing. Sub-kilobyte memory. 97 ns/step.
Hardwired core + adaptive plasticity. Inspired by 200 million years of cricket evolution.
CricketBrain is a neuromorphic signal processor that recognizes temporal patterns in real-time using delay-line coincidence detection — the same mechanism the field cricket (Gryllus bimaculatus) uses to find mates in noisy environments.
Hardwired core architecture with optional adaptive plasticity. 5 neurons, 6 synapses, STDP learning, homeostatic regulation — 97 ns/step in ~1 KB RAM.
| CricketBrain | Traditional ML | Deep Learning | |
|---|---|---|---|
| Latency | 97 ns | ~100 us | ~10 ms |
| Memory | ~1 KB | 10+ KB | 100+ MB |
| Training | Optional STDP | Hours | Days-Weeks |
| GPU | No | No | Yes |
| Deterministic | Yes | Depends | No |
| no_std / Embedded | Yes | Rare | No |
| Explainable | Fully | Partially | Black box |
10 detailed use cases with market analysis: USE_CASES.md
| Domain | Application | How CricketBrain Helps |
|---|---|---|
| Medical Research | ECG rhythm analysis | Temporal pattern detection for rhythm classification research (demo) |
| Industrial IoT | Vibration monitoring | Detect bearing failure patterns at the sensor node |
| Audio | Keyword / wake-word detection | Sub-millisecond response without cloud roundtrip |
| Security | Network traffic analysis | Temporal pattern anomaly detection at line rate |
| Robotics | Sensor fusion | Deterministic latency for real-time control loops |
| Embedded | Microcontroller signal processing | Runs on Arduino Uno (2 KB RAM) |
git clone https://github.com/BEKO2210/cricket-brain.git
cd cricket-brain
cargo run --example live_demo -- "HELLO WORLD"--- Spike Train (each char = 10ms) ---
|||||_____|||||_____|||||_____|||||_______________|||||_______________...
Decoded output: "HELLO WORLD"
Match: EXACT MATCH
[dependencies]
cricket-brain = "3.0"use cricket_brain::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut brain = CricketBrain::new(BrainConfig::default())?;
// Feed a 4500 Hz signal — spikes appear
for _ in 0..100 {
let output = brain.step(4500.0);
if output > 0.0 {
println!("Spike! amplitude={output:.3}");
}
}
// Silence — guaranteed zero false positives
for _ in 0..50 {
assert_eq!(brain.step(0.0), 0.0);
}
brain.reset();
Ok(())
}|
Rust (native) use cricket_brain::prelude::*;
let mut brain = CricketBrain::new(
BrainConfig::default()
)?;
let out = brain.step(4500.0); |
C / C++ / Swift BrainHandle *h = NULL;
brain_new(&h, 5, 4000.0, 5000.0);
float out;
brain_step(h, 4500.0, &out);
brain_free(h); |
|
Python from cricket_brain import BrainConfig, Brain
brain = Brain(BrainConfig())
out = brain.step(4500.0)
batch = brain.step_batch([4500.0] * 100) |
JavaScript / TypeScript (WASM) import { Brain } from "cricket-brain-wasm";
const brain = new Brain(42);
const out = brain.step(4500.0);
const events = brain.drainTelemetry(); |
cargo build --release -p cricket-brain-ffi # C FFI → crates/ffi/include/cricket_brain.h
cd crates/python && maturin develop --release # Python → pip install cricket-brain
cd crates/wasm && wasm-pack build --target web # WASM → npm packageThe following results were reproduced locally on Windows using the public examples and benchmark commands in this repository.
| Scenario | Result | What it shows |
|---|---|---|
| Live roundtrip | "HELLO WORLD" → EXACT MATCH |
End-to-end encoding, spike processing, and decoding work correctly |
| Frequency discrimination | Strong response at 4200–4800 Hz, peak at 4500 Hz | Tight frequency selectivity around the cricket carrier band |
| Morse alphabet | All A–Z produce stable spike signatures | Reliable temporal-symbol encoding |
| Multi-frequency tokens | "RUST" detected at 100% accuracy |
Parallel token discrimination across frequency bands |
| Sequence prediction | Correct prefix-based next-token prediction | Topology-based temporal memory without gradient training |
| Scale predictor | 1,280 neurons, 0.31 MB RAM, 1.12e8 neuron-ops/sec | Efficient scaling for structured sequence tasks |
| Large scale test | 40,960 neurons, 14.22 MB RAM, 8.02e7 neuron-ops/sec | High throughput on commodity CPU hardware |
| ECG sentinel demo | 0.141615 us/step, performance gate PASS | Real-time suitability for edge monitoring workloads |
| Latency profile | 0.103475 us/step baseline | Extremely low per-step overhead in optimized mode |
Under the included synthetic benchmark suite, CricketBrain achieved:
- TPR = 1.000
- FPR = 0.000
- across all tested SNR levels from -10 dB to +30 dB
Compared methods:
- Matched Filter
- Goertzel
- IIR Bandpass
- CricketBrain
This indicates that CricketBrain is especially strong on noise-robust temporal pattern detection in the benchmark conditions defined by this repository.
The ablation study shows an important architectural result:
- LN3 removal causes a major performance collapse
- LN2 and LN5 removal had little effect in the tested setup
- delay-line / coincidence-related ablations did not reduce performance in the same benchmark regime
This suggests:
- LN3 is currently the dominant functional component in the tested task
- some biologically inspired mechanisms may require harder or more targeted benchmarks to fully demonstrate their contribution
These results support the claim that CricketBrain is:
- fast
- memory-efficient
- deterministic
- effective for temporal pattern recognition on edge-class hardware
They do not yet prove universal superiority over all classical or learned methods on all datasets.
What they do show is that CricketBrain is a serious and reproducible neuromorphic signal-processing architecture with unusually strong efficiency and very promising benchmark behavior.
cargo run --example live_demo -- "HELLO WORLD"
cargo run --example frequency_discrimination
cargo run --example morse_alphabet
cargo run --example multi_freq_demo -- "RUST"
cargo run --example sequence_predict
cargo run --release --example scale_predict
cargo run --release --example sentinel_ecg_monitor
cargo run --release --example baselines
cargo run --release --example ablation_study
cargo run --release --example research_gen -- --seed 1337
cargo run --release --example scale_test
cargo run --release --example profile_speed
cargo bench| Scenario | Latency | Throughput | Memory |
|---|---|---|---|
| Canonical 5-neuron | 0.175 us/step | 10.7M steps/sec | 928 bytes |
| 1,280-neuron predictor | — | 50.1M neuron-ops/sec | 0.30 MB |
| 40,960-neuron scale | — | 40.7M neuron-ops/sec | 13.91 MB |
| Arduino no_std | — | — | 928 bytes |
Tested against 3 classical detectors under identical conditions (source):
| Method | TPR | FPR | |
|---|---|---|---|
| CricketBrain | 1.000 | 0.000 | Temporal coincidence rejects noise |
| IIR Bandpass | 1.000 | 0.558 | Cannot distinguish pattern from noise |
| Goertzel (FFT) | 0.017 | 0.000 | Misses jittered signals |
| Matched Filter | 0.000 | 0.000 | Needs high SNR (>10 dB) |
CricketBrain achieves perfect detection (TPR=1.0) with zero false positives (FPR=0.0) across all SNR levels from -10 dB to +30 dB.
- Gaussian resonators — frequency-selective neurons with adaptive bandwidth
- Delay-line synapses — ring-buffer propagation delays (1-9 ms)
- Coincidence detection — fires only on sustained temporal evidence
- Adaptive sensitivity (AGC) — automatic gain control
- Synaptic plasticity (STDP) — online weight adaptation via spike-timing
- Homeostatic thresholds — automatic target activity maintenance
- Sequence prediction — N-gram pattern matching with confidence scoring
- Multi-token detection — parallel resonator banks (one circuit per token)
| Feature | Description |
|---|---|
| Privacy Mode | Timestamp anonymization + value coarsening (designed for privacy-sensitive contexts) |
| Snapshot/Restore | Serialize full state with FNV-1a checksums |
| Telemetry | Structured event hooks + JSON Lines sink |
| Chaos Detection | Shannon entropy monitoring with overload alerts |
| Deterministic | Seeded RNG — bitwise identical results across platforms |
| Error Codes | Consistent FFI contract across Rust/C/Python/WASM |
cricket-brain = { version = "1.0", features = ["serde", "parallel"] }| Flag | Default | Description |
|---|---|---|
std |
Yes | Standard library support |
no_std |
— | Embedded mode (alloc only) |
serde |
— | Snapshot serialization with FNV-1a checksums |
parallel |
— | Rayon-based resonator bank parallelism |
telemetry |
— | Structured event hooks |
cli |
— | JSON telemetry sink + config parsing |
The core crate is fully no_std compatible with #![deny(unsafe_code)].
cargo build -p cricket-brain-core --no-default-featuresMinimal embedded example (examples/arduino_minimal.rs):
- Fixed-size arrays (no heap allocation)
- 928 bytes calculated RAM footprint
- Designed for Arduino Uno, STM32, ESP32, any Cortex-M (host-verified)
| Artifact | Description |
|---|---|
| RESEARCH_WHITEPAPER.md | Full paper with 16 peer-reviewed references |
examples/baselines.rs |
Matched filter, Goertzel, IIR bandpass comparison |
examples/ablation_study.rs |
Systematic circuit component analysis |
examples/research_gen.rs |
SNR sweep with Wilson 95% confidence intervals |
benchmarks/stress_test_benchmark.rs |
Adversarial stress test (10 seeds, pink noise, in-band interferers) |
| USE_CASES.md | 10 real-world applications with market analysis |
| AI_DEVELOPMENT_STATEMENT.md | Full AI-tooling transparency disclosure |
| Configuration | SNR 0 dB TPR | Finding |
|---|---|---|
| Full circuit | 1.000 | Baseline |
| Without LN3 (excitatory) | 0.440 | Critical — main excitatory drive |
| Without LN2 (inhibitory) | 1.000 | Redundant at this SNR |
| Without coincidence gate | 1.000 | Gate essential at low SNR |
cargo run --release --example baselines # Classical comparison
cargo run --release --example ablation_study # Component analysis
cargo run --release --example research_gen -- --seed 1337 # Full SNR sweep
cargo run --release --example bench_stress # Adversarial stress test# Basics
cargo run --example live_demo -- "HELLO" # Encode -> brain -> decode roundtrip
cargo run --example frequency_discrimination # Gaussian bandpass visualization
cargo run --example morse_alphabet # All 26 characters
cargo run --example arduino_minimal # no_std embedded demo
# Multi-frequency tokens
cargo run --example multi_freq_demo -- "RUST" # 100% token discrimination
# Sequence prediction
cargo run --example sequence_predict # "hello" vs "help" disambiguation
cargo run --release --example scale_predict # 256 tokens, 1280 neurons
# Medical / research
cargo run --release --example sentinel_ecg_monitor # ECG tachycardia detection
cargo run --release --example baselines # Classical baseline comparison
cargo run --release --example ablation_study # Circuit ablation study
# Performance
cargo run --release --example scale_test # 40,960-neuron throughput
cargo run --release --example profile_speed # Latency measurement
cargo bench # Criterion benchmarks| Check | Status |
|---|---|
cargo test --workspace |
122 tests passing |
cargo clippy -D warnings |
Zero warnings |
cargo fmt -- --check |
Enforced |
cargo audit --deny warnings |
Zero vulnerabilities |
| Cross-platform CI | Linux, macOS, Windows |
no_std verification |
Verified in CI |
| WASM build | Verified in CI |
| FFI header sync | Verified in CI |
| CodeQL security scan | Rust + Actions |
cricket-brain/
|-- crates/
| |-- core/ no_std primitives (neuron, synapse, telemetry)
| |-- ffi/ C-compatible API + generated header
| |-- python/ PyO3 bindings
| `-- wasm/ wasm-bindgen bindings
|-- src/ Brain network, sequence predictor, resonator bank
|-- examples/ 14 runnable examples + Python + WASM demo
|-- tests/ 122 tests (unit, integration, edge-case, FFI, plasticity)
|-- benches/ Criterion benchmarks
`-- docs/ Mathematical derivations
- v0.1 — Morse code recognition
- v0.2 — Multi-frequency token recognition
- v0.3 — Sequence prediction via delay-line pattern memory
- v1.0 — Production release with FFI/Python/WASM bindings
- v2.0 — Adaptive Gaussian bandwidth for dense vocabularies
- v3.0 — STDP + homeostatic plasticity for online adaptive learning
- v4.0 — Hardware deployment on RISC-V / ARM Cortex-M with real-time ADC
We welcome contributions! See CONTRIBUTING.md for guidelines.
cargo test --workspace # All tests pass
cargo clippy --all-targets --all-features -- -D warnings # Zero warnings
cargo fmt -- --check # Formatting clean@software{aslani2026cricketbrain,
author = {Aslani, Belkis},
title = {CricketBrain: A Biomorphic Delay-Line Coincidence Detector
for Real-Time Temporal Pattern Recognition},
year = {2026},
url = {https://github.com/BEKO2210/cricket-brain},
version = {3.0.0}
}Dual-licensed:
| Use Case | License | Cost |
|---|---|---|
| Open-source, research, education | AGPL-3.0 | Free |
| Proprietary / commercial / SaaS / embedded | Commercial License | Paid |
The AGPL-3.0 requires that any software using CricketBrain must also be released under AGPL-3.0 (including source code). If you cannot comply, you need a commercial license.
Contact: belkis.aslani@gmail.com
Deutsche Zusammenfassung (klicken zum Aufklappen)
CricketBrain ist ein neuromorpher Signalprozessor, inspiriert vom Hoersystem der Feldgrille (Gryllus bimaculatus). Er erkennt zeitliche Muster in Echtzeit mit Verzoegerungsleitungs-Koinzidenzdetektion.
Fest verdrahteter Kern mit optionaler adaptiver Plastizitaet: STDP-Lernen, gewichtete Synapsen, homeostatische Schwellenregelung.
| Metrik | Wert |
|---|---|
| Latenz | 97 ns pro Schritt |
| Speicher | ~1 KB (no_std, Embedded-kompatibel) |
| Erkennung | TPR 1,0 / FPR 0,0 ueber alle SNR-Stufen |
| Neuronen | 5 (Muenster-Modell: AN1, LN2, LN3, LN5, ON1) |
| Training | Keins initial — optionales STDP Online-Lernen |
- Medizinforschung: EKG-Rhythmus-Analyse fuer Forschungszwecke (Privacy-Features integriert)
- Industrie 4.0: Vorausschauende Wartung direkt am Sensor-Knoten
- Audio: Wake-Word-Erkennung unter 1 ms ohne Cloud
- Sicherheit: Netzwerk-Anomalie-Erkennung in Leitungsgeschwindigkeit
- Embedded: Laeuft auf Arduino Uno (2 KB RAM)
git clone https://github.com/BEKO2210/cricket-brain.git
cd cricket-brain
cargo run --example live_demo -- "HALLO WELT"| Sprache | Befehl |
|---|---|
| Rust | cricket-brain = "3.0" in Cargo.toml |
| C/C++ | cargo build -p cricket-brain-ffi (Header: cricket_brain.h) |
| Python | cd crates/python && maturin develop |
| WASM | cd crates/wasm && wasm-pack build --target web |
Dual-lizenziert: AGPL-3.0 (kostenlos fuer Open Source) oder kommerzielle Lizenz (fuer proprietaere Software). Details in COMMERCIAL.md.
Das Projekt enthaelt ein vollstaendiges Publikationspaket mit 16 Fachreferenzen, Baseline-Vergleichen (Matched Filter, Goertzel, IIR), einer Ablationsstudie und Wilson-95%-Konfidenzintervallen. Siehe RESEARCH_WHITEPAPER.md.
Belkis Aslani — entwickelt mit KI-Unterstuetzung (Claude Code, ChatGPT/Codex, Kimi, Gemini). Siehe AI_DEVELOPMENT_STATEMENT.md.
Kontakt: belkis.aslani@gmail.com
Author: Belkis Aslani
Built with AI-assisted development (statement) using Claude Code, ChatGPT/Codex, Kimi, and Gemini.
GitHub | Docs | Whitepaper | Changelog