← All Projects In Development

Sensor Ticker and Virtual MIDI Port

Live sensor dashboard that turns real-world data into MIDI signals for your DAW

Announced September 23, 2026

Sensor Ticker and Virtual MIDI Port cover image

A Node.js server that streams live sensor readings to a real-time web ticker and simultaneously translates those readings into MIDI notes, sent over a virtual MIDI port so any DAW can turn sensor data into generative audio.

  • Node.js
  • MIDI
  • IoT
  • Arduino Cloud
  • Socket.IO
  • Generative Music

Example Audio

A recorded example of the sensor-driven MIDI notes played through a DAW instrument.

Overview

This project bridges physical sensor data and music. A Node.js server pulls live readings from Arduino IoT Cloud, pushes them to a browser-based ticker over Socket.IO, and feeds the same values into a drone engine that drives a virtual MIDI output port.

How It Works

Each monitored sensor value is mapped onto a musical scale and held as a sustained MIDI note. Every few seconds the drone engine re-checks each sensor and, if the mapped note has changed, sends a note-off/note-on pair on the virtual MIDI port. A DAW listening on that port can turn any of these voices into an instrument, effectively turning the sensor environment into an ambient instrument.

Current Status

Core sensor-to-MIDI mapping and the live ticker dashboard are working. Ongoing work is focused on tuning the musical scale mappings and cleaning up reconnect/error handling around the Arduino Cloud connection.

Key Features

  • Real-time sensor ticker dashboard powered by Express and Socket.IO
  • Pulls live values from Arduino IoT Cloud (temperature, humidity, air, TDS, water level, light level)
  • Drone engine maps sensor values onto a C major 7 musical scale on a timed interval
  • Opens a virtual MIDI output port so any DAW can receive the sensor-driven notes directly
  • Automatic Arduino Cloud reconnect with exponential backoff
  • Rolling sensor history log persisted to disk as JSON
  • Dedicated low-water-level alert note independent of the drone engine