MCPcopy Index your code
hub / github.com/PaulBatchelor/Trio

github.com/PaulBatchelor/Trio @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
117 symbols 327 edges 6 files 2 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Trio

A singing synthesizer musical instrument with algorithmic 3-part harmony. Written using WebAudio, Canvas, WebAssembly, and Rust.

A demo can be found here.

Building

Clone this repo, and then git submodule init followed by git submodule update.

Go into the "web" folder and run sh build.sh. Make sure you have the wasm32-unknown-unkown target installed, as well as wasm-gc.

If all goes well, a file called "dsp.wasm" should appear, and you should be able to serve a local instance of the instrument by running python3 -m http.server and opening localhost:8000 in a browser.

Core symbols most depended-on inside this repo

add_transition
called by 50
dsp/src/chords.rs
tick
called by 31
dsp/src/voice.rs
add_chord
called by 22
dsp/src/chords.rs
pop_events
called by 15
dsp/src/voice.rs
insert
called by 15
dsp/src/chords.rs
change
called by 14
dsp/src/chords.rs
change
called by 13
dsp/src/voice.rs
query
called by 12
dsp/src/chords.rs

Shape

Method 51
Function 49
Class 15
Enum 2

Languages

Rust82%
TypeScript18%

Modules by API surface

dsp/src/chords.rs40 symbols
dsp/src/lib.rs29 symbols
dsp/src/voice.rs27 symbols
web/main.js8 symbols
web/audio.js8 symbols
web/processor.js5 symbols

For agents

$ claude mcp add Trio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact