An experiment to play sounds with Web UI and without Web Audio API.
┌───────────── Electron ─────────────┐
┌────────────┐ ┌───────────┐ ┌───────┐
│ ui │<-- IPC -->│ core │<-- IPC -->│ audio │<---- MIDI
│ (TS/React) │ │ (TS/Node) │ │ (Go) │<---> File
└────────────┘ └───────────┘ └───────┘
Loops:
MIDI
┌──────┐ . │ ┌───>──┐ ┌───>───┐
│ │ . └───>│ midi │---->│ │
│ │ . └──<───┘ │ │
│ │ . ┌───>──┐ │ │
│ │---- IPC ----->│ recv │---->│ │
│ core │ . └──<───┘ │ audio │
│ │ . ┌───>──┐ │ │
│ │<--- IPC ------│ send │<----│ │
│ │ . └──<───┘ │ │
│ │ . ┌───>──┐ │ │
│ │ . ┌─<──│ save │<----│ │
└──────┘ . │ └──<───┘ └───<───┘
File
{url-encoded} {url-encoded} {url-encoded} ...
{url-encoded} {url-encoded} {url-encoded} ...
...
e.g. note_on 60