MIDIRestyle

Este MCP permite que el agente trabaje con archivos MIDI. Le permite buscar en la biblioteca de escalas, leer el archivo MIDI, reestilizarlo y exportar el resultado.

Documentación

MIDIRestyle

Tu melodía, en la afinación de otra persona.

Introduce un archivo MIDI, elige un estilo musical objetivo, y MIDIRestyle lo convierte. Una melodía escrita en Jónico puede volver como pentatónica china, pelog javanés, maqam árabe, o cualquiera de las 171 escalas que incluye. El ritmo y el fraseo permanecen exactamente como los tocaste — solo se re-mapea el tono.

Latest release Downloads Windows x64 One portable exe MCP server included MIT licence

MIDIRestyle's piano roll: the original notes drawn as grey ghosts underneath the restyled notes, with Maqam Rast selected in the scale list

midirestyle.netlify.app  ·  Descargar para Windows  ·  Notas de versión

O simplemente pregunta — MIDIRestyle habla MCP

El mismo .exe funciona como un servidor de Model Context Protocol. Apunta Claude — o cualquier cliente MCP — hacia él, y tu agente puede buscar en la biblioteca de escalas, leer tu MIDI, re-estilizarlo y exportar el resultado. Nada extra que instalar, y tus archivos nunca salen de tu máquina.

Tres líneas en claude_desktop_config.json:

{ "mcpServers": {
  "midirestyle": { "command": "C:\\Tools\\MIDIRestyle.exe", "args": ["--mcp"] }
} }

O una línea en Claude Code:

claude mcp add midirestyle -- "C:\Tools\MIDIRestyle.exe" --mcp

Ayuda ▸ Acceso de agente (MCP)… dentro de la aplicación muestra ambos fragmentos con la ruta real de este exe ya completada — vale la pena usarlo, porque un exe portátil puede vivir en cualquier lugar y ser renombrado.

Un host de agente inicia el servidor; nunca ejecutas --mcp a mano. Habla solo por stdin/stdout — sin ventana, sin red, sin una segunda copia de la aplicación instalada.

— toma ballad_sketch.mid y pruébalo en algunos estilos de Oriente Medio. Quédate con el que mejor conserve la forma de la melodía.

inspect_midi   ballad_sketch.mid          →  148 notes · D minor · 72 bpm · 4 tracks
list_scales    query: "maqam"             →  16 scales
describe_scale middleeast.arabic.maqam-rast  →  7 degrees · ±50¢ from 12-TET · 2 bend clusters
restyle_midi   → Maqam Rast               →  ballad_sketch.middleeast.arabic.maqam-rast.mid
restyle_midi   → Maqam Hijaz              →  ballad_sketch.middleeast.arabic.maqam-hijaz-notated.mid

Agente — Hijaz es el indicado: su segunda disminuida aterriza justo en tu gancho, y el motivo descendente en los compases 5–8 sobrevive intacto. Rast lo suavizó demasiado. Escrito con pitch bend por canal, así que la afinación se mantiene en tu DAW.

Las herramientas que expone

HerramientaQué hace
inspect_midiPistas, notas, tempo, compás y la tonalidad detectada de un archivo en disco, como datos estructurados.
list_scalesNavega y filtra las 171 escalas — por tradición, número de grados, si se notan, cuán lejos están del 12-TET.
describe_scaleUna escala en detalle: grados en cents, su ortografía, su desviación, y cuánto costará en canales MIDI.
restyle_midiEjecuta el propio pipeline de la aplicación de escritorio y escribe el .mid re-estilizado, incluido el pitch bend.
export_musicxmlEscribe notación, para escalas que pueden expresarse honestamente en un pentagrama.

Además, un prompt de choose_a_style que guía al usuario hacia una escala una pregunta a la vez.

Cada ruta pasada a las herramientas debe ser absoluta. Las salidas se guardan por defecto en <input>.<scale-id>.mid junto a la entrada, y un archivo existente nunca se sobrescribe a menos que overwrite sea verdadero.

Cómo funciona

Tres pasos, sin tarea de teoría.

01 · Introduce un archivo MIDI — cualquier cosa que ya tengas: un boceto, una pista, un arreglo completo. MIDIRestyle lee las pistas, detecta la tonalidad y te muestra lo que encontró.

02 · Elige el estilo objetivo — busca en la biblioteca por nombre o tradición: maqam, melakarta, gamelan, wǔshēng, afinaciones de koto, los modos eclesiásticos. Navega con las flechas por la lista y la transformación se re-ejecuta con cada pulsación de tecla.

03 · Escúchalo convertido — reprodúcelo en la aplicación, alterna entre original y re-estilizado sobre la marcha, luego consérvalo, ajústalo o prueba otro.

Qué incluye

Más que un convertidor — un lugar para examinar el resultado.

  • Vista de piano roll y pentagrama — ve el archivo como un piano roll con teclado y regla de compases, o como sistemas envueltos de notación grabada real con un cursor de reproducción que sigue la reproducción. Haz clic en el pentagrama para buscar.
  • Rueda de escalas — la vista de grados dispone la escala como una rueda, con los grados en su ángulo real en cents contra las doce marcas de temperamento igual. Esa brecha es el punto: la tercera neutra del Maqam Rast se sitúa visiblemente entre una mayor y una menor. Su mobiliario permanece fijo mientras la reproducción lo recolorea, para que puedas observar en qué grados se apoya realmente la música.
  • Comparar A/B con el original — alterna entre la fuente y la versión re-estilizada durante la reproducción, sin salir hacia un DAW.
  • Exportación microtonal precisa — las escalas que no se asientan en 12-TET (maqam, dastgāh, slendro, pelog, tailandés de 7 iguales) se exportan con pitch bend por canal, un canal por cada desviación de cents distinta en lugar de por voz, para que la afinación sobreviva al viaje de ida y vuelta. La vista previa y el archivo exportado salen del mismo camino de código y no pueden discrepar.
  • Salida MIDI y MusicXML — guarda el resultado como archivo MIDI, o exporta MusicXML para llevar la notación a Sibelius, MuseScore o Dorico.
  • Portátil y privado — un único .exe autocontenido. Sin instalador, sin cuenta, sin carga. Cópialo a una memoria USB y ejecútalo.

El re-estilizado es solo re-mapeo de tono — nunca toca el ritmo, la ornamentación ni la articulación.

La biblioteca de escalas

171 escalas vienen con la aplicación, agrupadas por tradición:

TradiciónEscalasAlgunas de ellas
Asia del Sur82Los diez thaats, más las 72 melakarta carnáticas — generadas a partir de las posiciones Ri/Ga, Dha/Ni y Ma en lugar de escritas a mano
Oriente Medio16Maqam Rast, Bayati, Hijaz, Saba — en afinaciones notadas en cuartos de tono y de entonación justa
Türkiye15Makam Rast, Uşşak, Hüseyni, Buselik (AEU)
Asia Oriental13Gong, Shang, Jiao, Zhi, Yu (wǔshēng); japonés in, yō, hirajōshi, iwato, kumoi; coreano p'yŏngjo, kyemyŏnjo
Europa12Los siete modos eclesiásticos, menor armónica y melódica, doble armónica, menor húngara, doria ucraniana
Sudeste Asiático11Slendro y pelog medidos de gamelan nombrados, más el tailandés de 7 tonos, idealizado y medido
Persia10Dastgāh-e Shur, Homāyun, Māhur y otros, sobre los intervalos de Farhat
África9Kiñit etíope (tizita, bati, ambassel, anchihoye), equiheptatónico, equipentatónico, armónicos de música de arco
Américas3Hexatónica de blues, pentatónica menor y mayor

Cada escala escrita a mano lleva una cita de fuente, y una prueba falla la compilación si falta una — valores de cents incorrectos hacen una aplicación incorrecta, y ese no es el tipo de error que una prueba mecánica jamás detectaría. También puedes crear las tuyas en el editor de escalas, o importar archivos Scala .scl.

Cómo obtenerlo

Descarga MIDIRestyle.exe desde la última versión — un único archivo autocontenido, 51.2 MB, Windows x64, sin instalador. Cópialo en cualquier lugar (incluida una memoria USB) y ejecútalo.

