Convertidor de MIDI a JSON
Convierte MIDI en notas de Tone.js aptas para desarrolladores o en eventos en bruto versionados, y convierte cualquiera de los contratos JSON compatibles de vuelta en un MIDI validado. Todo permanece en tu navegador.
Convertir MIDI a JSON
.mid/.midi · hasta 10 MB · procesamiento local en el navegador
Elige un archivo MIDI
El procesamiento se ejecuta en un worker del navegador que se puede cancelar.
Elige un archivo local para empezar.
Cómo convertir MIDI a JSON o JSON a MIDI
- 1. Elige una dirección y un archivo local. Abre un archivo .mid, .midi o un .json compatible. El convertidor lo lee localmente con un tiempo de espera limitado y lo comprueba en un worker del navegador.
- 2. Elige el contrato de datos. Para MIDI a JSON, selecciona notas normalizadas de Tone.js o eventos SMF en bruto versionados, y luego elige un espaciado legible o compacto.
- 3. Crea el resultado. Copia o descarga el JSON exacto, o crea y descarga explícitamente un MIDI validado a partir del JSON.
Notas de Tone.js frente a Eventos SMF en bruto
| Perfil | Ideal para | Representación | Ida y vuelta |
|---|---|---|---|
| Notas de Tone.js | Aplicaciones web, juegos, visualización | Notas, relojes, pistas, controladores, pitch bends | Normalizado; no fiel a los eventos en bruto |
| Eventos SMF en bruto | Inspección, intercambio, edición de eventos | Encabezado versionado, pistas y eventos de tiempo delta | Ida y vuelta semántica de eventos |
Qué conserva y qué cambia el JSON normalizado de Tone.js
El MidiJSON de Tone.js expone el PPQ, los cambios de tempo y compás, el texto del encabezado, los instrumentos y canales de las pistas, las notas emparejadas con duraciones en tics, los grupos de controladores, los pitch bends y los segundos derivados. El resultado es el objeto {header, tracks} directo que usa la librería; no hay un envoltorio propio del sitio.
Emparejar eventos note-on y note-off en objetos de nota normaliza necesariamente la fuente. La identidad original de la pista de origen puede dividirse por canal o programa, y el SysEx, el aftertouch, las líneas de tiempo de programas, las codificaciones de bytes y el orden exacto de eventos entre categorías quedan fuera de ese esquema. Por eso, JSON a MIDI crea un archivo de formato 1 determinista en lugar de afirmar que recupera el flujo original en bruto.
Qué significa una ida y vuelta de eventos en bruto
El esquema songparts.raw-smf.v1 registra el encabezado MIDI estándar, cada pista de origen y cada evento compatible con su tiempo delta y carga útil permitida. Conserva los límites de pista representados, la temporización, el orden dentro de la misma pista, los indicios de running status y el indicio del byte 9 de note-off.
Eso es fidelidad semántica de eventos, no una promesa de archivos idénticos byte a byte. Un generador puede codificar los chunks, los bytes de estado y los enteros de longitud variable de forma distinta y aun así volver a analizarse con la misma estructura de eventos. Los chunks adicionales no compatibles que quedan fuera del encabezado MIDI estándar analizado y de las pistas no se inventan.
Formato MIDI 0, 1, 2, PPQ y SMPTE
- Formato 0 y 1 con PPQ
- Ambos perfiles están disponibles. Tone.js devuelve datos de notas normalizados; Eventos SMF en bruto conserva las pistas de origen analizadas y la división de temporización.
- Formato 2
- Cada pista es una secuencia independiente. Eventos SMF en bruto conserva esa estructura y calcula la duración por pista; Tone.js se deshabilita en lugar de aplanar secuencias no relacionadas.
- Temporización SMPTE
- Eventos SMF en bruto conserva la temporización de velocidad de fotogramas compatible. El JSON de Tone.js representa el PPQ, por lo que el banco de trabajo selecciona Eventos SMF en bruto y explica la limitación.
Uso de MIDI JSON en aplicaciones, juegos y Web Audio
Los objetos de nota normalizados son prácticos para programar un sintetizador, dibujar un rollo de piano, crear objetivos de un juego de ritmo o analizar el tono y la temporización sin decodificar eventos MIDI en bruto. Los eventos en bruto son mejores cuando el software debe entender controladores, aftertouch, SysEx, la pertenencia exacta a una pista o las secuencias de formato 2. En cualquier caso, el JSON es datos estructurados, no audio renderizado.
Procesamiento privado, archivos acotados y vistas previas seguras
Los archivos MIDI de hasta 10 MB y los archivos JSON de hasta 30 MB se leen localmente, y luego se analizan y codifican fuera de la página principal en un worker del navegador reemplazable. Ninguna solicitud sube tus bytes. El bloque de código mostrado se depura en el origen y tiene un límite para que los metadatos grandes no bloqueen la página; las acciones de copiar y descargar siguen usando el resultado local completo y exacto, hasta el límite de 50 MB de JSON.
Preguntas frecuentes del convertidor de MIDI a JSON
- ¿El convertidor de MIDI a JSON es gratuito y necesito una cuenta?
- Sí. El convertidor es gratuito y no requiere cuenta. Elige un archivo MIDI local o un JSON compatible y crea el resultado en tu navegador.
- ¿Se suben o se almacenan mis archivos MIDI o JSON?
- No. La lectura, validación, conversión, copia y descarga de los archivos ocurren en tu navegador. Los archivos no se suben, no se transmiten, no se guardan en una cuenta ni se almacenan después de que salgas o recargues la página.
- ¿Qué formatos de MIDI JSON admite este convertidor?
- Admite el MidiJSON directo de Tone.js para notas normalizadas y un esquema versionado songparts.raw-smf.v1 para los datos del encabezado, las pistas y los eventos MIDI estándar. JSON a MIDI detecta automáticamente esos dos contratos exactos.
- ¿Qué perfil JSON debo elegir?
- Elige Notas de Tone.js para aplicaciones web, juegos, visualización y trabajo a nivel de nota. Elige Eventos SMF en bruto cuando los límites de pista, la temporización delta, el SysEx, el aftertouch, los eventos de controlador y otros eventos MIDI estándar representados deban conservarse en la ida y vuelta.
- ¿Convertir MIDI a JSON y de vuelta produce el archivo original idéntico?
- Eventos SMF en bruto conserva el formato representado, la división de temporización, las pistas, las cargas útiles de los eventos, la temporización delta y el orden de los eventos mediante una ida y vuelta semántica, pero no promete una codificación de chunks idéntica byte a byte. Las notas de Tone.js están normalizadas de forma intencionada y no son una ida y vuelta en bruto.
- ¿Puede este convertidor volver a convertir JSON en MIDI?
- Sí. Cambia a JSON a MIDI y elige un archivo MidiJSON directo de Tone.js o un archivo songparts.raw-smf.v1 válido. El convertidor valida la estructura completa antes de crear una descarga MIDI local.
- ¿Qué formatos MIDI y divisiones de temporización son compatibles?
- Eventos SMF en bruto admite el formato MIDI estándar válido 0, 1 o 2 con PPQ o con temporización SMPTE compatible. Las notas de Tone.js aceptan el formato 0 o 1 con temporización PPQ; el formato 2 y SMPTE usan automáticamente el perfil en bruto.
- ¿Qué eventos MIDI conserva el JSON en bruto?
- El perfil en bruto representa notas, programas, todos los números de controlador, pitch bend, aftertouch de nota y de canal, tempo, compás, tonalidades, texto, letras, nombres, prefijos, SysEx, datos específicos del secuenciador y metadatos desconocidos compatibles, exactamente como eventos analizados.
- ¿Puedo copiar el JSON o descargarlo?
- Sí. Primero crea el JSON y luego copia su texto local exacto o descarga un archivo .json. La vista previa en la página se depura en el origen y puede acortarse para mantener la fluidez; copiar y descargar usan el resultado local completo.
- ¿Es JSON un formato de audio?
- No. El JSON de MIDI describe notas, temporización, controles y metadatos como datos para software. No contiene ninguna forma de onda grabada y no se convierte en audio audible hasta que un sintetizador o sampler interpreta las instrucciones MIDI.
Más herramientas MIDI locales
- Reproductor MIDI — escucha un MIDI local e inspecciona las vistas de rollo de piano, partitura y tablatura.
- Divisor MIDI — exporta pistas de origen o partes por canal de un MIDI.
- Combinador MIDI — superpone archivos o únelos de extremo a extremo.
- Convertidor de MIDI a WAV — renderiza instrucciones MIDI como audio descargable.