
Real-time signal processing, built on Python.
nonoha is a visual node-based programming environment. Connect nodes, work directly with NumPy and the Python libraries you already use, and run the result from a desktop to a phone. nonoha Hub is the desktop app where you create, run, and share it all.
From research code to a real-time app, built by people and AI together
Three design decisions shape nonoha. Every port carries a plain NumPy array, the engine serves your app, and every graph is a plain text file. These five benefits follow from them.
from scipy.signal import welch def _on_input(self, values): # A plain NumPy array, no wrapper _, power = welch(values[0], fs=self.fs) self._output.dispatch([power])
Bring your Python code as it is
Nodes are ordinary Python classes, and data reaches them as NumPy arrays with no wrapper type to unpack. Hand it straight to SciPy, scikit-learn, or PyTorch, and turn research code into a working product.
operation
Process signals in real time
Signals flow as batches of samples, so a node can handle a whole batch in one NumPy operation. With no packets or tables to build for each chunk, overhead stays low enough for live audio and sensor streams.
Run it from desktop to device
Build on Windows or macOS, then run your graphs on a Raspberry Pi, or on-device inside iOS and Android apps.
Your app ships with the workspace
Put a web page in the workspace's app folder, and the engine serves it next to the editor and the graph API. There is no server to set up or deploy, and the app travels with the workspace when you share it. New workspaces start with a working app template.
"nodes": { "Clock_1": { "type": "Clock" }, "Wave_1": { "type": "WaveGenerator" } }, "edges": [{ "source": "Clock_1.times", "target": "Wave_1.times" }]
Graphs are text, for people and AI
Each graph is a readable JSON file of nodes and edges, kept apart from the editor's layout. Change it in the visual editor, by hand, or with an AI coding agent, and review every change in Git. New workspaces include an AGENTS.md guide, and the engine can export its full node catalog as JSON.
How the pieces fit together
Everything you build lives in a workspace. nonoha Hub and the CLI create, run, and share workspaces, and each workspace carries what it needs to run.
nonoha Hub
Create, run, download, and publish workspaces from one desktop app.
CLI
The same workspace operations from the terminal, for automation and headless use.
Workspaces
Self-contained projects with an engine, plugins, flows, and an optional custom app.
Engine
Runs your node graphs, serves your custom app, and offers REST and WebSocket APIs.
Editor
A web-based visual editor for building and monitoring graphs.
Plugins
Python node packages that add protocols, devices, and processing.
Connect signals, devices, and software
Official plugins cover a range of protocols and devices. Combine them in a graph, then monitor the results or build a custom app on top.
Biosignals
Work with EEG and physiological sensors over Lab Streaming Layer or VIE devices.
From install to publish
- 1
Install
Get nonoha Hub for Windows or macOS. The app is free.
- 2
Get an engine
Subscribe to nonoha Cloud to download engines and plugins, or build an engine from Git.
- 3
Create or download
Start a new workspace, or download one from the catalog.
- 4
Run
Launch the engine and edit graphs in the visual editor.
- 5
Publish
Share privately by link, or submit for the public catalog.
The nonoha Hub app, the CLI, an account and this site are free. nonoha Cloud adds the official engines and plugins, ready-made workspaces, and publishing and sharing. Everything you download keeps working after you cancel.