La configuración y la biblioteca de escalas escribible viven en una carpeta scales/ escrita junto al exe en el primer inicio, con respaldo a %APPDATA% cuando esa ubicación no es escribible (una memoria de solo lectura, Program Files). Establecer MIDIRESTYLE_DATA_ROOT a una ruta absoluta anula ambas.

Compilar desde el código fuente

Requiere el SDK de .NET 10 (fijado en global.json).

dotnet build                                    # whole solution
dotnet test                                     # all tests - do NOT add --nologo, see below
dotnet run --project src/MidiRestyle.App        # launch the app

Una sola prueba o clase:

dotnet test --filter "FullyQualifiedName~ChannelAllocatorTests"
dotnet test --filter "FullyQualifiedName~ChannelAllocatorTests.RastAllocatesTwoChannels"

Nunca pases --nologo a dotnet test. El SDK de .NET 10 reenvía argumentos no reconocidos a la aplicación de prueba subyacente, que rechaza la bandera e informa "Zero tests ran" incluso cuando cada prueba pasó. Si dotnet test alguna vez informa cero, lee el bloque Standard output: por ensamblado — ahí es donde está el error real.

La versión portátil

dotnet publish src/MidiRestyle.App -c Release -r win-x64 --self-contained true `
  -p:PublishSingleFile=true `
  -p:IncludeNativeLibrariesForSelfExtract=true `
  -p:EnableCompressionInSingleFile=true

La carpeta de publicación debe terminar conteniendo exactamente un archivo — esa es toda la promesa de portabilidad. Esto se aplica automáticamente: una compuerta integrada en MidiRestyle.App.csproj se ejecuta después de cada publicación y falla la compilación ruidosamente si aparece un segundo archivo (una biblioteca nativa extraviada, un símbolo de depuración, lo que sea). Atrapó un error real durante el desarrollo — consulta los comentarios del csproj para el mecanismo, y CLAUDE.md para el historial completo.

Estado del proyecto

v1 está completa, con cinco versiones encima. Las doce fases de compilación están hechas — el modelo de dominio, la biblioteca de 171 escalas, la detección de tonalidad, el motor de re-estilizado, la asignación de canales para la exportación microtonal, la reproducción de audio con un interruptor A/B, y la publicación portátil de un solo archivo — así como las tres características que v1 difirió: exportación MusicXML, la vista de pentagrama y la vista de grados.

Desde entonces: v1.2 reconstruyó la notación como una página envuelta de sistemas con un cursor de reproducción que sigue y convirtió la vista de grados en una rueda de escalas; v1.3 añadió clic para buscar en el pentagrama y contornos reales de claves y silencios; v1.4 añadió la ventana Acerca de y agrupó los avisos de licencia de terceros; v1.5 puso conteos de compases en el panel de archivos, un teclado y una regla de compases en el piano roll, y reconstruyó la rueda de grados para que su mobiliario permanezca fijo y la reproducción solo la recoloree; y v1.6 añadió el servidor MCP integrado, para que el mismo exe pueda ser controlado por un agente.

Última verificación en verde en v1.6.0: 1572 pruebas, 0 advertencias, y una publicación portátil de exactamente un archivo de 51.2 MB.

Dónde vive la documentación real

Este README es el escaparate. Para algo más profundo:

Licencia

MIDIRestyle se publica bajo la Licencia MIT.

El .exe incluido es autocontenido, por lo que también redistribuye sus dependencias y el runtime de .NET. Sus licencias y avisos de derechos de autor se reproducen completos en THIRD-PARTY-NOTICES.txt — MIT para la mayoría, BSD para ANGLE y Skia, y la SIL Open Font License para la tipografía Inter, que requiere que su licencia se distribuya junto con la fuente.

Ese último requisito es por qué los avisos están incrustados en el ejecutable además de publicados aquí. Una compilación de un solo archivo no deja espacio para un archivo compañero junto al .exe, así que el texto viaja dentro de él y puede leerse desde Acerca de → avisos de terceros; un .exe copiado lleva sus avisos consigo.