MCPcopy Index your code
hub / github.com/Emanuel-de-Jong/MIDI-To-Strudel

github.com/Emanuel-de-Jong/MIDI-To-Strudel @1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1 ↗ · + Follow
26 symbols 63 edges 3 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MIDI To Strudel (Web)

Free hosted webapp: https://emanuel-de-jong.github.io/MIDI-To-Strudel/

A simple browser-based converter is included so you can try conversions without installing Python. The web UI accepts a MIDI file via drag & drop or file picker and shows the resulting Strudel code directly in the page.

It sets the right cpm and creates a new sound source per Midi track. Example output:

setcpm(91/4)

$: note(`<
    [g#4 c5 g4 g#4 f4 g4 d#4 d4] [- - - - - - - g#4] [- c5 g4 g#4 f4 g4 g#4 a#4] -
    [- - f4 f4 g#4 g#4 f4 f4] [c5 c5 - c5 - g#4 - -] [a#4 a#4 - a#4 - g4 - -] [a#4 a#4 - a#4 - g#4 g4 f4]>`)
  .sound("piano")

$: note(`<
    [- [g#3,c4] f3 [g#3,c4]] [a#3 [d4,f4] a#3 [d4,f4]] [f3 [g#3,c4] f3 [g#3,c4]] [a#3 [d4,f4] a#3 [d4,f4]]
    [f3 [g#3,c4] f3 [g#3,c4]] [g#3 [c4,d#4] g#3 [c4,d#4]] [d#3 [g3,a#3] d#3 [g3,a#3]] [a#3 [d4,f4] a#3 [d4,f4]]>`)
  .sound("piano")

Notes: - The web version runs entirely client-side. No files are uploaded to a server and the conversion happens in your browser. - If you encounter browser permission or CORS issues, serve the repo with python -m http.server

TODO

  • Support more starting time signatures than only 4/4.
  • Support mid-song time signature switches.

Core symbols most depended-on inside this repo

$
called by 18
main.js
indent
called by 2
main.js
run
called by 2
main.js
get_indent
called by 2
Midi-to-Strudel.py
getSoundName
called by 1
main.js
noteNumToStr
called by 1
main.js
quantizeTime
called by 1
main.js
simplifySubdivisions
called by 1
main.js

Shape

Function 26

Languages

Python65%
TypeScript35%

Modules by API surface

Midi-to-Strudel.py17 symbols
main.js9 symbols

For agents

$ claude mcp add MIDI-To-Strudel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page