jinjor / desktop-audio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

desktop-audio

An experiment to play sounds with Web UI and without Web Audio API.

Architecture

┌───────────── Electron ─────────────┐
┌────────────┐           ┌───────────┐           ┌───────┐
│ ui         │<-- IPC -->│ core      │<-- IPC -->│ audio │<---- MIDI
│ (TS/React) │           │ (TS/Node) │           │ (Go)  │<---> File
└────────────┘           └───────────┘           └───────┘

Loops:
                 MIDI
┌──────┐      .   │    ┌───>──┐     ┌───>───┐
│      │      .   └───>│ midi │---->│       │
│      │      .        └──<───┘     │       │
│      │      .        ┌───>──┐     │       │
│      │---- IPC ----->│ recv │---->│       │
│ core │      .        └──<───┘     │ audio │
│      │      .        ┌───>──┐     │       │
│      │<--- IPC ------│ send │<----│       │
│      │      .        └──<───┘     │       │
│      │      .        ┌───>──┐     │       │
│      │      .   ┌─<──│ save │<----│       │
└──────┘      .   │    └──<───┘     └───<───┘
                 File

IPC Protocol

{url-encoded} {url-encoded} {url-encoded} ...
{url-encoded} {url-encoded} {url-encoded} ...
...

e.g. note_on 60

About


Languages

Language:TypeScript 50.9%Language:Go 48.7%Language:HTML 0.3%Language:Shell 0.1%