Español

¿Qué es un Program Change de MIDI?

Descargar InputConfig en el Mac App StoreInputConfig es gratis en el Mac App Store. macOS 14 o posterior, sin cuenta, sin rastreo, código abierto.

Un Program Change es el mensaje MIDI que le dice a un dispositivo que cambie a otro sonido, patch o preajuste. Lleva un solo número, de 0 a 127, y nada más. Si envías el programa 0 a un dispositivo General MIDI, obtienes el piano. Si envías el 40, obtienes el violín. Para llegar a más de 128 sonidos, se envía antes un Bank Select.

Hago InputConfig, una app gratis para Mac que envía y recibe MIDI, así que las últimas secciones tratan de enviar un Program Change desde un botón y de usar uno para cambiar de distribución.

Pasos

  1. Busca el número de programa del sonido que quieres en la lista de patches del dispositivo.
  2. Comprueba si el dispositivo cuenta los programas desde 0 o desde 1, y resta 1 si cuenta desde 1.
  3. Si el sonido está en otro banco, envía primero Bank Select: CC 0 y después CC 32.
  4. Envía el Program Change por el canal que escucha el dispositivo.

Lee el mensaje

ParteValorSignificado
Byte de estado0xC0 a 0xCFProgram Change, en el canal 1 a 16
Byte de datos0 a 127El número de programa

Eso son dos bytes en total. El programa 5 en el canal 1 es C0 05 en hexadecimal. Un Program Change no lleva ningún valor adjunto: el número es el mensaje entero.

Cuenta desde 0 o desde 1

El mensaje lleva de 0 a 127. Muchos teclados y listas de patches muestran de 1 a 128. Los dos describen los mismos 128 programas, así que el piano es el programa 0 en el cable y el programa 1 en el panel frontal. Si el sonido que aparece está un número más allá del que pediste, los dos extremos cuentan desde números distintos. La lista de instrumentos General MIDI muestra las dos columnas una al lado de la otra.

Llega a más de 128 sonidos con Bank Select

Un Program Change elige uno de los 128 programas del banco actual. Bank Select elige el banco, y se envía como dos mensajes de Control Change antes del Program Change.

  • CC 0. Bank Select, la mitad gruesa. Muchos dispositivos usan solo esta.
  • CC 32. Bank Select, la mitad fina.
  • Después el Program Change. El banco surte efecto cuando llega el siguiente Program Change.

Bank Select por sí solo no cambia nada que se pueda oír, porque espera al Program Change que viene después. Qué números de banco usa un dispositivo está en su propio manual.

Distínguelo de un Control Change

Program ChangeControl Change
Qué haceCambia a otro sonido o preajusteMueve un control: un mando, un fader, un pedal
Qué llevaUn número, de 0 a 127Un número de controlador y un valor, cada uno de 0 a 127
Con qué frecuenciaUna vez, cuando quieres el cambioDe forma continua, mientras el control se mueve

El Program Change elige el sonido, y el Control Change le da forma. La lista de CC MIDI tiene todos los números de controlador.

Envía uno desde un botón

En un Mac, InputConfig envía un Program Change desde un botón de un mando de juego, una tecla del teclado, un pedal o un pad MIDI, por su propio puerto MIDI virtual. Cada pulsación recupera un patch por número, contado desde 0. Un botón por patch cambia de sonido sin que una mano deje el instrumento. Salida MIDI explica la configuración.

Úsalo para cambiar de distribución

También funciona en sentido contrario. Un Program Change que llega desde un controlador MIDI puede ser la entrada de una fila de InputConfig, donde se dispara una vez cada vez que cambia el patch, y esa fila puede activar un preajuste. Un botón de patch del controlador cambia entonces todo el conjunto de atajos que envían sus pads. Los botones de patch de un controlador se convierten en interruptores de distribución. De MIDI a teclas en un Mac lo cubre.

En resumen

  • Qué. Es un mensaje de dos bytes que cambia de sonido: estado 0xC0 más el canal, y después un número de 0 a 127.
  • Más de 128. Envía primero Bank Select, CC 0 y CC 32, y después el Program Change.
  • Desfase de uno. El cable cuenta desde 0 y muchas pantallas cuentan desde 1.

Un número, un canal, y el sonido cambia.

Preguntas

¿Qué es un mensaje Program Change de MIDI?

Un mensaje de dos bytes que le dice a un dispositivo que cambie a otro sonido o preajuste. El primer byte es 0xC0 más el canal, y el segundo es el número de programa, de 0 a 127.

¿Cuál es la diferencia entre Program Change y Control Change?

Un Program Change cambia a otro sonido y lleva un número. Un Control Change mueve un solo control, como el volumen o un filtro, y lleva un número de controlador y un valor.

¿Cómo selecciono un sonido por encima del programa 128?

Envía primero Bank Select, como CC 0 y normalmente CC 32, y después el Program Change. Los números de banco que usa un dispositivo están en su manual.

¿Por qué mi Program Change selecciona el patch equivocado?

Normalmente es un desfase de uno. El mensaje cuenta los programas desde 0 y muchos dispositivos los muestran desde 1, así que resta 1 al número de la pantalla. Si la diferencia es grande, el dispositivo está en otro banco.

¿Cuántos programas MIDI hay?

128 en cada banco, numerados de 0 a 127 en el mensaje. Bank Select multiplica eso por el número de bancos que tiene un dispositivo.

Más en español

Guías completas, en inglés

Quién escribe. Ryleigh Newman desarrolla InputConfig y maneja su propio Mac cada día con un mando, porque sus manos no funcionan bien. Esta página está traducida del inglés. Los botones y menús principales de la app aparecen en español cuando el Mac está en español; esta página los nombra así, con el nombre en inglés entre paréntesis. El resto de la app y del sitio está en inglés.

Esta página en otros idiomas: English, العربية, Čeština, Dansk, Deutsch, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 繁體中文, 简体中文

Descargar InputConfig en el Mac App StoreGratis. macOS 14 o posterior. Sin cuenta, nada sale de tu Mac. Código abierto en GitHub.