Español

¿Qué es un Program Change de MIDI?

Descargar InputConfig en el Mac App StoreEsta app es totalmente gratis. No tienes que crear una cuenta. No hay suscripciones ni descargas complicadas, y no hay nada bloqueado. Optimizada para Apple Silicon.

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.

El Live Visualizer de InputConfig en su vista MIDI, que muestra el número de CC de una perilla y cómo cambia su valor al girarla.
Figura 1. El Live Visualizer de InputConfig muestra cómo cambian el número de CC y el valor de una perilla al girarla.
El editor de InputConfig muestra filas de la cruceta que envían cada una un Program Change, una con un Bank Select delante.
Figura 2. Cada dirección de la cruceta elige un sonido. La primera fila envía primero el banco y luego el programa, el orden que espera un sintetizador.

Ú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

Páginas 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. InputConfig aparece en español cuando el Mac está en español. Algunas páginas del sitio solo están en inglés.

Esta página en otros idiomas: English, Magyar, Italiano

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