33 0 4MB
Introducción El audio digital acaba de cumplir cuarenta años. Más de uno se asombrará con semejante afirmación, pero lo cierto es que la aplicación de la informática al sonido es casi tan antigua como los propios ordenadores. Lo que tal vez no preveían aquellos visionarios pioneros era la importancia que este fenómeno iría tomando con el tiempo. Tanta, que hoy en día, el ordenador está presente en todas las facetas de la creación musical, en la composición, la interpretación, la grabación, la producción y la reproducción. Lo que durante años fue casi un “secreto” en manos de centros de investigación privados o universitarios, sufrió una primera democratización hace algo más de una década, con la llegada del MIDI y del disco compacto, dos muestras muy diferentes de las posibilidades del ordenador en el campo de la música. Desde entonces, pocos son los músicos profesionales que no aprovechan en alguna medida el enorme potencial del MIDI y, muchos menos, los aficionados que siguen reproduciendo aquel rito consistente en sacar el vinilo de su funda flexible y levantar con cuidado el brazo del tocadiscos. La segunda revolución se está produciendo ahora mismo, y su líder tiene un nombre: “multimedia”. Como todos los cambios, éste tiene su aspecto positivo y su aspecto negativo. Por un lado, ha abierto la posibilidad teórica de que cualquiera pueda participar, casi en igualdad de condiciones, en la vorágine del mercado musical y, lo que es más importante, está fomentando el surgimiento de nuevas formas de entender y de crear la música. Como contrapartida, los ordenadores se han llenado de muchas “musiquillas” totalmente prescindibles, trivializando al máximo el fenómeno de la creación musical. Y en consecuencia, han proliferado también en revistas “especializadas” en multimedia un sinfín de artículos poco claros y nada rigurosos, en muchos casos plagados incluso de incorrecciones y barbaridades, que han colaborado a enmarañar este campo y a confundir totalmente al aficionado. Para hacer música, no hay desde luego nada como saber música, pero este conocimiento (cada vez más relativo) no es ni estrictamente necesario ni siquiera suficiente. Hasta hace poco, cuando uno sentía esta necesidad y no poseía demasiados conocimientos, solía plantearse dos opciones: o ponerse a estudiar, o coger una guitarra, un micro o una batería. Y la historia más reciente nos demuestra que por este último camino también se puede llegar a obtener resultados muy loables. Ahora, puede además, coger un ordenador. Como cada medio, éste posee sus propias reglas, exigencias y peculiaridades. Desde este libro no le podemos enseñar a hacer música “interesante”, pero sí al menos a que conozca las herramientas de que dispone, las principales mejoras que podría incorporar a su sistema informático-musical, y los muchos trucos que le permitirán enriquecer cualquier resultado. Y le ayudaremos también a tener nuevas ideas, ya que éstas surgen con mayor facilidad, cuando mejor se conoce el medio con el que se trabaja. Tenga en cuenta que, en la música informática, la agilidad mental es más importante que la agilidad “digital”1. Y si usted no siente deseos, o no se cree capacitado para componer, probablemente tiene la curiosidad de saber cómo funcionan estas cosas, de conocer más a fondo para qué sirve la tarjeta que se oculta en las entrañas de su ordenador (si no fuera así, no estaría leyendo esta
1
De “dedo” ¡no de “dígito”!
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
introducción). En este caso, su curiosidad quedará satisfecha. Y quién sabe, tal vez incluso le acabe picando el gusanillo… Después están los programadores, que intuyen el potencial que se oculta tras el MIDI y el audio digital, pero no encuentran la información necesaria. Para ellos, dedicamos dos extensos capítulos a la programación MIDI, con ejemplos operativos en Visual Basic y en lenguaje “C”. Por último, este libro también tiene bastante que aportar a los músicos que trabajan con el MIDI desde hace tiempo, y que dominan con soltura sus aspectos más prácticos. Aquellos que acaban de cambiar de ordenador, y que se han decidido a jubilar aquel Atari que tan buenos momentos y resultados les ha proporcionado, podrán descubrir todas las prestaciones de un sistema que, como el PC de hoy en día, es mucho más potente y abre un sinfín de nuevas posibilidades (samplers económicos, grabación multipista a disco duro, etc.). Y los que deseen consolidar sus conocimientos y profundizar en los aspectos más teóricos de las tecnologías que usan a diario, también encontrarán aquí una importante fuente de conocimientos, así como una rápida referencia para muchas de las dudas que les puedan ir surgiendo. Varios cursos de informática musical, impartidos a estudiantes de cierto nivel, me han evidenciado que muchos conocimientos, supuestamente básicos, no siempre están tan claros como cabría esperar.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Cómo usar este libro La idea de este libro surgió a raíz de varios cursos de informática musical y programación MIDI impartidos en el Institut Universitari de l’Audiovisual, de la universidad Pompeu Fabra de Barcelona, al observar que la bibliografía sobre el tema, sigue siendo hoy bastante reducida. La mayoría de libros interesantes están en inglés y no son además fáciles de conseguir. Los pocos publicados en castellano, son, salvo honrosas excepciones, demasiado superficiales o han quedado desfasados. La intención inicial era dar una base sólida y completa tanto para el músico que comienza, como para el que desea consolidar sus conocimientos, en el área de la informática musical. Por otro lado, es innegable que con el auge del multimedia, existen muchos nuevos usuarios con inquietudes y disposición, que no encuentran la información necesaria para comenzar a adentrarse en estos terrenos. Por ello, este libro intenta combinar los aspectos teóricos fundamentales que rigen el sonido digital y la música por ordenador, con las posibilidades prácticas que los ordenadores multimedia ofrecen hoy en día. Cuando ha habido que elegir una plataforma y un sistema en los que mostrar los ejemplos y los productos actualmente disponibles, la elección ha recaído sobre el PC y el sistema operativo Windows (especialmente la versión 95). Los productos cambian muy rápido, y es por ello peligroso aconsejar determinadas aplicaciones o dispositivos de hardware, pero creemos que el salto cuantitativo importante que se ha producido en el terreno de los ordenadores PC compatibles durante los años 1995 y 1996, dejará sus secuelas durante cierto tiempo.
Material necesario Se asume que el lector dispone de un ordenador y de una tarjeta de sonido. Si no fuera así, en los capítulos 11 y 12 se estudian las tarjetas de sonido en profundidad, lo cual puede servir de ayuda a la hora de adquirir una. En los capítulos 5 y 6 es conveniente la utilización de un software editor de sonido para aplicar los conceptos tratados. El libro no sigue ninguno en particular, aunque en esos capítulos, se recomiendan varias utilidades shareware. Más adelante se estudia el software secuenciador, también de forma genérica, por lo que sería muy conveniente que el usuario dispusiera de uno, así como de un teclado MIDI. Muchos de los programas shareware o de dominio público que se mencionan a lo largo de la obra pueden obtenerse en Internet, y en un apéndice se incluyen algunas direcciones interesantes.
Esquema general de la guía Como reza el título, este libro trata dos grandes temas, que en la práctica se combinan, pero que están conceptualmente separados: el audio digital y el MIDI. Nos ha parecido incuestionable comenzar por el audio digital, para pasar después al MIDI, y mostrar finalmente en el último capítulo el inmenso potencial que ofrece el uso combinado de ambas
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
tecnologías; posibilidad que en el terreno de los ordenadores compatibles está disponible, a nivel masivo, sólo desde 1996. Aconsejamos una lectura progresiva, aunque el lector impaciente podrá saltar de un tema a otro intentando respetar los bloques que se indican a continuación. Asimismo muchos de los capítulos podrán ser utilizados para consultas posteriores, por lo que hemos dedicado un especial esfuerzo en facilitar la localización y el acceso a informaciones puntuales. El audio digital se trata en los capítulos 1 a 6. El capítulo 1 estudia principios básicos de acústica musical y el capítulo 2, los aspectos fundamentales del audio digital. Aunque en ambos se han evitado complejas fórmulas y demostraciones matemáticas, incluyen todo lo necesario para la comprensión de lo que sigue. Un lector con conocimientos en ambos campos podría tal vez saltárselos, pero un breve repaso le ayudará a refrescar la memoria y a aclarar conceptos. El capítulo 3 explica las peculiaridades y el uso del audio digital en los ordenadores, de forma totalmente independiente de cualquier plataforma. El capítulo 4, se centra en cambio en la implementación que del audio digital hace Windows 95 (indicando cuando las hubiera, las particularidades de Windows 3.1), y aunque su contenido teórico es muy escaso, ayudará a cualquier usuario de este sistema, a configurar bien el ordenador, a comprender sus peculiaridades y a realizar las operaciones más básicas (digitalización de sonido, control del mezclador, etc.) algunas de ellas fundamentales para el resto de la obra. Un usuario de otra plataforma (Apple, Unix, etc.) podrá saltarse este tema. En los capítulos 5 y 6 se explican los procesos típicos disponibles en un programa editor de sonido. En ambos se describen ejemplos con varios programas de Windows (en su mayoría de dominio público), por lo que para seguirlos sería conveniente que el lector dispusiera de algunos de ellos. Las técnicas descritas en el capítulo 5 pueden considerarse más básicas, mientras que las del capítulo 6 implican un contenido teórico superior. Por ello, se discuten también de forma sencilla algunos conceptos de proceso digital de señal. Los capítulo 7 a 14, tratan del MIDI en general. El capítulo 7 es una introducción al tema, que podrán saltarse los que lleven tiempo trabajando con él. El capítulo 8, trata en cambio todos los mensajes MIDI en profundidad, por lo que es de lectura (y relectura) obligada. En algunos puntos se asumen ciertos conocimientos informáticos básicos (sistema binario), por lo que es posible que, en el primer acercamiento, este capitulo pueda parecer un tanto denso, pero está estructurado de forma que permita una utilización como referencia rápida. Por ello, si la primera lectura se le hace excesivamente farragosa, podrá volver a él siempre que necesite reafirmar sus conocimientos. El capítulo 9 cubre la síntesis digital. En principio está enfocada a los sintetizadores MIDI y al sampler, pero también podría leerse como continuación del capítulo 6. En cualquier caso incluye muchos aspectos fundamentales que serán desarrollados en los capítulos 11 y 12, dedicados a las tarjetas de sonido. Los capítulos 10, 11 y 12 se dedican al hardware MIDI. En el 10, se tratan brevemente desde los dispositivos más frecuentes (como el teclado) a otros que no lo son tanto. No se trata de adquirirlos todos, sino de obtener una visión global de la multiplicidad de enfoques permitidos y de las posibilidades actuales. Los capítulos 11 y 12 se centran en las tarjetas de sonido. Primero de forma más teórica, estudiando los diversos tipos y sus características, para realizar, en el capítulo 12, un análisis comparativo de los modelos más aconsejables, disponibles a principios de 1997.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Los capítulos 13 y 14, tratan sobre el software MIDI. El primero se dedica por completo al secuenciador, el programa más importante de todo estudio MIDI, mientras que en el segundo, se contemplan los restantes tipos de programas disponibles. En ambos casos se analizan las prestaciones de varios paquetes disponibles para Windows. Los capítulos 15, 16 y 17, cubren varios aspectos de la configuración, gestión y programación MIDI en Windows. El primero es obligado para entender las peculiaridades de este sistema operativo en lo que al MIDI se refiere. Los dos siguientes se reservan para los programadores. El capítulo 16 trata el uso de comandos MCI, mientras que el 17 se centra en la programación MIDI de bajo nivel. Ambos pueden estudiarse de forma independiente. En los dos casos puede resultar conveniente repasar previamente el capítulo 8. Finalmente, en el capítulo 18 se abordan las nuevas posibilidades de integración del MIDI y el audio digital, para finalizar con un repaso de los dispositivos analógicos imprescindibles en todo estudio de música por ordenador. Termina el libro con tres apéndices. El primero, destinado a aclarar algunos términos y conceptos musicales, está pensado para el lector con escasa formación musical. En el segundo se presentan en modo de tablas, algunas especificaciones técnicas referentes al MIDI, mientras que en el tercero se incluye una lista comentada de direcciones en Internet, relacionadas con la informática musical.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Agradecimientos Me gustaría dar las gracias a todas aquellas personas que a lo largo de los últimos diez años me han ayudado o encaminado a seguir en el campo de la informática musical, y en especial a Adolfo Nuñez del Laboratorio de Informática y Electrónica Musical de Madrid y a Xavier Serra de la Fundaciò Phonos de Barcelona. También quisiera agradecer a Marisa Manchado y a Gabriel Brncic por haberme animado a seguir componiendo en algunos momentos en que no lo he tenido tan claro, a Marcel.lí Antúnez que me fuerza, con sus propuestas, a descubrir cada día nuevos horizontes informático-creativos y a Cristina Casanova que ha colaborado en las imágenes del libro y con sus apreciaciones, sugerencias y acertados comentarios. Sergi Jordà, Barcelona 1997.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1. Principios de acústica
1.1. Introducción Aunque se puede hacer música sin tener demasiados conocimientos de acústica, parece imposible comprender lo que es el sonido digital si no se tiene una idea de lo que es el sonido en general. Por ello, este capítulo describe de forma básica los aspectos físicos y matemáticos de las ondas sonoras que, junto con sus consecuencias psicológicas, son la base de toda experiencia musical. Empecemos pues por el principio.
1.2. ¿Que es el sonido? Lo que entendemos por sonido es fruto de una compleja interacción entre un objeto vibrante, un medio transmisor (frecuentemente el aire), el oído, y el cerebro. Para que la vibración sea audible para un ser humano, este objeto debe oscilar aproximadamente entre 20 y 20.000 veces por segundo. Al oscilar, el objeto desplaza el aire que lo rodea, comprimiendo y descomprimiendo periódicamente las moléculas que lo integran, y modificando por consiguiente la presión del aire de forma periódica. Dado que las moléculas desplazadas van empujando a las contiguas, la variación periódica de la presión se propaga originando lo que recibe el nombre de ondas sonoras. Cuando las ondas llegan al oído, el cerebro interpreta estas variaciones de presión como sonido. Si la presión del aire que circunda el oído se mantiene constante, no oímos nada, u “oímos el silencio”. Las ondas sonoras se propagan en el espacio, formando invisibles esferas centradas en el objeto que oscila. Conforme aumenta la distancia al origen y el radio de estas ondas, aumenta también el volumen y la masa de aire que éstas deben desplazar, por lo que las oscilaciones se hacen cada vez más débiles (la presión del aire varía cada vez menos, aunque siga haciéndolo con la misma frecuencia) hasta que, a una cierta distancia, se tornan imperceptibles. Este principio es válido independientemente del objeto oscilador, que puede ser por ejemplo una cuerda (guitarras, violines, pianos, cuerdas vocales, etc.), una columna de aire semicerrada y excitada por una caña o una boquilla (saxofones, flautas, trompetas, órganos, etc.), una pieza de madera, metal, piel, piedra, etc. golpeada (percusiones), o un cono de papel (altavoces). En muchos casos, los objetos que entran en vibración son en realidad varios, como es el caso de la guitarra (o de la voz) donde lo que oímos es la suma de las vibraciones de las cuerdas y de la caja. Asimismo, cuando estas ondas encuentran un obstáculo, parte de las moléculas que las componen son absorbidas por el material, mientras que las restantes son reflejadas. Este fenómeno origina que en la mayoría de los casos, lo que nos llega al oído sea una suma del sonido directo combinado con múltiples reflexiones de este sonido, ligeramente retardadas1. 1 El tiemp o de estos retardos será proporcional a la distancia adicional recorrida, teniendo en cuenta que la
velocidad del sonido en el aire, es de aproximadamente 344 m/s.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1.3. Características de los sonidos musicales Para describir un sonido musical se utilizan tres términos: altura, timbre e intensidad. Todo sonido tiene una duración y, a lo largo de ésta, cualquiera de estos tres parámetros puede variar (los sonidos naturales jamás son perfectamente estables o constantes).
1.3.1. La altura y la frecuencia La altura está directamente relacionada con la frecuencia de la oscilación, pero ambos términos no son sinónimos. De hecho, muchos sonidos (como los percusivos) no tienen una altura definida. El motivo de esta aparente paradoja es que, mientras la frecuencia es una propiedad física indisociable de todo aquello que, como el sonido, vibra u oscila, la altura es una cualidad subjetiva que percibimos sólo en algunos sonidos2. Si golpeamos, por ejemplo, un bombo o un platillo, podremos sin duda afirmar que el platillo suena más agudo que el bombo, pero no podremos decir si estos sonidos correspondían a un Do o a un La. ¿Que es lo que hace que un sonido posea o no una altura clara? Básicamente, su periodicidad. Es necesario que un sonido sea aproximadamente periódico, es decir que su frecuencia de oscilación no varíe (o varíe poco) dentro de un determinado lapso de tiempo, para que lleguemos a percibir una altura. En una escala temporal mayor, la frecuencia sí que puede variar, y en este caso, lo que percibiremos son alturas variables en el tiempo.
Figura 1.1. Variación de la presión en función del tiempo en un sonido periódico En la figura 1.1 se muestra un sonido periódico, ya que la forma de la onda se repite claramente. La frecuencia de este sonido vendrá dada por el tiempo que dura este período, ya que ambas magnitudes son inversas. Si este período durase por ejemplo una centésima de segundo, su frecuencia sería de 100 Hz3.
2Por este motivo hemos añadido el epíteto "musicales", en el título de este apartado. Eso no significa que
estos sonidos sean los únicos válidos para hacer música, y la percusión es un claro ejemplo de ello. 3El Hz o hertzio es la magnitud física que mide la frecuencia, e indica el número de veces por segundo que
se repite determinado fenómeno.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1.3.2. La octava y las notas Un fenómeno muy importante relacionado con la apreciación de las alturas, es el de la octava. Si escuchamos dos sonidos cuyas frecuencias guardan una relación de 2:1 (por ejemplo 400 Hz y 200 Hz), nos sonarán muy cercanos. El motivo es que entre los dos dista exactamente una octava. Dado que cada vez que se dobla la frecuencia se sube una octava, un sonido de 880 Hz estará dos octavas por encima de uno de 220 Hz. Esta idea de octava se repite en casi todas las culturas, a lo largo de la historia. Lo que sí varía enormemente de una cultura a otra es el número de subdivisiones que se aplican a la octava. En la música occidental, la octava se divide en doce alturas o semitonos, de las cuales siete tienen “nombre propio” y corresponden a las teclas blancas de un piano. Las cinco restantes (que corresponden a las teclas negras) pueden tomar el nombre de la inmediatamente anterior, en cuyo caso se les añade el símbolo # (sostenido), o de bien la posterior, en cuyo caso se les añade el símbolo b (bemol). De esta forma las doce notas de una octava pueden nombrarse de dos maneras diferentes ( “do, do#, re, re#, mi, fa, fa#, sol, sol#, la, la# y si”, o bien “do, reb, re, mib, mi, fa, solb, sol, lab, la, sib y si”). En la nomenclatura sajona las notas se designan mediante letras mayúsculas, de acuerdo con la siguiente equivalencia (que conviene tener presente, dado que, como se verá en la segunda parte de este libro, los programas MIDI la utilizan profusamente)4. Do C
Re D
Mi E
Fa F
Sol G
La A
Si B
Conviene indicar que antes de J.S.Bach (siglo XVIII), la división de la octava se basaba en las teorías del filósofo griego Pitágoras, según la cual los intervalos formados por cada nota y la siguiente no eran siempre idénticos. Para simplificar la construcción de instrumentos, en el siglo XVIII se decidió dividir la octava en doce partes iguales, por lo que actualmente, la relación de frecuencias entre cualquier nota y la siguiente es siempre igual a 21/12 (1.05946). De esta forma, al avanzar doce semitonos (una octava), obtenemos un factor de (21/12)12 que es efectivamente igual a 2.
1.3.3. El timbre y los armónicos El timbre podría definirse como el "color" de un sonido, y es lo que nos ayuda a caracterizar y distinguir diferentes tipos de instrumentos, o a reconocer a las personas por su voz. Un La de 440 Hz en una clarinete suena diferente que el mismo La en un saxo; aunque ambos tienen la misma altura, sus timbres no son iguales. La figura 1.2, que muestra fragmentos de estos dos sonidos, junto con un tercer fragmento correspondiente a onda sinusoidal pura de la misma altura, nos puede ayudar a comprender la naturaleza física del timbre. En los tres fragmentos, el período es el mismo (pues tienen la misma altura), pero sus formas son diferentes.
4 En el apéndice B se indican las frecuencias de todas las notas MIDI, y se puede observar como
efectivamente, estas frecuencias se duplican en cada nueva octava.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 1.2. Fragmentos de tres sonidos de la misma altura (La de 440 Hz) en un clarinete (a), un saxofón (b) y una onda sinusoidal pura (c) El motivo de esta diferencia de forma, es que las ondas de los sonidos naturales son más complejas porque vibran con varias frecuencias simultáneas. En la naturaleza no se encuentran sonidos puros con una sola frecuencia, como el de la figura 1.2.c; éstos sólo son obtenibles por medios electrónicos. En los sonidos naturales, la frecuencia de vibración más grave es la que determina normalmente el período y la altura, y se denomina frecuencia base. Las restantes frecuencias, que suelen ser múltiplos de la frecuencia base se denominan armónicos, y cada tipo de instrumento tiene, por su construcción, una serie diferente de armónicos de amplitudes diferentes, que son los que definen su timbre y otorgan las "señas de identidad" al instrumento.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Las matemáticas relacionadas con este concepto, fueron establecidas en el siglo XIX por el físico Jean-Baptiste Fourier, que descubrió que toda señal periódica, por compleja que esta sea, puede descomponerse como una suma de señales sinusoidales armónicas, es decir de frecuencias múltiplos de la original. En la figura 1.3 se muestra la descomposición de una onda periódica (d) en sus varias ondas sinusoidales simples armónicas, de amplitudes diferentes. Dicho de otro modo, la señal d es la resultante de sumar de las señales a, b y c.
Figura 1.3. Descomposición de Fourier de una señal periódica en varias señales sinusoidales Cuando el sonido no es periódico, su descomposición no puede llevarse a cabo mediante frecuencias múltiplos por lo que los factores dejan de ser números enteros. En estos casos tenemos sonidos inarmónicos, en los cuales se hace difícil apreciar una altura precisa.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1.3.4. La intensidad y los decibelios Si la altura viene determinada por el número de oscilaciones por unidad de tiempo, la intensidad depende del cuadrado de la amplitud de estas oscilaciones, o la diferencia entre las presiones máxima y mínima que la onda puede alcanzar. La percepción de la intensidad sonora es, en realidad, un fenómeno auditivo muy complejo, mucho más que el de la altura, y lo que sigue es una inevitable simplificación. Las intensidades de diferentes sonidos pueden variar, aunque parezca increíble, en varios millones de órdenes de magnitud (es decir, el sonido más intenso que podamos oír, lo será varios millones de veces más, que el más tenue). Por ello, la intensidad se mide en una escala logarítmica, los decibelios (dB), de acuerdo con la siguiente fórmula Nivel de intensidad en decibelios (dB) = 10 x log10 (amplitud2/amplitud referencia2) Esta expresión determina un nivel o diferencia de intensidad entre dos amplitudes. El origen (0 dB) corresponde al umbral de audición (mínimo sonido audible). Por debajo de este valor tenemos el auténtico silencio, aunque en el mundo en que vivimos la experimentación del silencio se hace francamente difícil, por lo que muchos de nosotros probablemente no lleguemos a conocer nunca el significado real de esta palabra. Por encima de los 130 dB se produce una sensación dolorosa. Valores superiores prolongados llegan a destrozar el tímpano. En la tabla 1.1 siguiente se muestran algunos valores típicos. . Descripción Nivel (dB) Relación de intensidad Despegue de cohete espacial 190 1019 Despegue de un reactor 150 1015 Umbral de dolor 130 1013 Concierto de heavy metal 120 1012 Martillazos sobre una plancha metálica (a 50 cm) 110 1011 Tráfico en calle concurrida 70 10.000.000 Conversación normal (a 1 m) 60 1.000.000 Restaurante concurrido 50 100.000 Casa en la ciudad 40 10.000 Iglesia vacía 30 1.000 Estudio de grabación 20 100 Umbral de audición 0 1 Tabla 1.1. Ejemplos de niveles sonoros en dB. He aquí algunas consideraciones adicionales: • El oído no es normalmente capaz de distinguir diferencias inferiores a 3 dB. • La intensidad de un sonido decrece aproximadamente en 6 dB cada vez que se dobla la distancia.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1.3.5 El rango dinámico La diferencia entre los valores mínimos y máximos en dB, que un sistema puede producir se denomina rango dinámico. En la tabla 1.2 se indican algunos valores típicos. Clarinete Piano Disco compacto Trombón Orquesta sinfónica
86 94 96 107 120
Tabla 1.2. Varios ejemplos de rangos dinámicos (en dB). En la mayoría de dispositivos de audio (amplificadores, pletinas de casete, reproductores de compactos, altavoces, etc.) este valor figura entre las especificaciones técnicas, como rango dinámico o relación señal/ruido5. En un aparato electrónico, el rango dinámico indica la diferencia entre el nivel máximo que el dispositivo puede emitir, y el nivel del ruido existente cuando no hay señal (el ruido de fondo). Cuanto mayor sea esta diferencia, más limpio será el sonido del dispositivo. En una cadena de varios dispositivos de audio (emisor, amplificador, altavoces, etc.) el valor real, es decir el máximo rango dinámico que podremos llegar a apreciar, corresponderá al del dispositivo con peores características. En aparatos de cierta calidad, este valor suele estar comprendido entre los 80 y los 95 dB. Tal como se indica en la tabla 1.2, en los reproductores de compactos, y en cualquier otro dispositivo de sonido digital de 16 bits, este valor no podrá nunca ser superior a 96 dB (en el próximo capítulo explicaremos la razón), pero incluso pocas veces se alcanza este máximo teórico, ya que la circuitería analógica presente en el dispositivo tiende a añadir ruido.
1.4. El sonido analógico Hasta la aparición de los ordenadores, el sonido se grababa siempre de forma analógica. Pero ¿qué significa exactamente este término? El término analógico se utiliza actualmente en contraposición a digital. Las señales analógicas son funciones de variables continuas (frecuentemente del voltaje) cuyas evoluciones temporales imitan (son una analogía de) las señales originales. La representación gráfica de un sonido grabado analógicamente tendrá aproximadamente la misma forma que el sonido original, pero la curva indicará variaciones de voltaje, en lugar de variaciones de presión de aire. Estas nuevas señales analógicas se obtienen por medio de transductores, término con el que se designa a todo dispositivo capaz de convertir una magnitud física en otra. El micrófono y los altavoces son los dos transductores básicos utilizados en la grabación y reproducción del sonido. En primer lugar, el micrófono convierte la variación de la presión de 5 Aunque ambos términos no son exactamente idénticos, de momento podemos obviar la diferencia.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
aire ejercida sobre su membrana, en una señal de voltaje variable en el tiempo. Este voltaje puede ser grabado, utilizando diferentes tecnologías, sobre una cinta magnética o en los surcos de un disco de vinilo. Cuando deseamos reproducir el sonido, la señal eléctrica generada por el cabezal de la pletina o la aguja del tocadiscos, es amplificada y enviada a los altavoces, donde un nuevo transductor la convierte en un campo magnético capaz de desplazar y de hacer oscilar (con las frecuencias originales) los conos de papel de los altavoces. Conviene resaltar que aunque la grabación se realice digitalmente, tal como se describe en el próximo capítulo, “Principios de sonido digital”, se seguirán llevando a cabo las transducciones analógicas en el micrófono y en los altavoces. En la figura 1.4 se esquematizan los dos procesos de grabación alternativos.
Figura 1.4. Esquema de los procesos de grabación analógica y digital Al contrario de lo que opina la mayoría, una grabación analógica no tiene por qué sonar peor que una grabación digital (en condiciones óptimas, suena de hecho mejor). Sus inconvenientes radican en que la señal analógica se degrada mucho más rápidamente (las cintas magnéticas se desmagnetizan, y los surcos en el vinilo se desgastan), y que en cada nueva generación se produce una pequeña pero inevitable perdida, de forma que, a cada nueva copia, la señal se parece cada vez menos a la original.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Por estas razones el sonido digital ha tomado definitivamente el relevo del analógico. Al margen de la discutible cuestión de la calidad, en este libro se verá porque el sonido digital aporta un sinfín de nuevas y excitantes posibilidades en la manipulación, creación y experimentación sonoras.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
2. Principios del sonido digital
2.1 Introducción El principio fundamental del audio digital consiste en discretizar las señales sonoras continuas (como las emitidas por un micrófono) para convertirlas en secuencias de números. La discretización de estas señales se lleva a cabo en dos niveles diferentes, el temporal y el de la amplitud. En la figura 2.1 se muestra una señal continua, discretizada sólo en el tiempo (cuadros blancos) y en el tiempo y la amplitud (puntos negros). Cuanto menor sea la cuadrícula, mayor similitud existirá entre la señal original y la señal digitalizada.
Figura 2.1. Discretización de una señal continua.
2.2. Comparación con el cine y el vídeo digital Para aclarar algunos conceptos, haremos una analogía con el cine y el vídeo digital. En ambos medios, existe una discretización temporal (incluso en el caso del cine que no es un medio digital). En el cine, la unidad de discretización temporal es el fotograma (24 fotogramas/segundo), mientras que en el vídeo esta unidad se suele denominar con el término inglés frame (dependiendo del sistema, este valor suele ser de 25 ó 30 frames/segundo). Esto correspondería, en el audio, a la discretización temporal. Pero en el caso del vídeo digital se producen dos discretizaciones adicionales. La segunda convierte cada frame en una matriz de puntos (por ejemplo 800x600), y la tercera asigna un número (de entre un conjunto finito de valores) a cada punto, de forma que cada uno de estos números corresponde a un color y un brillo determinado.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Es obvio que cuantos más puntos apliquemos, y cuantos más números utilicemos para cada punto, mayor será la similitud entre la señal analógica original y la señal digitalizada. Si disponemos de pocos puntos, la imagen aparecerá cuadriculada, y si el número de valores posibles para cada punto es pequeño, perderemos matices en los colores y en los brillos. En la figura 2.2 se muestran estos casos. Algo parecido sucede con el sonido.
Figura 2.2. Ejemplos de imágenes deficientemente digitalizadas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
2.3. Muestreo del sonido - Frecuencia de muestreo La palabra muestreo es el equivalente del término inglés sampling, y se utiliza para indicar la acción de tomar muestras a intervalos de tiempo regulares. Para digitalizar un sonido es necesario muestrearlo, pero ¿con qué frecuencia? En el apartado anterior comentábamos que para la imagen animada, la frecuencia de muestreo suele estar entre los 24 y los 30 fotogramas por segundo. Con esta frecuencia se consigue engañar a la retina, haciéndole creer que lo que recibe no son imágenes discontinuas, sino un flujo continuo de luz, pero estos valores son totalmente insuficientes en el caso del sonido. Para comprender este fenómeno observemos la figura 2.3 que representa una señal sinusoidal de 30 Hz. (el ciclo se repite 30 veces por segundo) ¿Que ocurre si la muestreamos a una frecuencia de 20 Hz? En este caso, estaremos tomando el valor de la onda original cada 0,05 segundos (corresponden a los seis cuadros de la figura). La nueva señal obtenida juntando los puntos muestreados tiene un período aparente de 0,1 segundos, ¡es decir una frecuencia de 10 Hz, lo cual no se corresponde en absoluto con la señal original!
Figura 2.3. Señal muestreada incorrectamente. ¿Cual sería la mínima frecuencia de muestreo correcta? El teorema del muestreo o teorema de Nyquist, afirma que para muestrear correctamente una señal de X Hz, se requiere como mínimo una frecuencia de muestreo de 2X Hz. En nuestro ejemplo anterior, una frecuencia de 60 Hz hubiese pues bastado para muestrear correctamente la señal original. Pero tal como indicamos en el capítulo 1,”Principios de acústica”, el oído humano es capaz de detectar frecuencias sonoras de hasta aproximadamente 20.000 Hz, por lo que, para muestrear correctamente cualquier sonido se necesitará una frecuencia de muestreo superior o igual a 40.000 Hz. ¡De aquí proceden los famosos 44.100 Hz. utilizados en los discos compactos!
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
2.4. Muestreo con frecuencias inferiores - El aliasing Si muestreamos a una frecuencia inferior, como por ejemplo a 30.000 Hz, los resultados que obtengamos podrán ser correctos para las frecuencias por debajo de los 15.000 Hz (la mitad de la frecuencia de muestreo). Para las aplicaciones que no precisen de la máxima fidelidad, esto es más que suficiente. El sonido será un poco menos brillante, pero se parecerá todavía bastante al original, pues la zona frecuencial con mayor energía suele estar aproximadamente entre los 1.000 y los 3.000 Hz. Existe, sin embargo un problema adicional, algo complicado de entender. Tal como vimos en el ejemplo gráfico anterior, al muestrear con frecuencias inferiores, surgen frecuencias “fantasmas” que realmente no están en el sonido original (como los 10 Hz que aparecían misteriosamente en nuestro ejemplo) y que alteran el sonido muestreado. Este fenómeno recibe el nombre de aliasing. Si lo que sigue le parece excesivamente complicado, no se preocupe: volveremos a tratar el tema con más detalle en el apartado 5.7. “Efectos simples aplicables a la frecuencia”, pero para los más impacientes, he aquí un pequeño adelanto. El aliasing “inventa” frecuencias de valores aproximados a la diferencia entre la frecuencia original y la frecuencia de muestreo. Para evitarlo, cuando se desee muestrear a frecuencias inferiores a 44.100 Hz, se debería filtrar previamente la señal entrante, eliminando todos sus valores por encima de la mitad de la frecuencia de muestreo. Si decidimos muestrear a 20.000 Hz, deberíamos filtrar la señal original, eliminando todos sus componentes por encima de 10.000 Hz. Esto no siempre es posible si no se dispone del hardware adecuado, ya que la mayoría de tarjetas de sonido no permiten modificar el filtro de entrada. Existe una solución para realizar todo este proceso por software, consistente en: • muestrear a 44.100 Hz • filtrar por software el sonido obtenido, a la mitad de la frecuencia deseada (e.g. 10.000 Hz) • reconvertir por software el sonido a la frecuencia deseada (e.g. 20.000 Hz) Parece muy complicado, pero no se apure; como veremos, la mayoría de editores de sonido facilitan bastante esta tarea.
2.5. Número de bits, resolución y rango dinámico Hasta aquí, hemos resuelto la primera parte teórica de la digitalización, consistente en obtener una serie de muestras a intervalos regulares. Falta todavía la segunda parte, que consiste en asignar a cada una de estas muestras un valor numérico que pueda ser manejado por un ordenador. Para ello, volveremos momentáneamente al ejemplo del vídeo digital, que para muchos lectores resultará más familiar. La resolución de color de una imagen (y de las tarjetas de vídeo) se mide en bits. Así, una imagen de 8 bits, podrá incluir 256 (28) colores diferentes, mientras que una de 24 bits podrá representar más de 16 millones (224) de colores. Con el sonido sucede algo parecido: cuantos más bits apliquemos, más niveles o escalones tendrá el
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
sonido digitalizado y más parecido será en consecuencia al sonido analógico original (que al ser continuo, poseía un número infinito de niveles). El rango dinámico en decibelios viene dado aproximadamente por la fórmula: rango dinámico en dB = 10 x log10 (amplitud máxima2/amplitud mínima2) Si en un sistema digital consideramos la amplitud máxima como 2bits y la amplitud mínima como 1, tendremos que un sistema de conversión de 8 bits posee un rango dinámico de aproximadamente 48 dB, mientras que en uno de 16 bits, el rango dinámico es de 96 dB. Dado que el umbral de dolor no se sitúa hasta alrededor de los 130 dB, sería deseable que un sistema de alta fidelidad pudiese alcanzar este rango dinámico. Para ello serían necesarios unos 22 bits de resolución. Todos sabemos que no es éste el estándar que se ha adoptado, que ha quedado establecido en 16 bits. Por ello, todo sistema digital convencional posee un rango dinámico máximo de 96 dB (valor teórico que en la práctica se ve disminuido por factores de circuitería).
2.6. La calidad del sonido digital Estos valores de 44.100 Hz y 16 bits adoptados en el disco compacto y otros dispositivos digitales, son los que nos llevan a afirmar que el sonido digital de alta fidelidad no es todo lo bueno que podría ser, ya que ciertos equipos analógicos superan estas cotas. No se puede negar sin embargo que el sonido digital ofrece muchas ventajas, entre las que hay que destacar el menor desgaste y sobretodo, la posibilidad de realizar copias idénticas, es decir, sin ninguna pérdida. El formato digital permite además, tal como iremos viendo, muchas más posibilidades de manipulación y procesado. Por otro lado, cuando no se necesite una calidad de alta fidelidad, se pueden utilizar especificaciones inferiores. En este sentido, una frecuencia de muestreo de 11.025 Hz y una resolución de 8 bits, ofrecen una calidad comparable a la de una línea telefónica convencional, por lo que serán suficientes para algunas aplicaciones de voz, donde lo que se busque sea la comprensión de un mensaje, al margen de preocupaciones estéticas.
2.7. Los conversores A/D y D/A Hasta aquí la teoría. Veamos ahora como funciona un sistema digitalizador de sonido. El sistema se compone de dos conversores: un conversor analógico/digital (a partir de ahora A/D) en la entrada, y un conversor digital/analógico (a partir de ahora D/A) en la salida. Ambos están controlados por un reloj digital que determina la frecuencia de muestreo. Para evitar el aliasing se coloca en la entrada un filtro pasa-bajo (véase apartado 6.4.3), que elimina de la señal analógica todos los componentes con frecuencias superiores a los 22.050 Hz. En el proceso de digitalización, el conversor A/D genera un número binario (de 8 ó 16 bits) a cada pulso del reloj. Este número es almacenado en la memoria o grabado en un disco duro. Para la audición de esta señal digital, es necesaria la reconversión inversa, de forma que
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
los números almacenados son enviados a un conversor D/A que los convierte en voltajes, a la misma frecuencia de reloj. Esta señal analógica es suavizada mediante un nuevo filtro, amplificada y enviada a unos altavoces, que con su vibración, convierten finalmente los voltajes en variaciones de presión de aire. La figura 2.4 esquematiza este proceso.
Figura 2.4. Esquema de un sistema de conversión A/D y D/A
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
2.8. Breve historia del audio digital Los primeros experimentos en audio digital datan de finales de los cincuenta, cuando Max Mathews obtuvo en los laboratorios Bell los primeros sonidos generados por ordenador. En esta época, la escasa potencia de las computadoras no permitía una velocidad suficiente para digitalizar el sonido. Los experimentos consistieron en obtener sonidos sintéticos, generando los números en el ordenador. Tras muchos experimentos que ayudaron a comprender mejor la naturaleza del sonido digital, el primer grabador comercial, el Sony PCM-1, vio la luz en 1977. El conversor era de 13 bits y utilizaba como soporte cintas de vídeo Beta (al año siguiente, el modelo PCM-1600, ya utilizaba conversión de 16 bits). En 1982 apareció el disco compacto, desarrollado conjuntamente por Sony y Philips, con un éxito fulminante. A principios de los ochenta aparecieron también los primeros sintetizadores digitales y los primeros samplers, pero de ello hablaremos profusamente en el capítulo 9, “Síntesis y generación digital de sonido”. Los primeros sistemas domésticos de grabación digital no llegaron hasta finales de los ochenta, inicialmente con la cinta DAT (Digital Audio Tape), y posteriormente con el DCC (Digital Compact Cassette), el MiniDisc, la grabación a disco duro, los CD-R (grabadores de discos compactos) y varios formatos de multipistas digitales (Alesis, Tascam, etc.). Las tarjetas de sonido para ordenadores, dotadas de conversores A/D y D/A, aparecidas en los últimos años, han supuesto la definitiva democratización del sonido digital. A ellas dedicamos el próximo capítulo.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
3. El audio digital en el ordenador personal
3.1 Introducción Hemos visto en el capítulo anterior que para trabajar con sonido digital en un ordenador, son necesarios como mínimo dos conversores (A/D y D/A) que cumplan la función de digitalizar y reconstituir posteriormente la señal analógica. En los IBM PC compatibles esta posibilidad llegó hace unos años de la mano de las primeras tarjetas de sonido de tipo Sound Blaster, inicialmente con una calidad bastante lamentable, pero en otros ordenadores ya era posible desde años atrás. En esta obra nos centraremos básicamente en las posibilidades de los ordenadores PC compatibles actuales, dotados con una tarjeta de sonido de 16 bits, pero antes de entrar en materia repasaremos brevemente la historia del audio digital en los ordenadores.
3.2. Un poco de historia 3.2.1. Los inicios Como se comenta en el capítulo anterior, Max Mathews consiguió sintetizar sonido digital en un ordenador ¡a finales de la década de los cincuenta! Aunque se tardó unos años más en disponer de la velocidad suficiente para muestrear sonido analógico, las posibilidades abiertas por Mathews iniciaron dos largas décadas de investigaciones en el terreno de la síntesis digital, llevadas a cabo inevitablemente en ordenadores mainframes y estaciones de trabajo Unix, en centros universitarios o laboratorios de importantes empresas informáticas. Volveremos a tratar este tema en el capítulo 9, “Síntesis y generación digital de sonido”.
3.2.2. Audio digital para las masas El Commodore Amiga fue el primer ordenador doméstico que incorporó, en 1985, ciertas posibilidades de audio digital. El Amiga disponía de cuatro conversores D/A de 8 bits. Carecía de conversores A/D, por lo que si no se compraba un dispositivo muestreador adicional conectable al puerto paralelo, sólo funcionaba como reproductor. Estos primeros conversores D/A adicionales eran realmente muy económicos1, pero tenían una limitación muy importante: por motivos de velocidad sólo permitían muestrear en memoria RAM, y no directamente al disco duro, por lo que la duración de los sonidos almacenables era muy
1
Entre 5.000 y 15.000 ptas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
limitada. Aun con todas estas limitaciones, que lo hacían inviable para un trabajo profesional, el Amiga supuso para muchos la entrada al sonido digital2. Las primeras aplicaciones serias se dieron a finales de los ochenta en dos plataformas que ya de por si, no eran nada baratas (Apple Macintosh y NeXT), mientras que el coste del hardware adicional superaba fácilmente el medio millón de pesetas. No eran productos “para las masas”, pero los estudios de grabación y algunos músicos profesionales se los pudieron ya permitir. Especialmente en el caso del Mac, el hardware y el software de Digidesign, que ofrecía cuatro canales de 16 bits, se convirtió (y sigue siendo hoy) en un estándar de la grabación y edición de audio digital en disco duro.
3.2.3. ... Y los PCs comenzaron a sonar El bautizo sonoro del PC fue realmente tímido y tardío. En 1988, una compañía canadiense, Ad Lib, fabricó las primeras tarjetas de sonido. Soportaban tan solo cuatro voces con sonidos sintéticos y, aunque muchos juegos comenzaron a tener en cuenta el nuevo hardware, los tipos de sonidos ofrecidos por el pequeño sintetizador3 permitían poco más que generar una cierta musiquilla de fondo, con una calidad sonora bastante infame. Al no disponer de sonido digitalizado, la Ad Lib no favorecía la reproducción de efectos convincentes (golpes, motores, etc.) o voces (o gritos), que el mercado de los juegos estaba esperando. Un año más tarde, Creative Labs, una empresa de Singapur que había trabajado en síntesis de voz, lanzó al mercado la primera Sound Blaster, que añadía a la compatibilidad con la Ad Lib unas pequeñas posibilidades de audio digital. Pese a que estas posibilidades eran limitadas (dos canales de 8 bits) el éxito fue tremendo y propulsó a la compañía al primer puesto del mercado multimedia internacional, lugar que sigue ocupando en la actualidad. Aunque las tarjetas de hoy han cambiado bastante desde las Sound Blaster iniciales, muchas de las mejoras y variaciones están teniendo lugar en el terreno del MIDI, que trataremos en la segunda parte de este libro. En lo referente a audio digital, casi todas las tarjetas actuales ofrecen las mismas prestaciones desde aproximadamente 1994: dos canales de audio a 16 bits y hasta 44.100 Hz de frecuencia de muestreo, con posibilidad de grabación y reproducción a disco duro.
3.3. ¿Por qué la calidad CD no es siempre calidad CD? Existe la creencia popular de que en el sonido digital no hay mejores ni peores, “como todo son ceros y unos, mientras no se confundan unos con otros …”. Sin embargo, nada más lejos de la realidad. Los fabricantes de equipos multimedia se escudan detrás de los 16 bits y 44.100 Hz, para colocar la indiscriminada etiqueta “calidad CD”. Pero, ¿se ha preguntado alguna vez por qué existen actualmente lectores de CD-ROM por 5.000 ptas., mientras que se pueden adquirir lectores de CD Audio (que, por cierto, son siempre, como veremos más adelante, de velocidad simple) por 100.000 ptas.? La respuesta está en los conversores D/A 2
Con estos sonidos almacenados en memoria, el Amiga podía funcionar como un sampler (véase apartado 9.6). 3 En el capítulo 9, “Síntesis y generación digital de sonido”, se trata a fondo el tema de los sintetizadores.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
comentados en el anterior capítulo, y en otros componentes electrónicos analógicos, que son los responsables finales del sonido. Es cierto que el láser no suele confundir los ceros con los unos, pero para que estos enteros binarios lleguen a sonar, tienen que pasar por un complicado proceso de conversión, que se puede realizar con muy diversos criterios de calidad. Un factor a tener en cuenta a la hora de evaluar la calidad de un dispositivo de audio digital, como una tarjeta de sonido, puede ser la relación señal/ruido comentada en el capítulo anterior. Aunque muchas tarjetas no incluyen estas especificaciones, es frecuente encontrarlas en los estudios comparativos realizados en revistas especializadas. Comentamos que el máximo teórico alcanzable con 16 bits de resolución es de 96 dB; una tarjeta con niveles inferiores a 80 dB debería ser descartada por demasiado “ruidosa”. Sin embargo, muchas otras prestaciones importantes a la hora de evaluar actualmente una tarjeta de sonido, vienen dadas por sus capacidades MIDI. Por ello, en el capítulo 11,” El ordenador MIDI y la tarjeta de sonido”, trataremos con detalle la elección de este componente tan fundamental.
3.4. Tamaños en el audio digital Cuando los ordenadores sólo manejaban texto, un megabyte (aproximadamente un millón de caracteres) parecía una cifra monstruosa. Hoy en día, con la llegada del multimedia, los sonidos y especialmente las imágenes digitales, han disparado estas cifras. ¿Cuánto ocupa un segundo de sonido digital estéreo de 16 bits y 44.100 Hz? El cálculo es sencillo: en un sonido de 16 bits, cada muestra ocupa dos bytes (un byte son ocho bits), y si la frecuencia de muestreo es de 44.100 Hz, significa que cada segundo requiere de 44.100 muestras. Si el sonido es estéreo, utiliza dos canales, por lo que estas necesidades se ven duplicadas. 2 bytes/muestra x 44.100 muestras/segundo x 2 (canales) = 176.400 bytes/segundo ó 172,2 Kb/s. Esta es forzosamente la velocidad de transferencia de los lectores de CD Audio, y es la que se designó en su día como velocidad simple. A partir de aquí, se tomó la costumbre de medir la velocidad de los lectores de CD-ROM en múltiplos de este valor (igual que la velocidad de los aviones reactores se mide a veces en múltiplos de la velocidad del sonido). Realizando una multiplicación más, se observa que un minuto de sonido digital estéreo de calidad, ocupa un valor muy cercano a los 10 Mb. Sabemos por experiencia que los CD Audio raramente superan los 70 minutos. Esta duración límite aproximada viene dada por su capacidad, que suele ser de 720 Mb. Cuando el sonido no es estéreo, estos tamaños descienden a la mitad, y lo mismo sucede si la resolución es de 8 en lugar de 16 bits, o la frecuencia de muestreo es de 22.050 Hz. Por ello, limitando la calidad al mínimo, el tamaño necesario para un minuto de sonido mono de 8 bits y 11.025 Hz, se reduce aproximadamente a 646 Kb. (estas condiciones suelen designarse como calidad telefónica).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
3.4.1. ¿Qué calidad seleccionar? No existe una respuesta unívoca a esta pregunta, ya que todo depende del uso que queramos dar a cada sonido. Sí que es posible indicar, a modo de guía, el orden de los pasos a seguir si necesitamos ahorrar memoria o espacio de disco duro. La reducción de calidad menos perceptible es utilizar 22.050 Hz en lugar de 44.100 Hz. Si el efecto estéreo no es importante, puede también limitar el sonido a un único canal, pero manteniendo los 16 bits de resolución. Con esto nos situamos a 42,05 Kb/segundo, y es el mínimo aconsejable para un sonido “musical”. Si lo que desea es grabar mensajes de voz, puede seguir reduciendo la frecuencia, o pasar directamente a los 8 bits. El que se indiquen valores de frecuencia de 44.100, 22.050 ó 11.025, no es casual, ya que éstos son los valores estándar que soportan la mayoría de las tarjetas (aunque algunas soporten también frecuencias intermedias). Dado que hasta hace poco la mayoría de las tarjetas eran de 8 bits, muchos CD-ROMs interactivos utilizan todavía esta resolución, más por criterios de compatibilidad que de economía a ultranza.
3.5. Formatos de sonido digital La información incluida en un fichero de sonido digital no es más que un array de bytes o de enteros de 16 bits, dependiendo de la resolución aplicada. Pero a pesar de la sencillez de su contenido, la lista de formatos existentes es inmensa, pues cada plataforma, y a veces cada programa dispone de una serie de formatos preferidos con ligeras variaciones entre uno y otro. Las diferencias pueden radicar en el tipo aplicado a las muestras (por ejemplo enteros con o sin signo), el tipo de compresión utilizado (si es que lo hubiera) y la forma en que estas muestras se ordenan. Para un sonido estéreo algunos formatos optan por guardar cada canal de forma independiente, mientras que otros eligen guardar muestras alternas de cada una de las pistas. Todos los formatos incluyen una cabecera (en la que se indica la resolución, la frecuencia de muestreo, el número de canales, etc.) cuyo tamaño, contenido y ordenación varía también de un formato a otro. En Windows, el formato estándar es el WAV, aunque algunos fabricantes disponen también de formatos nativos (como es el caso del VOC de Creative Labs, utilizado en las primeras tarjetas Sound Blaster). Esta extensión es una abreviación de la palabra inglesa wave, que significa ola u onda; por ello este tipo de ficheros se conocen también como ficheros de onda. Si sólo trabaja con PC compatibles probablemente nunca tenga que preocuparse de otros formatos, salvo si desee importar ficheros procedentes de otras plataformas. En el entorno Macintosh, uno de los formatos más extendidos es el AIF, algo que deberán tener muy en cuenta los programadores de aplicaciones multimedia multiplataforma. En Internet se utiliza mucho el formato AU, propio de los sistemas Unix. También es posible trabajar con ficheros sin cabecera (suelen venir con las extensiones PCM o RAW). Estos constituyen un caso particular, ya que a la hora de abrir un fichero de estas características, deberemos indicar nosotros la resolución, al frecuencia de muestreo y el número de canales. Si el fichero suena bien, habremos acertado. Si suena mal, habrá que volver a probar con parámetros diferentes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Los programas de edición de audio que se comentan en el capítulo 5, ofrecen normalmente opciones para cargar y salvar formatos diferentes. En cualquier caso conviene tener en cuenta que dos ficheros no comprimidos, y con la misma resolución y frecuencia de muestreo, contendrán la misma información (aunque organizada de diversas formas) y sonarán exactamente igual, independientemente del formato. En la tabla 3.1 se enumeran algunos de estos formatos más frecuentes. Extensión AU AIF IFF PCM RAW WAV
Plataforma - aplicaciones Next/Sun - Internet Macintosh - Multimedia (Director, etc.) Amiga Cualquiera Cualquiera PC
Tabla 3.1. Algunos formatos de ficheros de audio digital
3.6. Compresión de ficheros de audio Dado el tamaño que pueden adquirir los ficheros de audio digital es lógico que se haya buscado formas de compresión que permitan reducir esta cantidad de información. Al igual que ocurre con la imagen, existen técnicas sin perdida y técnicas con perdida. Un factor importante en los sistemas de compresión de audio es que deben ser capaces de comprimir y descomprimir en tiempo real (para comprimir y descomprimir en diferido existen ya multitud de sistemas de uso general como el ZIP o el ARJ, que también pueden ser aplicados a ficheros de audio). Las matemáticas involucradas en cualquier sistema de compresión son demasiado complejas para ser tratadas con rigor en esta obra, por lo que nos limitaremos a esbozar ciertas ideas. Muchos de estos sistemas son independientes de los formatos citados en el apartado anterior, de forma que un mismo formato de fichero puede soportar varios métodos de compresión. • Probablemente le suenen las siglas ADPCM. Corresponden a Adaptative Delta Pulse Code Modulation, una forma de compresión de la que existen múltiples variantes, en la que se reduce el número de bits de la señal (por ejemplo a 4 bits) tratando únicamente las diferencia entre una muestra y la siguiente. Es fácil intuir que esto provoca una inevitable degradación de la señal ya que el sistema es incapaz de representar saltos grandes de amplitud entre dos muestras. • Las compresiones µ-law y A-law, utilizan un sistema de compresión no lineal que permite utilizar una resolución de 8 bits, pero ofreciendo una calidad sonora y un rango dinámico próximos a los obtenidos con 14 bits. Son por lo general más rápidos que los métodos basados en ADPCM. • Otros métodos como los utilizados por los grabadores digitales en formato DCC o MiniDisc, son variantes del sistema ADPCM, que eliminan de la señal original ciertos componentes que teóricamente no son audibles por quedar enmascarados (es como si en Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
una imagen 3D, eliminásemos toda la información de los objetos tapados por planos más próximos al observador). Algunos de estos sistemas se ven favorecidos por la presencia de hardware especializado como pueda ser la inclusión de un DSP (procesador digital de señal) en la tarjeta de sonido, mientras que otros funcionan perfectamente por software. Si abre el icono de multimedia en el panel de control de Windows 95, y selecciona la forma de visualización Avanzado, podrá ver en el apartado de Codecs 4 de compresión de audio, todos los compresores instalados en su sistema, tal como se observa en figura 3.1.
Figura 3.1. Comprobación de los Codecs de compresión instalados en el sistema La compresión puede plantear problemas de compatibilidad entre diferentes ordenadores, por lo que sólo debería utilizarse en aquellos casos en los que el ahorro de espacio sea un imperativo. En la medida de lo posible, tampoco debería comprimir un fichero hasta que esté 4
El término codec proviene de la contracción de las dos palabras codificador y descodificador.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
seguro de que no va a manipularlo más, pues aunque la pérdida pueda ser poco perceptible, siempre es preferible trabajar sobre la señal original.
3.7. Obtención de sonidos A grandes trazos, existen dos formas de obtener un fichero de sonido digital: sintetizándolo desde el propio ordenador o digitalizando el sonido de una fuente externa. El primer método fue también el que, por menores requerimientos de potencia (la máquina no necesita adquirir la información en tiempo real) se implementó primero, hace ya cerca de cuarenta años. De él hablaremos en el capítulo 9,”Síntesis y generación digital de sonido”. De momento, en el próximo capítulo “Audio digital en Windows 95”, aprenderemos a configurar correctamente el sistema, y a realizar grabaciones digitales de diferentes fuentes externas, a partir de las posibilidades que nos brinda Windows 95.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
4. Audio digital en Windows 95
4.1. Introducción Tenemos ya unos conocimientos básicos sobre la naturaleza del sonido digital y sus propiedades fundamentales. En este capítulo veremos las posibilidades que ofrece Windows 95 en cuanto a obtención y almacenamiento de audio digital. Dejamos para el próximo capítulo las posibilidades de edición y manipulación de sonido, que aportan los paquetes de software especializados. Si todavía tuviera instalado Windows 3.1 podrá realizar prácticamente lo mismo, aunque el acceso y el aspecto de estos programas variarán. Tenga en cuenta sin embargo, que la mayoría de los nuevos programas y posibilidades, especialmente los relacionados con el sonido y el multimedia en general, están apareciendo únicamente en versiones de 32 bits, por lo que mantener un sistema de 16 bits supone un lastre cada vez más evidente. Asumimos que tiene correctamente instalada una tarjeta de sonido. Las tarjetas actuales combinan el sonido producido por un sintetizador MIDI interno, con dos pistas de audio digital. Dado que las diferentes prestaciones de estos dispositivos se ponen más en evidencia en el terreno del MIDI que en el del audio digital, esperaremos a la segunda parte de esta obra para realizar un estudio pormenorizado (véase capítulos 11,”El ordenador MIDI y la tarjeta de sonido” y 12,”Estudio comparativo de tarjetas de sonido”). De momento, bastará con una sencilla descripción de las diferentes partes que la integran.
4.2. Estructura de una tarjeta de sonido genérica En lo que respecta a las posibilidades de audio, la mayoría de tarjetas actuales ofrecen más o menos las mismas características: 16 bits de resolución, frecuencia de muestreo configurable hasta 44,1 Khz., dos canales y posibilidad de grabación y reproducción en disco duro. Como comentábamos en el apartado 3.3, no todas garantizan la misma calidad sonora, pero ésta es una cuestión más compleja que queda también relegada a los capítulos 11 y 12 ya mencionados.
4.2.1. Entradas y salidas de audio El número de entradas y salidas de audio puede variar ligeramente de una tarjeta a otra, pero muchos modelos incorporan, tal como se muestra en la figura 4.1, dos entradas y dos salidas estéreo, todas ellas de tipo minijack como los que se utilizan en los auriculares pequeños. Disponen además de un conector al que se puede acoplar un joystick, pero que permite también, con los cables adecuados, recibir y enviar mensajes MIDI, y de un conector interno situado en la placa, destinado a recibir el audio procedente del CD-ROM.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 4.1. Entradas y salidas de audio de una tarjeta de sonido • La entrada de línea, permite recibir señales de audio procedentes de un amplificador, pletina de casetes, CD o sintetizador externos, etc. • El micrófono utiliza una entrada específica ya que los niveles de señal son diferentes (algunas tarjetas disponen de una única entrada micrófono/línea, conmutable por software). • La salida de línea se conecta a una entrada de amplificador o cadena hi-fi (puede utilizar indistintamente cualquier entrada del amplificador, salvo la de PHONO). Utilice esta salida si desea realizar una grabación. • A la salida de altavoz puede conectar unos auriculares o unos altavoces multimedia. Al incluir un pequeño amplificador, esta suele ser bastante más ruidosa que la de línea. • La entrada interna se utiliza para conectar la salida de audio del CD-ROM, aunque en principio es posible conectar cualquier salida de línea estándar. La conexión se realiza con un cable especial que suele estar incluido con la compra del CD-ROM. Consulte los manuales de su CD-ROM y de su tarjeta. • Por el conector de joystick no circula ninguna señal de audio, sino mensajes MIDI. Para aprovechar esta prestación fundamental se necesita un cable especial que en muchos casos debe adquirirse separadamente (véase capítulos 11 y 12). En el apartado 18.7 trataremos los dispositivos externos presentes en un estudio de audio digital (altavoces, mezclador, multipistas, grabadores, etc.). De momento un consejo: en la medida de lo posible, rehuya los altavoces multimedia autoamplificados adquiribles en las tiendas de informática. Si dispone de un equipo hi-fi a una distancia razonable del ordenador, utilice una de sus entradas (cualquiera menos de la PHONO). Si se ve obligado a utilizar altavoces multimedia, escuche de vez en cuando los fragmentos más críticos con unos auriculares de calidad (a partir de las 5.000 ptas.), y piense que unos altavoces decentes para el trabajo de sonido no se consiguen por debajo de las 20.000 ptas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
4.2.2. El mezclador interno Para controlar estos diferentes canales, muchas tarjetas (todas las compatibles MPC21) incluyen un mezclador por software que permite activar, desactivar y mezclar las diferentes entradas y salidas para grabación y reproducción. En la figura 4.2 se esquematiza el diagrama de bloques de este mezclador, cuyo uso se detalla en el apartado 4.7. De momento, conviene tener presente que ambas salidas (línea y altavoz) pueden combinar como mínimo tres fuentes internas estéreo: los dos canales de audio, el sonido del sintetizador MIDI interno y la salida de los CD Audio (suponiendo que esté conectada a la entrada interna de la tarjeta) reproducidos desde la unidad de CD-ROM.
Figura 4.2. Diagrama de bloques simplificado de una tarjeta de sonido
4.3. El CD-ROM Hemos mencionado en repetidas ocasiones la unidad de CD-ROM sin indicar nada al respecto. ¿Cuál es el cometido de este dispositivo en un sistema informático de producción musical? ¿Qué cualidades específicas debe satisfacer? Al margen de sus funciones típicas como unidad de almacenamiento masivo, que se aprovechan en interactivos multimedia o para la distribución e instalación de software, y que hacen del CD-ROM un elemento imprescindible en cualquier configuración, una unidad de CD-ROM puede también leer discos compactos de audio. Esta prestación simplifica enormemente la extracción de material sonoro incluido en discos compactos y su conversión en ficheros de audio digital de tipo WAV. Dado que la reproducción de los CD Audio se realiza siempre a velocidad simple, el CD-ROM “musical” no requiere ninguna cualidad especial. 1
En los apartados 11.6.2 y 11.7 se explican con detalle las especificaciones MPC1, MPC2 y MPC3.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
En realidad, sí que existe una prestación que sería muy recomendable, pero que lamentablemente los fabricantes de CD-ROM no suelen documentar: algunos lectores permiten la extracción digital directa de la información incluida en un CD Audio. En este caso la obtención de ficheros WAV se puede realizar sin ninguna conversión, con lo que obtendremos copias digitales idénticas. En el apartado 4.10 trataremos este tema en detalle.
4.4. Componentes multimedia en Windows 95 En el momento de la instalación Windows 95 pregunta al usuario muchas opciones para una configuración personalizada. Aunque los elementos que utilizaremos se incluyen en la instalación por defecto, si no dispusiera del mezclador (o control de volumen), el reproductor de CD, el reproductor multimedia o la grabadora de sonidos, puede reinstalar cualquiera de ellos. Aunque no los utilizaremos directamente también es conveniente que tenga instaladas la compresión de audio y de vídeo. El proceso a seguir es el siguiente: 1. Seleccione el icono Agregar o quitar programas en el panel de control. 2. Seleccione la opción Instalación de Windows. 3. Seleccione el componente Multimedia y haga clic en detalles. Aparecerá la ventana que se muestra en la figura 4.3. En ella puede activar o desactivar diversos componentes. 4. Compruebe que, como mínimo, tiene seleccionados el control de volumen, el reproductor de CD, el reproductor multimedia y la grabadora de sonidos. Puede también seleccionar los compresores de audio y de vídeo, y si lo desea alguna combinación de sonidos. 5. Inserte los disquetes o el CD-ROM de instalación según le solicite el sistema y espere a que la reinstalación termine.
Figura 4.3. Instalación de componentes multimedia en Windows 95 Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
4.5. Información sobre el hardware en el icono de sistema del panel de control En Windows 95 toda la información sobre los componentes hardware instalados es accesible desde el panel de control y las tarjetas de sonido no son una excepción. Para comprobar su correcta instalación puede abrir el icono de Sistema y seleccionar la opción Controladores de sonido, de vídeo y de juegos. Haciendo clic sobre cualquiera de los componentes que aparecen, podrá verificar, como se aprecia en la figura 4.4, que no exista ningún conflicto de IRQs, canales DMA o direcciones de memoria. Si la previa instalación del hardware ha sido correcta todo debería aparecer en orden, sin ningún mensaje de alarma. Si apareciera algún mensaje de error, consulte nuevamente el manual de instalación de los dispositivos. En cualquier caso, la información contenida en este apartado puede ser de gran utilidad a la hora de resolver algún conflicto de hardware, pero no aporta ningún dato sobre las prestaciones de los dispositivos instalados. Para ello habrá que seleccionar el icono Multimedia dentro del mismo panel de control.
Figura 4.4. La ventana de sistema permite detectar posibles conflictos de hardware Conviene que sepa por último, tal como comentaremos en el capítulo 12,”Estudio comparativo de tarjetas de sonido”, que es perfectamente posible disponer de varias tarjetas de sonido en un mismo ordenador, quedando este número limitado por las ranuras o slots disponibles en la placa base, así como por las IRQs asignables.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
4.6. Información multimedia en el panel de control Haciendo clic sobre el icono Multimedia se abre una ventana similar a la de la figura 4.5, que contiene cinco solapas (Audio, Vídeo, MIDI, CD de música y Avanzado). Dejando aparte el vídeo y el MIDI (que trataremos en la segunda parte de la obra), comentaremos brevemente la información contenida en las tres restantes solapas, que es realmente muy sencilla.
Figura 4.5. Propiedades de Audio
4.6.1. Audio Esta solapa muestra dos apartados de aspecto similar que corresponden a las opciones de reproducción y grabación de audio digital. Cada uno de ellos incluye un nivel de volumen y una lista desplegable con los dispositivos de estas características incluidos en nuestro sistema. Si tan sólo disponemos de una tarjeta de sonido ambas listas tendrán un elemento único; si dispusiéramos de varios, el dispositivo elegido en cada uno de los dos apartados sería el utilizado por defecto, aunque, como veremos, la mayoría de programas especializados permitirán modificar esta elección.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Supongamos que tenemos dos tarjetas de sonido A y B. Si seleccionamos A para grabación y B para reproducción, al utilizar un programa de grabación que no permita la elección del dispositivo, sólo se grabará el sonido procedente de la entrada de la tarjeta A. Asimismo, cuando reproduzcamos lo grabado, el programa utilizará la salida de la tarjeta B. Los niveles de reproducción y grabación se corresponden con los programa mezclador que veremos más adelante, de forma que todo cambio de nivel en cualquiera de las dos aplicaciones, se actualizará en el otro. Dado que el mezclador es más flexible, normalmente preferirá controlar los volúmenes desde este último. La calidad de grabación aparece como una lista desplegable con las tres opciones predeterminadas que se muestran en la tabla 4.1, aunque estas opciones pueden ser configuradas por el usuario e incluso salvadas con un nuevo nombre. Calidad teléfono radio CD
bits 8 8 16
frecuencia 11.025 22.050 44.100
canales Mono Mono Estéreo
compresión NO NO NO
Tabla 4.1. Opciones predeterminadas de grabación Además de seleccionar cualquiera de las tres frecuencias de muestreo y las dos resoluciones estándares, en la casilla formato, podremos elegir entre varios sistemas de compresión dependiendo de los que haya instalado Windows. El formato PCM no utiliza compresión. La mayoría de programas de grabación y edición de audio también permiten seleccionar directamente todas estas opciones de calidad.
4.6.2. CD de música Si dispone de un CD-ROM, el volumen de los CD Audio puede ser controlado desde esta ventana, aunque, al igual que en el caso anterior, este nivel también es controlable desde el mezclador. Este volumen afectará al sonido del CD por las salidas de la tarjeta de sonido, no al de la salida de auriculares que muchos CD-ROMs incluyen en su panel frontal.
4.6.3. Modo de visualización avanzado Activando esta ventana, aparece la lista completa de los dispositivos multimedia instalados, tanto de hardware como de software, y agrupados en varias familias. Esta es la única forma de obtener información sobre componentes como el mezclador, la entrada de línea de la tarjeta, o los compresores de audio (y de vídeo) instalados en el sistema. En lo referente a los dispositivos de audio y de MIDI la información no difiere demasiado de la observada en las ventanas anteriores. En la figura 4.6 se pueden apreciar varios componentes en los dispositivos de audio, los mezcladores y las entradas de línea, lo que significa que el ordenador incorpora más de una tarjeta de sonido.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 4.6. Modo de visualización avanzado
4.7. El mezclador Windows 95 incorpora un mezclador de audio por software, denominado Control de volumen, que no estaba incluido en versiones anteriores, pero que suele venir duplicado con el software de la tarjeta de sonido. Aunque ambos pueden presentar estéticas ligeramente diferentes tienen exactamente la misma funcionalidad, ya que el propio de Windows se adapta automáticamente para emular al de la tarjeta. Cuando un sistema incluye dos o más tarjetas de sonido y por consiguiente más de un mezclador, el mezclador de Windows se configura para emular a uno de ellos. Esto significa que toda modificación en uno de los dos mezcladores (el de Windows o el asociado) se visualiza inmediatamente en el otro.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Estos mezcladores suelen presentar dos ventanas alternativas, la de reproducción y la de grabación. Para seleccionar una de ellas elija Propiedades en el menú de Opciones: se abrirá una caja de diálogo en la que podrá seleccionar el dispositivo asociado, el modo (grabación o reproducción) y los canales visibles (MIDI, Audio, CD-ROM, etc.). En la figura 4.7 se muestra el mezclador en modo reproducción con la caja de propiedades abierta.
Figura 4.7. Mezclador en modo reproducción con ventana de configuración de propiedades abierta • • • • • • • • • • • • •
A Selección del dispositivo mezclador (válido si se dispone de más de una tarjeta) B Modo reproducción/grabación C Selección de canales visibles en la ventana del mezclador D Mezcla general E Canal de audio (ficheros .WAV) F Canal del sintetizador MIDI interno G Canal del CD-ROM (CD Audio) H Canal de entrada de línea I Canal del micrófono J Balance K Volumen L Canal activado/desactivado M Dispositivo mezclador asociado
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Si en el panel de propiedades elegimos visualizar menos canales (C), éstos no se desactivan, simplemente no se visualizan. • Cada canal incorpora un control de balance (J), uno de volumen (K) y una casilla de activación/desactivación (L). • Para desactivar un canal (anular totalmente su volumen) se debe marcar la casilla L. • Cuando no utilice un canal, es mejor tenerlo desactivado, pues de esta forma limita las interferencias y las posibles fuentes de ruido. • Existe además un control de volumen general que afecta a todos los restantes (D). El mezclador en modo grabación permite controlar las fuentes de sonido que se grabarán en forma de ficheros .WAV, cuando activemos el programa de grabación. Como se aprecia en la figura 4.8, las posibles fuentes son el micrófono, la entrada de línea, el CD Audio y el MIDI.
Figura 4.8. Mezclador en modo grabación
4.7.1. Trucos y consejos para el uso del mezclador • El canal de grabación MIDI permite grabar el sonido procedente del sintetizador interno. Esto es muy útil cuando necesitemos convertir un fichero MIDI en un fichero WAV, por ejemplo para una aplicación multimedia. • Si tuviésemos varias entradas de grabación activadas, el sonido grabado sería la suma de todas las señales. Es obvio que para obtener la mejor calidad, deberá activar únicamente las fuentes que realmente desee grabar, de lo contrario estará añadiendo ruido innecesario. • Dependiendo de las características del mezclador original de la tarjeta, el Control de volumen puede incluir un botón avanzado para control de tono (graves y agudos) u otras
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
prestaciones. Abra y estudie también el mezclador original y compare sus posibilidades; puede que alguna de ellas no esté emulada en el de Windows. • Si el mezclador de su tarjeta dispone, como es el caso de la Sound Blaster que se muestra en la figura 4.9, de un control de ganancia de entrada y salida, configure siempre estos valores a x1. Aunque el volumen es más intenso en x2 y x4, la grabación y la reproducción son mucho más ruidosas. Si necesita un volumen superior ajuste el mezclador al máximo y suba el nivel de su amplificador externo. • La mejor relación señal/ruido se obtiene siempre con todos los niveles de salida al máximo y controlando el volumen desde el amplificador hi-fi. Téngalo siempre en cuenta, pues la principal desventaja de las tarjetas de sonido frente a equipos más profesionales, es precisamente su alto nivel de ruido.
Figura 4.9. Detalle de los controles de ganancia de entrada y de salida en una Sound Blaster
4.8. Dispositivos reproductores Windows 95 incorpora dos programas reproductores. Las tarjetas de sonido también incluyen programas parecidos, y existe además un montón de software de dominio público que emula estas prestaciones (son aplicaciones relativamente fáciles de programar, como veremos en el capítulo 16,”Programación de sonido con los comandos MCI”). Un consejo: todos hacen lo mismo; quédese con el que más le guste pero no llene inútilmente su disco duro.
4.8.1. El reproductor multimedia Este componente, que difiere muy poco de la versión incluida en Windows 3.1, permite reproducir varios formatos de ficheros multimedia, como ficheros MIDI (.mid), audio digital (.wav), Vídeo for Windows (.avi) o CDs Audio, y también es posible ir ampliando su funcionalidad a otro tipo de ficheros como Quicktime for Windows o secuencias de 3D Studio (.fli).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Dadas sus escasas posibilidades de control, guarda realmente muy pocos secretos. Utilícelo en lugar de un programa especializado, cuando desee reproducir un fichero sin consumir demasiados recursos (para aplicaciones multitarea, por ejemplo). Este reproductor no permite seleccionar el dispositivo de salida utilizado, en caso de que tuviésemos varios. Si dispone de varias tarjetas de sonido, o de una tarjeta de sonido con varios dispositivos virtuales (como es el caso de la AWE32, que incorpora dos sintetizadores MIDI diferentes), el dispositivo elegido será el seleccionado en el icono multimedia del panel de control (véase apartado 4.6.1).
4.8.2. El reproductor de CD Audio Aunque el reproductor de multimedia permite escuchar también los discos compactos de audio colocados en el CD-ROM, este pequeño programa ofrece mayor comodidad a la hora de seleccionar fragmentos. Permite además organizar una pequeña bases de datos con los compactos que le vayamos introduciendo (los “reconoce” en función del número de temas y de las duraciones de cada uno).
4.9. Grabación de sonidos Llegados a este punto, sería conveniente que probara todas las posibilidades de su sistema antes de comenzar a grabar. Estudie las configuraciones en el panel de control. Reproduzca ficheros de tipo .WAV y ficheros MIDI (aunque no los hayamos estudiado todavía, su disco duro seguro que oculta unos cuantos ficheros con la extensión .mid). Introduzca CDs Audio. Modifique opciones y juegue con todos los controles del mezclador. Cuando crea que todo está más o menos en su sitio, habrá llegado por fin la hora de grabar. A diferencia de los programas comentados en los anteriores apartados, las posibilidades de la grabadora de sonidos incluida con Windows 95 son realmente limitadas, por lo que es recomendable que utilice otro programa para esta tarea. El que acompañe la tarjeta de sonido puede convenir, y como alternativa existen un par de excelentes aplicaciones shareware, localizables en Internet, y de las que hablaremos en el siguiente capítulo. De momento, los conceptos que describiremos pueden hacerse extensibles a cualquier programa que vayamos a utilizar.
4.9.1. Consejos para la grabación • Ajuste convenientemente el mezclador: colóquelo en modo grabación, y asegúrese de anular toda fuente de entrada que no vaya a grabar (normalmente deseará grabar una sola fuente a la vez). • Si desea grabar un tema MIDI puede activarlo desde el reproductor de multimedia. • Para un fragmento de un CD Audio será más conveniente utilizar el reproductor de CDs. Muchos programas de grabación pueden comunicarse con el reproductor, activarlo, desactivarlo o seleccionar la posición de inicio.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Ajuste los niveles de entrada del mezclador. Igual que ocurre con una pletina de casetes convencional, es muy importante no grabar con un nivel demasiado bajo (más ruido de fondo) ni demasiado alto (distorsión). Tenga en cuenta que la distorsión digital (ver figura 4.10) produce efectos mucho más molestos que la analógica. Para un ajuste correcto, la mayoría de programas de grabación incluyen unos indicadores de nivel que emulan los LEDs o los vúmetros de los grabadores analógicos (la grabadora de Windows no los incorpora). • Si su tarjeta permite configurar la ganancia de entrada, utilice x1 en la medida de lo posible, tal como se apunta en el apartado 4.7.1. Utilice una ganancia superior sólo cuando la debilidad de la señal de entrada, imposibilite alcanzar los niveles deseables. • Al seleccionar la calidad de grabación (frecuencia de muestreo, bits de resolución, compresión) deberá tener presente el teorema de Nyquist (véase apartados 2.3 y 2.4): dado que no es posible configurar la frecuencia de corte del filtro de entrada de la tarjeta de sonido, es siempre preferible muestrear a 44.100 Hz. Después siempre estaremos a tiempo de rebajar la frecuencia del sonido final. • No utilice compresión. Si desea crear ficheros comprimidos, es preferible hacerlo al final. De lo contrario estaremos limitando las posibilidades de edición. • El último consejo es bastante más difícil de seguir. Los micrófonos multimedia que acompañan a algunas tarjetas suelen ser de muy mala calidad. Pueden utilizarse para grabar mensajes de voz, pero su uso en aplicaciones musicales desvirtúa cualquier grabación. Se puede adquirir un micrófono mínimamente decente a partir de las 5.000 (¡los hay de 500.000 ptas.!), pero el problema no termina aquí. Misteriosamente, ¡ciertas tarjetas no funcionan con otro micrófono que el que incorporan! En este caso es difícil aportar una solución. Si dispone de una mezclador externo, un preamplificador o una pletina de casete con entrada de micro, puede conectar allí el micrófono, y la salida de este dispositivo a la entrada de línea de la tarjeta.
Figura 4.10. La distorsión digital. La primera figura presenta una señal grabada con un nivel correcto. La segunda corresponde a la misma señal, grabada con un nivel excesivo. Se puede apreciar la distorsión, en los picos inferiores recortados.
4.9.3. Grabación en disco duro La grabadora de sonidos de Windows, sólo graba en memoria, mientras que la casi totalidad de programas dedicados a la grabación digital lo hacen a disco duro. Este segundo método permite grabar largos ficheros de sonido, cuyo límite de tamaño vendrá dado únicamente por
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
el espacio disponible en disco. Como contrapartida, exige más potencia al ordenador, al ser el acceso al disco mucho más lento que a la memoria. Para grabar con la máxima calidad (16 bits, estéreo y 44.100 Hz) se necesita aproximadamente un 486 con 8 Mb de memoria y un disco duro de menos de 15 ms de acceso. Si hasta hace muy pocos años esto era pedir bastante, lo cierto es que actualmente la mayoría de sistemas satisfacen sobradamente estas condiciones. Cuando la grabación de audio con máxima calidad se puede llevar a cabo, pero al reproducir el fichero escucha clics o pequeños ruidos molestos, significa que su sistema presenta problemas de velocidad. No utilice programas de compresión de disco duro, pues reducen notablemente la velocidad de transferencia (esta indicación es válida para cualquier aplicación multimedia que requiera de una transferencia de datos importante). Es aconsejable asimismo que el disco no esté fragmentado. Para ello, utilice el defragmentador de Windows con regularidad.
4.10. Extracción digital directa de un CD Audio Cuando grabamos un fragmento de un CD Audio, a pesar de que si el programa de grabación es capaz de controlar nuestro CD-ROM, el proceso será prácticamente automático, la grabación no se produce de forma digital. El sonido digital leído por la unidad de CD-ROM es convertido mediante el conversor D/A del CD-ROM y enviado al conector de audio interno (analógico) de la tarjeta, que lo redirecciona hasta su propio conversor A/D. Resultado: dos conversiones que degradan inevitablemente la calidad del sonido del CD. ¿Es posible extraer directamente la información digital de un CD Audio y evitar así conversiones y pérdidas? A veces si. Depende de la unidad de CD-ROM, ya que no todas lo permiten (en principios deberían ser compatibles con las normas Red Book, pero en la práctica resulta que esta condición no es necesaria ni tampoco suficiente). Dado que existen además diferentes estrategias de programación para solucionar este problema, no todos los programas destinados a este cometido funcionan con los mismos modelos de CD-ROMs. La única solución consiste en buscar por Internet e ir probando hasta encontrar uno que funcione (o hasta que los hayamos probado todos sin éxito…). Una buena dirección para empezar a buscarlos es http://www.cdarchive.com. En la tabla 4.2 se incluyen algunas aplicaciones shareware o de dominio público que permiten extraer información digital de un CD Audio. En todas ellas, el usuario indica el inicio y el final del fragmento a extraer, que es salvado en un fichero de onda de tipo WAV.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Nombre de la aplicación Cdda CDGRAB CDGRAB Cdinfo CD Workshop Cool Edit DAC Dido Disk-to-Disk Readcda Tartaruga
Entorno MS-DOS línea de comandos MS-DOS línea de comandos Windows 16 bits MS-DOS interfaz gráfico Windows 32 bits Windows 32 bits MS-DOS interfaz gráfico Windows 16 bits Windows 16 bits MS-DOS línea de comandos Windows 16 bits
Tabla 4.2. Algunos programas para la extracción digital directa de fragmentos de CD Audio Tenga en cuenta que: • La extracción digital no se realiza en tiempo real (suelen tardar un poco más). • Los programas para Windows no tienen por qué funcionar mejor que los más sencillos para MS-DOS (frecuentemente, es más bien al revés).
4.10.1. Cuidado con los copyrights Las grabaciones musicales comerciales están protegidas. Si la copia es para uso personal exclusivo, nada puede pasar, pero si pretende sacarle un partido comercial, deberá ir con cuidado. Muchos estilos musicales actuales (hip-hop, trip-hop, techno, etc.) hacen un uso extensivo del sampler y muestrean fragmentos de otras músicas. Ante este hecho inevitable, muchas discográficas han puesto precio a las licencias de muestreo. Los “sampleadores” más legales, llegan a acuerdos con las discográficas o incluso comparten derechos con los creadores del material original. Otros, simplemente disimulan el origen, procesando y manipulando el sonido, o buscan “inspiración” en oscuras grabaciones que “nadie” conoce. Una asociación internacional de músicos, la macos (musicians against copyright of samples) propugna la liberalización del muestreo. Sus integrantes muestrean lo que les parece y conceden permiso explícito para que, quien quiera, haga lo mismo con aquellos compactos que exhiben el sello de la asociación. Existen también en el mercado grabaciones libres de copyrights especialmente concebidas para ser muestreadas, que incluyen multitud de sonidos, instrumentos o ritmos, pero suelen ser bastante más caras que un compacto normal. Cada cual hará lo que le parezca, ¡pero que conste que hemos avisado!
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
5. Edición de sonido por ordenador
5.1. Introducción Hemos visto cómo digitalizar un sonido procedente de diversas fuentes analógicas y almacenarlo en la memoria o el disco duro del ordenador, pero el enorme potencial del audio digital por ordenador no comienza a intuirse hasta que abrimos un potente editor gráfico de audio. El paradigma de este tipo de aplicaciones es muy sencillo y varía muy poco de un programa a otro. Básicamente consiste en aplicar procesos matemáticos a un sonido (o a una porción temporal), con la ayuda de un entorno gráfico que permita seleccionar cómodamente los fragmentos a tratar y que muestre los resultados tanto sonora como visualmente. Mediante estos procesos se consigue corregir defectos en los sonidos originales, ensalzarlos, modificarlos ligeramente o generar otros nuevos totalmente irreconocibles. Todas estas posibilidades se fundamentan sobre una disciplina de investigación que combina la ingeniería, la física y las matemáticas, y que cuenta con varias décadas de existencia: el procesado digital de señal.
5.2. Cómo elegir un programa Las tarjetas incorporan siempre en su software un editor gráfico de sonido. Lamentable, en muchos casos estos programas son excesivamente sencillos. Un paquete de software que se salva de la quema es el Sound Impressions que acompaña a muchas tarjetas de fabricantes diversos. En cuanto a otros programas muy extendidos como el Creative Wave Studio (distribuido con las tarjetas Sound Blaster), funcionan como ventajosos sustitutos de la grabadora de sonidos de Windows, pero se quedan muy cortos a la hora de ofrecer posibilidades de edición avanzadas. El problema se resuelve rápidamente, pues existen dos excelentes aplicaciones shareware fácilmente accesibles en Internet, que pueden competir en prestaciones con editores comerciales. Nos referimos a Cool Edit de David Johnston y Gold Wave de Chris S.Craig, ambas con versiones actualizadas de 32 bits. Existen otros programas de dominio público, pero difícilmente pueden competir con estos dos gigantes. En el terreno comercial, son tres los programas que se llevan la palma: Wave for Windows, de Turtle Beach Systems (fabricante de las famosas tarjetas de sonido homónimas), Sound Forge de Sonic Foundry, y el recién llegado WaveLab de Steinberg (fabricante del mítico secuenciador MIDI, Cubase). Wave for Windows fue el primer editor de audio profesional para PC compatibles. Uno de sus puntos fuertes es la librería de efectos preestablecidos que incorpora. Su uso es sin embargo algo más lento y engorroso que el de sus competidores. Sound Forge goza de un diseño más cómodo y eficaz e incorpora casi cualquier efecto imaginable, lo que lo convierte en el más potente de los tres. Por su parte WaveLab promete ser un programa muy completo, pero la versión 1.0 acaba de aparecer y, como es frecuente, no incluye todavía todo lo que uno podría esperar de un programa de su categoría.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
De momento, estos programas operan en diferido; no son capaces de realizar los efectos en tiempo real. Sin embargo, con la inminente llegada de los sustitutos del Pentium que incorporarán DSP en la placa, y la arquitectura abierta de algunos de estos programas (Sound Forge y Wave Lab), posiblemente cambie en breve el panorama.
5.3. Utilización y posibilidades de un editor gráfico de audio digital Simplificando, la forma de trabajar con estos programas es la siguiente: se carga un fichero de sonido digital (normalmente de tipo .wav), o se digitaliza desde el mismo programa, teniendo en cuenta todas las consideraciones del capítulo anterior. Inmediatamente, la onda queda representada gráficamente en una ventana. Con el ratón se selecciona un fragmento (igual que seleccionaría unas cuantas palabras contiguas en un procesador de texto) o el fichero en su totalidad. Mediante opciones de menú o iconos se aplican a este fragmento algunos de los procesos de modificación incluidos en el programa. Uno de los principales raseros con que valorar las prestaciones de estos programas es el número, calidad y versatilidad de los efectos disponibles, pero existen otros factores importantes. Pasemos a enumerar y describir brevemente algunos de ellos, teniendo en cuenta que si no se indica lo contrario, los cinco programas mencionados en el apartado anterior (Cool Edit, Gold Wave, Wave, Sound Forge y Wave Lab) incorporan la opción. • Soporte multiventana. La posibilidad de tener varios ficheros de onda abiertos y visibles, es fundamental para poder combinar fragmentos de diferentes procedencias. Todos los programas citados incorporan sofisticadas formas de gestión de memoria que permiten presentar en pantalla muchos más sonidos de los que podrían caber en la memoria RAM del ordenador. • Deshacer (Undo). Dado que los ficheros de sonido pueden llegar a ocupar decenas o centenares de Mb, el guardar varios niveles de anulación puede en ocasiones ralentizar excesivamente la ejecución, o resultar incluso inviable. En estos programas la opción de deshacer es configurable por el usuario. • Edición independiente de canales. Los ficheros estéreo se muestran siempre en dos ventanas superpuestas. En ocasiones es deseable, tal como se aprecia en la figura 5.1, poder seleccionar un fragmento de un único canal.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.1. Selección de una única pista de un fichero estéreo en Cool Edit • Zoom de visualización. Para trabajar los fragmentos con mayor detalle es conveniente poder modificar la escala de visualización. El zoom se puede aplicar a dos parámetros: el tiempo (eje horizontal) y la amplitud (eje vertical). Todos los programas soportan varios niveles de zoom temporal, pero no todos permiten zoom de amplitud. Esta última posibilidad es especialmente útil cuando se trabaja sobre fragmentos de muy poco nivel (casi silenciosos), ya que de lo contrario estaremos viendo una línea recta donde en realidad hay sonido1 . • Cambio de unidades temporales. Existen normalmente tres unidades alternativas para medir las coordenadas temporales: tiempo (ms), muestras y compases. Esta última es útil cuando estamos editando un fragmento musical con un tempo preciso (que el usuario deberá indicar). • Memoria de puntos clave. En un fichero largo es fácil perderse mientras se navega hacía delante y hacia atrás utilizando el scroll horizontal. Por ello es muy útil poder colocar marcas en algunos puntos importantes (inicio de un sonido, de una palabra, etc.). Sound Forge es el programa más completo en este aspecto, ya que no sólo permite colocar tantas marcas como deseemos, incluso de forma automática, sino que también las guarda en el fichero, para posteriores sesiones. En la figura 5.2 se muestra una ventana de este programa, con una lista de marcas. • Reproducción de listas. Este punto está relacionado con el anterior: una vez colocadas varias marcas, es posible editar una lista de reproducción para alterar el orden de ejecución de los fragmentos, y repetir u omitir algunos de ellos. Esta es una forma rápida y cómoda de realizar modificaciones temporales, sin necesidad de reorganizar cada vez 1 Tenga en cuenta que la máxima resolución vertical de una pantalla completa no supera nunca los 800
pixels, mientras que un sonido de 16 bits puede poseer hasta 65.535 niveles diferentes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
millones de muestras. Sound Forge automatiza además ciertos procesos relacionados con las listas como, por ejemplo, eliminar (borrar) todos los fragmentos de silencio de un fichero y crear una lista de reproducción con los mismos tiempos del sonido original.
Figura 5.2. Marcas de localización y edición de listas en Sound Forge • Importación/exportación de otros formatos de onda. Los programas para Windows trabajan principalmente con el formato .wav, pero en ocasiones es necesario importar y/o exportar formatos diferentes. El número de formatos soportados varía de un programa a otro. • Posibilidad de salvar configuracione s de efectos. Muchos de los efectos aplicables comportan varios parámetros configurables. La posibilidad de salvar en disco cualquier conjunto de parámetros simplifica enormemente el trabajo. • Programación de nuevos efectos. El siguiente paso en la personalización de un programa es la posibilidad de crear nuevos efectos. Esto es bastante más complejo pues no sólo requiere ciertas nociones de programación, sino un profundo conocimiento del procesado digital de señal. Gold Wave dispone de un editor de fórmulas que se muestra en la figura 5.3, con el que es relativamente sencillo crear efectos sorprendentes. La arquitectura abierta de Sound Forge y Wave Lab permite la creación de plug-ins escritos en lenguaje C, aunque ésta es una labor muchísimo más compleja.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.3. Editor de expresiones de Gold Wave • Proceso por lotes. Cuando es necesario repetir acciones sobre un cierto número de ficheros, los usuarios de MS-DOS o Unix encuentran a faltar la posibilidad de ejecutar procesos batch o en lotes. En este aspecto, Cool es el programa mejor preparado ya que permite la escritura de sofisticados scripts o macros. • Capacidad de síntesis. Además de todas las posibilidades de procesado de archivos de sonido ya existentes, estos programas ofrecen algunas opciones para crear sonidos sintéticos, es decir, partiendo de cero. En el apartado 9.7 estudiaremos varios programas exclusivamente dedicados a la síntesis. • Dibujo a mano alzada. Dibujar ondas de sonido (con cierto control sobre los resultados) no es tarea fácil, pero en algunas ocasiones es la forma más sencilla de resolver algún problema. La modificación de la forma de onda mediante el ratón, es por ejemplo un método eficaz para eliminar clics u otros ruidos muy breves. Wave y Gold Wave son los únicos programas que permiten esta operación. Utilícelo con precaución. • Control de CD Audio - Extracción digital directa. Los dos programas shareware ofrecen la posibilidad de controlar el reproductor de CD Audio para facilitar la grabación de fragmentos de discos compactos. La última versión de Cool Edit, permite además la extracción digital directa de este material (véase apartado 4.10). • Envío a samplers (Generic Sample Dump Standard). Esta opción es útil únicamente para los poseedores de un sampler externo (véase apartado 9.6), ya que permite la transmisión de ficheros de audio a través de un cable MIDI utilizando el protocolo Generic Sample Dump Standard. Sound Forge y WaveLab son, de momento, los únicos programas que incorporan esta posibilidad, aunque si no dispone de este dispositivo externo, jamás la encontrará a faltar. • Activación vía MIDI. Mediante esta opción se pueden disparar ficheros de onda (o fragmentos) a partir de mensajes MIDI, enviados, por ejemplo, desde un programa Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
secuenciador, con lo que es posible sincronizar un tema MIDI con fragmentos de audio real (voces, guitarras, etc.). Sound Forge es el único que permite esta operación, aunque los nuevos secuenciadores con audio digital incorporado, que se estudian en el apartado 18.7,”Sistemas multipista integrados en el ordenador”, hacen que este mecanismo deje de ser necesario.
5.4. Clasificación de las herramientas de procesado digital de sonido Las posibilidades de modificación del sonido digital almacenado en un fichero de ordenador son interminables. Para estudiarlas de una forma concisa, pero clara y comprensible, en lugar de seguir los menús de opciones de un determinado programa, intentaremos establecer una taxonomía que nos permita organizar estos efectos de una forma coherente, así como explicar someramente algunos de los principios básicos de procesado de señal involucrados. Una clasificación de los efectos más frecuentes sólo puede ser aproximada, ya que muchos de ellos requieren de una combinación de operaciones que los hace partícipes de varias categorías diferentes. Aun así, los dividiremos inicialmente en tres grandes grupos: los efectos que se aplican al tiempo, los que modifican la amplitud, y los que se aplican a la frecuencia y al timbre.
5.5. Efectos simples en el dominio temporal En la mayoría de programas estos procesos suelen estar en la opción de menú Edit. • Copiar, cortar y pegar, ocultan pocos secretos: se selecciona un fragmento con el ratón y se elimina o se inserta en otro lugar. En el estudio analógico (y en el cine), estas operaciones se han realizado durante décadas, cortando y pegando fragmentos de cinta magnética, Pero a pesar de esa aparente sencillez, en el dominio digital estas operaciones no deben realizarse sin ciertos cuidados. Para evitar clics y ruidos, cuando eliminamos o insertamos un fragmento, no deberíamos dejar una discontinuidad excesiva entre las nuevas muestras contiguas. La forma más sencilla de preservar esta continuidad es, tal como se muestra en la figura 5.4, seleccionar fragmentos con inicio y final nulos. Algunos programas se pueden configurar para que cuando seleccionemos un fragmento, la selección se redondee hasta los ceros más próximos. Una opción complementaria, que no suele estar en otros tipos de programas, es la de Trim (que podríamos traducir como podar), que consiste en eliminar todo excepto la zona seleccionada. .
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.4. Inicio correcto de una selección • Reverse, o darle la vuelta a un sonido, es también un efecto que se viene realizando en cinta magnética desde hace décadas. En la figura 5.5 se muestra un sonido y su inversión temporal.
Figura 5.5. Inversión temporal de un sonido • Eliminar silencios, borra los fragmentos silenciosos. Suele utilizarse para eliminar los fragmentos al inicio y final de una grabación. Dado que si el sonido se ha sometido a una conversión A/D sus silencios no serán nunca totalmente nulos, esta opción permite definir el valor de amplitud por debajo del cual el sonido se considera silencio. Tal como se indicaba en el apartado 5.3, Sound Forge ofrece la posibilidad de eliminar todos los silencios de un fichero y crear una lista de reproducción automática. De esta forma, el fichero resultante podrá tener un tamaño muy inferior pero sonará igual que el original.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Insertar silencio, pregunta siempre la duración del fragmento a añadir, y lo coloca en la posición del cursor. Es frecuente insertar silencio al final de un fichero antes de aplicar un efecto de reverberación o de eco (véase apartado 6.2).
5.6. Efectos simples sobre la amplitud Todos los efectos aquí descritos realizan diversas multiplicaciones a cada muestra de un fragmento. • Modificar ganancia, consiste en multiplicar cada una de las muestras por un valor real. Si el valor está comprendido entre 0 y 1 el nivel sonoro disminuye, mientras que a partir de 1 aumenta. Se puede aplicar para potenciar sonidos que se han grabado con un nivel excesivamente bajo. • Silenciar, consiste simplemente en multiplicar por cero la zona seleccionada. • Puerta de ruido (noise gate), silencia las muestras por debajo de determinado valor umbral, introducido como parámetro. La figura 5.6 muestra el efecto de aplicar una puerta de ruido del 10% (silencia las muestras con una amplitud inferior al 10% del valor máximo posible). Este efecto permite eliminar el ruido de fondo, aunque como veremos más adelante, existen formas más sofisticadas de reducción de ruido, ya que este sistema sólo puede eliminar el ruido en los fragmentos en los que no hay música. También se ha utilizado mucho en los últimos años para procesar pistas de batería2 , con lo que se consiguen ataques y decaimientos más bruscos.
2 A veces este efecto se conoce como “efecto Phil Collins”, que fue quien lo puso de moda.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.6. Un fragmento sonoro, antes y después de aplicar una puerta de ruido del 10%, en Sound Forge • Normalizar es un caso particular de modificación de ganancia, que consiste en obtener la máxima amplitud posible sin que se produzca distorsión. Esto se consigue recorriendo la zona seleccionada y guardando su amplitud máxima. Una vez obtenida ésta, se multiplican todas las muestras del fragmento por el cociente máxima amplitud posible / máxima amplitud del fragmento. Si por ejemplo, la aplicación detectara un máximo de 12.345, todas las muestras de la zona seleccionada se multiplicarían por 2,654273 (32.767 / 12.345)3 . • Aplicar envolventes. Una envolvente es una curva que determina la evolución temporal de la amplitud (véase apartado 9.4.1). Estos programas permiten que el usuario dibuje envolventes con un número variable de puntos, y posteriormente realizan el producto de la envolvente y la señal seleccionada. En la figura 5.7, se muestran las ventanas de definición de envolventes en los programas Cool Edit y Gold Wave, y en la figura 5.8 el efecto obtenido al aplicar la primera de las dos envolventes a un sonido estacionario. • Fade in y fade out son dos envolventes particulares, que normalmente cuentan como opciones de menú propias, por lo mucho que se utilizan. La primera (fundido de entrada), es una envolvente con valor inicial cero y valor final uno, que se aplica al inicio de un fragmento, mientras que la segunda (fundido de salida), se inicia con uno y termina con cero, y se aplica normalmente al final de un fragmento.
3 32.767 es el máximo valor positivo en un sonido de 16 bits.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.7. Definición de envolventes de amplitud en (a) Cool Edit y (b) Gold Wave
Figura 5.8. Fragmento sonoro antes y después de aplicarle la envolvente de la figura 5.7.a • La Modulación de amplitud, consiste en multiplicar el fragmento por una señal periódica, normalmente sinusoidal, lo que en terminología musical se denomina trémolo. Los parámetros son frecuencia y amplitud de la modulación. • Invertir, no debe confundirse con la opción reverse, indicada en el apartado 5.5, ya que con esta operación se realiza una reflexión respecto al eje horizontal. De esta forma los valores positivos pasan a ser negativos y viceversa, con lo se consigue un cambio de fase. Es un efecto muy sutil que se percibe mejor cuando la inversión se aplica a un único canal de un sonido estéreo. A diferencia de los anteriores que son multiplicativos, los dos efectos restantes operan de forma aditiva. • Mezclar, suma dos fragmentos (de un mismo fichero o de ficheros diferentes). Esta operación es normalmente accesible desde los menús como un caso especial de pegar, por lo que debe ir precedida por la acción de copiar uno de los dos fragmentos a mezclar. A continuación, y antes de ejecutar el comando, posicionaremos el cursor en el inicio de la zona destino. Esta operación se utiliza mucho para combinar varios sonidos. • DC Bias Offset. Algunas tarjetas de sonido introducen un error permanente al digitalizar, que ocasiona un desplazamiento del cero. Puede comprobarlo grabando un fragmento de silencio y observando los resultados en un editor que ofrezca la suficiente resolución vertical. Si la línea recta correspondiente al fragmento de silencio grabado no se corresponde exactamente con la línea del cero, la tarjeta presenta un error de desplazamiento (que podrá ser positivo o negativo). Estos programas incorporan un
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
comando que calcula automáticamente el desplazamiento y corrige la señal, restándole este mismo valor.
5.7. Efectos simples aplicables a la frecuencia Existen varias operaciones sencillas que comportan modificaciones frecuenciales, y la comprensión de todas ellas es fundamental para poder trabajar con soltura con el sonido digital.
5.7.1. Modificación de la frecuencia de muestreo Supongamos que tenemos un sonido digitalizado a 44.100 Hz. Si le cambiamos la frecuencia de muestreo a 22.050 sin modificar el sonido en sí, el resultado sonará una octava por debajo. Esta operación equivale a reproducir una cinta o un disco de vinilo a velocidades diferentes de la original. Un LP de 33 r.p.m. reproducido a 45 r.p.m. sube la frecuencia en un 135 %4 . Frecuencias superiores hacen que el sonido resultante sea más agudo, mientras que valores inferiores lo tornan más grave. En el ordenador, este efecto se consigue modificando tan sólo el valor de frecuencia en la cabecera del fichero, sin modificar para nada los datos. Esta operación conlleva además la modificación de la duración del sonido (a una frecuencia doble, el sonido durará la mitad). En los programas esta suele denominarse como Change Playback Rate.
5.7.2. Resample Con este término, que podría traducirse por remuestreo, se designa la operación consistente en modificar la frecuencia de muestreo de un fichero, sin alterar la frecuencia del sonido. Esto se consigue normalmente eliminando o repitiendo algunas muestras. Para pasar por ejemplo, de 44.100 Hz a 22.050, se elimina directamente una muestra de cada dos, mientras que para el realizar el cambio inverso, cada muestra es duplicada. En realidad, para obtener una mayor calidad se realiza una interpolación, de forma que si una muestra vale 1000 y la siguiente 1020, la que se añade tomará el valor 1010 (cuando el cociente de las dos frecuencias no es un valor entero, las matemáticas involucradas se complican un poco más, pero el principio sigue siendo el mismo). Utilizaremos esta opción cuando queramos reducir el tamaño (y la calidad) de un fichero. Cuando la nueva frecuencia sea inferior a la antigua, es conveniente filtrar el sonido antes de remuestrear, para evitar el aliasing (véase apartado 2.4). Algunos programas ya realizan por defecto este filtrado, pero en otros las dos operaciones deben realizarse por separado. Cuando la nueva frecuencia sea superior a la anterior, no será necesario filtrar, pero tenga en cuenta que en este caso, tampoco se obtendrá ninguna mejora en la calidad del sonido, ya que no hay forma de reinventar la información que ya no existe (es como salvar con miles de colores una imagen de 16 colores). Aun así, esta operación puede ser necesaria por razones de compatibilidad entre programas o ficheros de sonido. 4 Si no le cuadran los cálculos es porque los discos a 33 están en realidad a 33 y 1/3, y por consiguiente
45/33,33 = 1,3500001.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
5.7.3. Transposición El término musical transponer se utiliza para subir o bajar una nota o una melodía. En el tratamiento digital de sonido, transponer significa modificar la altura, pero manteniendo la frecuencia de muestreo. El resultado sonoro es similar al de la modificación de la frecuencia de muestreo del apartado 5.7.1, pero el efecto es en realidad una combinación de los dos anteriores. El valor de la transposición se puede indicar como un porcentaje, o bien como un intervalo musical (subir dos semitonos, etc.). Estas operaciones comportan también la variación de la duración del sonido (más breve cuanto más agudo, más largo cuanto más grave).
5.7.4. Pitch Bend Este efecto es una generalización de la transposición, ya que permite transponer el sonido de forma continua, a partir de la definición de una envolvente de frecuencia (cuando esta envolvente sea una línea recta, tendremos la transposición del anterior apartado). Musicalmente, el efecto obtenido se conoce como glissando y es el que se obtiene por ejemplo, al desplazar rápidamente la mano izquierda sobre las cuerdas de un violín o una guitarra.
5.7.5. Recapitulación Algunas de estas operaciones pueden llevarse a cabo mediante algoritmos alternativos que ofrecen una mayor calidad, pero que son también más complicados de explicar y de comprender. Hemos preferido describirlas de la forma más sencilla posible ya que son operaciones fundamentales, que ayudan a entender la naturaleza del sonido digital. En los diversos programas de edición, estas operaciones no siempre se presentan de la misma manera. Gold Wave incluye, tal como se muestra en la figura 5.9.a, exactamente las tres opciones de menú, pero Cool Edit las presenta todas en una única caja de dialogo bastante más críptica. Conviene indicar, por último, que mediante otros tipo de recursos matemáticos es también posible modificar la altura de un sonido sin modificar su duración y, al contrario, modificar la duración preservando la altura. En el próximo capítulo, en el que seguiremos estudiando las posibilidades del proceso digital de señal, daremos más información al respecto.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 5.9. Acceso a las modificaciones frecuenciales en Gold Wave (a) y en Cool Edit (b)
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
6. Conceptos avanzados de procesado digital de audio
6.1. Introducción En el anterior capítulo hemos estudiado algunas de las posibilidades más sencillas en la edición digital de audio. En este capítulo seguiremos tratando el tema, introduciendo nuevos conceptos más avanzados relacionados con la teoría del proceso digital de señales. La mayoría de las ideas barajadas se sustentan sobre complejas ecuaciones matemáticas, que evitaremos conscientemente. Intentaremos, sin embargo, tratar todos los temas y conceptos con rigor y ofreciendo una visión global que los haga fácilmente comprensibles, de forma que lo que sigue sea algo más que una simple enumeración de opciones de menús.
6.2. Efectos que utilizan retardos o delays Muchos efectos se consiguen sumando a la señal original, varias copias retardadas y modificadas de diversas formas. De entre todos ellos, los más típicos son los de eco y reverberación, aunque, como veremos, no son los únicos. Dependiendo del tipo de efecto buscado, los tiempos de estos retardos pueden valer entre las pocas milésimas y los varios segundos.
6.2.1. Naturaleza del eco y la reverberación En una sala, la reverberación se produce de forma natural porque los sonidos que nos llegan a los oídos no proceden de un único punto emisor, sino que recibimos también “copias” reflejadas por las paredes, el techo, el suelo, y otros objetos. Cuando más distantes de nosotros estén estos reflectores, más retardadas y también más atenuadas recibiremos las copias. El tiempo de reverberación es una propiedad de las salas, y se define como el lapso que debe transcurrir para que el sonido inicial se atenúe en 60 dB. En salas grandes, este tiempo puede durar varios segundos. Otro factor que influye en la reverberación es la absorción de los materiales reflectantes. Superficies poco absorbentes, como el cristal, acrecientan el tiempo de reverberación, mientras que otras, como las cortinas o el propio público, hacen que este valor disminuya. Normalmente, la absorción varía también con la frecuencia (los agudos se absorben más que los graves). Todo ello hace que un buen algoritmo digital de reverberación deba incluir muchos parámetros configurables. Cuando estos retardos son suficientemente grandes como para oírse de forma aislada se denominan ecos, y sólo pueden producirse en espacios muy amplios y con pocos obstáculos (frente a una montaña, etc.). Si nos encontramos situados entre dos obstáculos distantes, el sonido sufrirá varias reflexiones antes de extinguirse, por lo que oiremos varios ecos sucesivos de intensidades decrecientes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
6.2.2. Reverberación y eco digitales Dado que un alto porcentaje de la música grabada se escucha en pequeñas salas particulares con tiempos de reverberación muy cortos, la mayoría de grabaciones comerciales incorporan la reverberación y otros efectos que emulan la acústica de grandes salas y las hacen más gratas al oído. Pero los estudios de grabación tampoco pueden ofrecer reverberaciones naturales convincentes, por lo que desde hace décadas se ha investigado mucho en sistemas de reverberación artificiales. En los años 60 y 70 estos efectos se reproducían de forma analógica (utilizando cintas magnetofónicas) o incluso mecánica (mediante la disposición de placas metálicas, micrófonos y altavoces), pero desde hace unos años, los ecos y reverberaciones digitales han desbancado por completo a los antiguos sistemas. Existen unidades dedicadas que producen estos efectos en tiempo real, y de ellas hablaremos en el apartado 10.5. Los programas de edición de audio deben contentarse con hacerlo en diferido, pero las posibilidades de configuración que ofrecen son inmensas. Dado que la absorción de un sonido varía con su frecuencia, este tipo de procesos digitales involucran cambios en todos los niveles (tiempo, amplitud y frecuencia) aunque simplificando, pueden entenderse como una serie de repeticiones retardadas y atenuadas. Todos los programas tratan la reverberación y el eco mediante opciones separadas, aunque ambos procesos pueden combinarse. Cool Edit y Sound Forge, son los más completos a la hora de definir este tipo de efectos. Para comprobarlo, basta con estudiar las figuras 6.1 y 6.2. Cool Edit es además el único programa que permite al usuario definir salas virtuales; basta con indicar sus dimensiones y los materiales que la componen, para que el sistema calcule su acústica y la aplique a cualquier sonido que deseemos.
Figura 6.1. Configuración de la reverberación en Sound Forge (a) y Cool Edit (b)
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 6.2. Configuración del eco en Sound Forge (a) y Cool Edit (b)
6.2.3. Algunos consejos prácticos • Dado que cada uno de estos programas ofrece diferentes parámetros de configuración, no hay mejor forma para familiarizarse con estos efectos, que ir probando y escuchando los resultados. Un buen punto de partida puede consistir en estudiar y modificar los presets que incorporan (catedral, sala de conciertos, etc.). • Cuando desee aplicar ecos o reverberaciones a un fichero de sonido, es conveniente disponer de silencio al final del fichero, ya que de lo contrario, el efecto se podría interrumpir de forma brusca. Si es necesario, convendrá utilizar previamente la opción insertar silencio, descrita en el apartado 5.5. • Cuando utilice retardos grandes (décimas o varios segundos) en fragmentos musicales con un tempo claro, pruebe a aplicar valores relacionados de forma sencilla con el tempo musical. Los resultados serán más interesantes. Si, por ejemplo, un fragmento está a un tempo de 120 (significa que se producen 120 negras por minuto), cada negra durará 0,5 segundos. Pruebe a utilizar entonces retardos de 0, 125 s, 0,25 s, 0,5 s, 1 segundo, etc.
6.2.4. Flanger y phaser Los retardos se utilizan también de forma menos evidente para crear otros tipos de efectos más "electrónicos". En estos casos, los valores suelen ser breves (milésimas o centésimas de segundo). Con los términos flange, flanger o flanging, se conoce el efecto consistente en mezclar la señal original con una copia con un retardo muy breve, pero variable de forma periódica. Los parámetros a configurar son como mínimo el porcentaje de señal retardada, el margen de variación del retardo (entre varias unidades y varias decenas de milisegundos), la frecuencia de variación de este retardo (normalmente entre algunas décimas y varios hertzios), y el porcentaje de realimentación. En la figura 6.3, se muestran dos ventanas de configuración del flanger.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 6.3. Configuración del flanger en Wave y Cool Edit Dependiendo de estos valores, el efecto conseguido puede ser similar a los sonidos típicos de las películas de marcianos de los años cincuenta, o al sonido del pop psicodélico de finales de los sesenta (entonces se aplicaba frecuentemente a la guitarra y a la batería). En aquella época, estos efectos se conseguían de forma analógica, mezclando la señal de dos magnetófonos, y retardando o acelerando ligeramente uno de ellos. Cuando no existe realimentación, el efecto es más discreto y suele denominarse phaser o phasing, y se encuentra con frecuencia en pedales para guitarra.
6.2.5. La realimentación o el feedback La realimentación (feedback en inglés) no es el nombre de ningún efecto propiamente dicho, sino una forma de procesar el sonido que se aplica en muchos de ellos. Normalmente se expresa mediante un porcentaje que indica la cantidad de sonido ya procesado que se vuelve a procesar. Cuando este valor es del 0%, no existe realimentación, mientras que cuando es superior al 100%, la intensidad del sonido resultante aumentará paulatinamente hasta llegar a la saturación.
6.2.6. El chorus Este es otro efecto, normalmente sutil, pero muy utilizado, con el que se intenta simular que un solo instrumento (o una sola voz), suene como varios instrumentos al unísono. Se consigue retardando y desafinando muy ligeramente la señal original. En la actualidad se aplica muchísimo a los cantantes, para dar más presencia a la voz. Muchos sintetizadores y algunas tarjetas de sonido incorporan efectos en tiempo real. En este caso, incluyen, casi invariablemente, reverberación y chorus. Cuando se le aplica realimentación y modulación de amplitud, el chorus deja de ser un efecto discreto.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
6.3. Procesadores de rango dinámico Recordemos que el rango dinámico de un fragmento sonoro viene dado por la diferencia (en dB) entre la intensidad más fuerte y la más débil. Los efectos incluidos en este apartado, operan directamente sobre la amplitud de las muestras, aunque de formas más sofisticadas que los descritos en el apartado 5.6, modificando de diversos modos el rango dinámico de un determinado fragmento. Los más importantes son los compresores, los expansores, los limitadores y las puertas de ruido (comentadas ya en el apartado 5.6). Una buena forma de caracterizar estos procesos, es a través de su función de transferencia, que establece una correspondencia entre las amplitudes de entrada y las amplitudes de salida. En la figura 6.4, se muestran varias funciones de este tipo, junto con los efectos que producen en un fragmento sonoro. La función 6.4.a es una recta con una inclinación de 45o, lo que significa que, en este caso, no se produce ninguna modificación del rango dinámico (a cualquier valor de amplitud de entrada, le corresponde el mismo valor en la salida). Algunos programas de edición de audio permiten que el usuario dibuje manualmente la curva de transferencia, por lo que todos los efectos que se describen a continuación, pueden considerarse como casos particulares de un proceso único. En otros, como por ejemplo Wave, los parámetros se introducen de forma numérica, con lo cual el control en la definición del proceso no puede ser tan preciso.
Figura 6.4. Funciones de transferencia de procesado de rango dinámico. En la segunda columna se muestra el efecto producido sobre un mismo sonido. Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
6.3.1. Los compresores y los limitadores Los compresores se utilizan para reducir el rango dinámico de una señal. Su uso es muy frecuente en la grabación de partes vocales, ya que en muchos casos, la señal emitida por la voz y recogida por un micrófono, presenta mínimos muy débiles que se confundirían con el ruido de fondo. Con una compresión más exagerada se consigue un efecto intimista, ya que se acentúan los sonidos de la respiración y de los movimientos bucales (lengua, saliva, etc.). Este efecto también se utiliza mucho en las guitarras eléctricas, creando el típico sonido de guitarra heavy (fig. 6.4.b). Los limitadores son un caso extremo de compresores, que limitan la amplitud máxima posible a un valor umbral. Suelen utilizarse en grabaciones de conciertos para evitar que se pueda producir saturación. Su función de transferencia presenta pendientes horizontales en los extremos (fig. 6.4.c).
6.3.2. Los expansores Un expansor es el opuesto de un compresor. Acentúa los cambios, disminuyendo los niveles débiles, y aumentando los fuertes. Se utiliza frecuentemente en combinación con puertas de ruido, y para realzar grabaciones antiguas que presentan un rango dinámico estrecho (fig. 6.4.d).
6.3.4. La distorsión Este término tiene connotaciones peyorativas ya que normalmente define la perdida o la degradación inevitables en una señal, ocasionadas por los diferentes dispositivos o procesos (micrófono, grabación, amplificador, altavoces) a los que se ve sometida. Sin embargo, todos los efectos descritos anteriormente son, en realidad, casos particulares de distorsión, que, por su uso frecuente, reciben un nombre propio. Los programas de edición de audio que permiten dibujar la función de transferencia, no imponen ninguna limitación sobre la forma de esta función, por lo que posibilitan cualquier distorsión arbitraria.
6.4. Los filtros 6.4.1. Definición De forma rigurosa, cualquier algoritmo o proceso computacional, que a partir de una entrada (una secuencia de números), genere una salida (otra secuencia de números), puede considerarse como un filtro digital. Todos los procesos que hemos comentado hasta el momento representan, por lo tanto, casos diferentes de filtros digitales, pero en la práctica este término se acostumbra a reservar para aquellos dispositivos que modifican el espectro de una señal. No se asuste si lo que sigue le parece algo complicado. Piense que la teoría de filtros digitales puede ocupar todo un curso en una carrera de ingeniería. Por ello, no
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
trataremos aquí la forma de implementación de estos filtros digitales, ni en las teorías matemáticas sobre los que se apoyan.
6.4.2. Espectro de una señal Comentábamos en el apartado 1.3.3 que la mayoría de sonidos están compuestos por varias frecuencias diferentes. El teorema de Fourier afirma que toda señal periódica compleja puede descomponerse en una suma de señales sinusoidales de frecuencias y amplitudes diferentes. Esta descomposición se denomina espectro de frecuencias, y se representa mediante un gráfico con frecuencias en las abcisas y amplitudes en las ordenadas, en el que se visualizan las respectivas amplitudes de todas las frecuencias que componen un sonido1 . Esta teoría, que data de más de un siglo, se aplica de forma rigurosa a las señales totalmente periódicas, pero los sonidos nunca lo son plenamente, pues siempre varían a lo largo del tiempo. Afortunadamente, desde hace varias décadas, mediante complejos procesos matemáticos que van más allá del alcance de esta obra, el análisis de Fourier se aplica también a señales variables en el tiempo. En este caso, la representación espectral de un sonido no es ya una única distribución de frecuencias bidimensional, sino una superficie tridimensional, compuesta por una sucesión de "rebanadas" temporales, en la cada una muestra el aspecto del espectro en un instante dado. En la figura 6.6, se muestran varios de estos espectros tridimensionales. En ellos, la frecuencia se representa en el eje x, el tiempo en el eje y (aumenta al acercarse hacia el observador), y la amplitud de estas frecuencias en el eje z. Asimismo, en la parte derecha de estas figuras, se muestra el espectro de frecuencias o “rebanada” correspondiente al instante inicial t=0. Algunos programas de edición de audio son capaces de realizar este análisis para un fragmento seleccionado y de mostrar gráficamente el resultado. Estos gráficos permiten estudiar la evolución temporal de los diferentes componentes frecuenciales que integran el sonido.
6.4.3. Tipos de filtros básicos Un filtro se caracteriza por su curva de respuesta de frecuencia, que indica la forma en que las diferentes frecuencias en la entrada se atenúan o amplifican2 . Todos los componentes electrónicos de sonido poseen una curva de respuesta de frecuencia particular, aunque en la mayoría de aparatos (micrófonos, amplificadores, conversores A/D y D/A, altavoces, etc.), lo ideal sería que esta curva fuese plana (una recta horizontal) entre los 20 y los 20.000 Hz, ya que toda desviación acarrea una modificación artificial del timbre o el color del sonido. Dejando al margen estos problemas de diseño, que seguirán llevando de cabeza a los diseñadores de componentes electrónicos, los filtros más usuales pueden clasificarse, de acuerdo con la forma de esta curva de respuesta, en cuatro grandes familias: pasa-bajo, pasaalto, pasa-banda y rechazo de banda.
1 Aunque nos refiramos a señales sonoras, la teoría de Fourier se aplica a cualquier tipo de señal
(imágenes, etc.) 2 De acuerdo con el lenguaje coloquial, un filtro deja pasar determinados componentes, por lo que parece que sólo pueda atenuar. La realidad es que los filtros también pueden amplificar.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• El filtro pasa-bajo, deja pasar las frecuencias por debajo de un determinado valor, denominado frecuencia de corte. En un filtro ideal esta frecuencia debería suponer una discontinuidad en la curva de respuesta, de forma que toda frecuencia por encima de este valor se atenuará totalmente y toda frecuencia por debajo se dejará tal cual. En la práctica, esto no es posible y todos los filtros reales presentan una pendiente en la zona cercana a la frecuencia de corte. Cuanto más inclinada sea esta pendiente de atenuación, más preciso será el filtro. • El filtro pasa-alto, realiza la labor opuesta, ya que únicamente deja pasar las frecuencias superiores a la frecuencia de corte. • El filtro pasa-banda, deja pasar una banda de frecuencias, eliminando el resto. Se define a partir de la frecuencia central o de resonancia y el ancho de banda. • El filtro de rechazo de banda, actúa de forma inversa al de pasa-banda. Al igual que éste, se caracteriza por la frecuencia de resonancia y el ancho de banda. En la figura 6.5, se esquematizan las curvas de respuesta de frecuencia de estos cuatro filtros básicos, y en la figura 6.6 se muestran los efectos de aplicar estos diferentes filtros a un mismo sonido.
Figura 6.5. Curvas de respuesta de frecuencia de los cuatro filtros básicos Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
A. Sonido original
B. Filtrado pasa-bajo a 1.500 Hz
C. Filtrado pasa-alto a 1.500 Hz
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
D. Filtrado pasa-banda a 1.000-2.000 Hz
E. Filtrado rechazo de banda a 1.000-2.000 Hz Figura 6.6. Ejemplos de filtrado con la evolución temporal del espectro de frecuencias, su aspecto en el instante t=0 y el sonido resultante.
6.4.4. Ecualizadores Todos hemos visto alguna vez un ecualizador gráfico. Este aparato consta de varios potenciómetros, cada uno de ellos asociado a una banda de frecuencia, que permiten amplificar o atenuar estos componentes frecuenciales. Cuantas más bandas tenga el ecualizador, más preciso será el control sobre el espectro armónico y más radicalmente se podrá modificar el timbre de los sonidos procesados. Un ecualizador gráfico se construye con un banco de filtros pasa-banda en paralelo. Otro tipo de ecualizadores son los paramétricos, que presentan menos bandas (típicamente dos o tres), pero con frecuencias de corte configurables.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
6.4.5. Implementación de los filtros en los editores de audio Los diferentes programas de edición de audio, ofrecen diversas alternativas a la hora de implementar los filtros digitales. Casi todos incorporan un ecualizador gráfico de varias bandas, como el que se muestra en la figura 6.7, y los cuatro tipos básicos en los que el usuario deberá indicar la frecuencia de corte y la pendiente de atenuación.
Figura 6.7. Ecualizador gráfico en Sound Forge Uno de los más versátiles es Cool Edit que permite además dibujar curvas de respuesta de frecuencia arbitrarias, como la de la figura 6.8, e incluso interpolar entre dos curvas diferentes produciendo filtros variables en el tiempo, con lo cual se pueden conseguir interesantes efectos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 6.8. Curvas de respuesta de frecuencia en Cool Edit
6.4.6. Aplicaciones del filtrado digital Las posibilidades del filtrado digital son muchas; describiremos a continuación algunas de las más representativas. • Filtrado pasa-bajo al reducir la frecuencia de muestreo. Comentábamos en el apartado 2.4, que la reducción de la frecuencia de muestreo provoca el fenómeno del aliasing, por el cual aparecen frecuencias fantasmas que no se encontraban en el sonido original. Para evitar el aliasing, antes de convertir un fichero a una frecuencia de muestreo inferior, deberá aplicar un filtro pasa-bajo con frecuencia de corte igual a la mitad de la nueva frecuencia de muestreo. Si desea pasar un fichero grabado a 44.100 Hz a 22.050 Hz, deberá, por lo tanto, filtrar el sonido, eliminando sus componentes frecuenciales por encima de 11.025 Hz. Programas como Sound Forge simplifican este proceso, ya que ofrecen la opción de filtrar automáticamente al pasar a una frecuencia menor. • Simulación de dispositivos analógicos. Un filtrado selectivo puede emular las características sonoras de dispositivos de baja calidad, como teléfonos, radios antiguas, megáfonos, etc. Estos dispositivos se caracterizan por tener curvas de frecuencia bastante estrechas. En este caso, la herramienta más sencilla suele ser el ecualizador gráfico. Si el programa dispone de presets de ecualización bastará con seleccionar el oportuno. Si no encuentra el preset que desea, una vez haya configurado convenientemente el ecualizador (por el método de tanteo y error), no olvide salvar el preset para un posible uso futuro. • El realzado sonoro, es especialmente eficaz y aconsejable con grabaciones de voz. Piense que muchas de las voces aterciopeladas y seductoras de los cantantes actuales son fruto directo del laboratorio. Pruebe a potenciar diferentes bandas de frecuencia en
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
grabaciones de su propia voz (la voz humana posee componentes entre los 100 Hz y los 5.000 Hz aproximadamente). • Utilice el análisis espectral. Para no trabajar a ciegas, el análisis espectral (véase fig.6.6) es una herramienta muy útil que nos puede dar una idea de las cualidades y carencias de cualquier sonido. En ocasiones, se infiltran en las grabaciones molestos ruidos con una frecuencia fija, causados por interferencias eléctricas. El análisis espectral nos permitirá detectar estas frecuencias fastidiosas, para proceder a su filtrado posterior. • El filtrado creativo es una ciencia y un arte, que permite alterar radicalmente la naturaleza de cualquier sonido. Intente crear sonidos “musicales” a partir de modestos sonidos cotidianos.
6.5. Compresión y expansión temporal En el apartado 5.7 estudiamos diversas formas de cambiar la frecuencia y la duración de un sonido. Existe una posibilidad adicional, realizable únicamente de forma digital y que tan sólo los editores más potentes contemplan, que permite modificar la frecuencia sin alterar la duración o viceversa. Ambas facetas utilizan un mismo proceso denominado por extensión time-stretching (compresión temporal). Las matemáticas involucradas son enormemente complejas, por lo que el cálculo de estos efectos suele ser un proceso lento (decenas o incluso centenares de veces la duración del sonido a procesar). Veamos algunas posibles aplicaciones3 . • Corregir un fragmento instrumental o vocal ligeramente desafinado. Las técnicas descritas en 5.7, permitirían corregir esta desafinación, pero a costa de modificar también la duración del fragmento, lo cual puede no ser deseable si el fragmento está sincronizado con otros sonidos. • El caso contrario, es decir corregir incorrecciones rítmicas, preservando la afinación. • Transponer varias veces un fragmento con intervalos diferentes y sumarlos todos al original, para crear coros o acordes. • Este proceso puede funcionar también como un "microscopio sonoro"; alargando en varios factores sonidos muy cortos, descubrirá insospechadas nuevas sonoridades.
6.6. Técnicas futuras El proceso digital de señal de audio es una disciplina joven y de gran vitalidad, en la que cada día surgen nuevas técnicas y posibilidades. Bajo el término síntesis cruzada se incluyen varias técnicas diferentes basadas normalmente en el análisis de Fourier (comentado en el apartado 6.4.2), que permiten obtener sonidos híbridos. La idea que subyace en todas ellas, consiste en analizar las evoluciones de diferentes parámetros de un sonido y aplicarlas a otro. Estas posibilidades, todavía muy poco explotadas 3 Conviene tener en cuenta que cuando la modificación (tanto a nivel temporal como de altura) es grande (a
partir de un factor 1,5 ó 2 aproximadamente) el timbre del sonido se altera excesivamente y deja de parecer natural.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
a nivel de software comercial, son por ejemplo muy eficaces cuando uno de los dos sonidos involucrados corresponde a un fragmento vocal, ya que permiten conseguir instrumentos "parlantes". Uno de las técnicas más utilizadas para llevar a cabo este efecto, es el vocoder (descodificador de voz) que consiste a grosso modo en filtrar un sonido a través de un ecualizador, cuyos niveles de bandas han sido obtenidos a partir del análisis espectral de otro sonido. Otras formas de obtener efectos de estas características, consiste en aplicar la convolución, una técnica matemática muy utilizada en todo tipo de aplicaciones de tratamiento de señal. Otra importante área de investigación es la del sonido 3D, que se encuentra actualmente muy potenciada gracias a la realidad virtual. Lamentablemente, ninguno de los editores de audio comentados en estos capítulos incorpora todavía estas prestaciones, que sólo se encuentran disponibles en programas especializados (frecuentemente menos cómodos de utilizar), realizados en universidades o centros de investigación. Sin embargo, habida cuenta del auge que está tomando el audio digital en estos últimos años, es probable que no tengamos que esperar demasiado para verlas en los programas comerciales.
6.7. Conclusión Los editores gráficos de audio constituyen por así decirlo, la sala de maquillaje de los ficheros de sonido. Con cualquiera de estos programas es además posible componer un tema integro, pegando y mezclando diversos fragmentos independientes. Sin embargo, su uso es más eficaz, en combinación con el MIDI. Veamos algunas aplicaciones combinadas: • Muchas aplicaciones multimedia, optan por no utilizar el MIDI y reproducir toda la música mediante ficheros en formato wav. En este caso, es frecuente componer la música mediante MIDI, convertirla a audio digital utilizando el mezclador y la grabadora de Windows (véase apartados 4.7 y 4.9), y realizar el retoque final en un editor gráfico de sonido. • Esta conversión a audio digital, es también necesaria siempre que se decida incluir un tema realizado con MIDI en un CD Audio. Al igual que en caso anterior, entre la conversión a audio y el volcado al CD, es muy frecuente utilizar un editor de sonido para pulir los detalles. En el apartado 18.7.4 comentaremos el proceso de creación de un CD Audio, utilizando grabadores de CD-ROM. • Las posibilidades de modificación de sonidos de los programas que hemos estudiado, son especialmente útiles para crear nuevos instrumentos MIDI, cuando se dispone de un sampler o de una tarjeta de sonido con memoria RAM (véase apartados 9.6, 12.3 y 12.4). • El uso conjunto del MIDI y del audio digital, posible con los nuevos programas multipista, permite combinar lo mejor de ambos mundos. En el apartado 18.6 estudiaremos las posibilidades que ofrecen estos nuevos tipos de software. Con este capítulo concluye pues la primera parte dedicada al audio digital, para dar paso al MIDI. En el capítulo 9,”Síntesis y generación digital de sonido”, volveremos con otro aspecto del audio digital, al estudiar las diferentes técnicas que se utilizan para generar sonido sintético.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
7. Introducción al MIDI
7.1. Introducción Mientras que las ideas básicas de audio digital son fácilmente comprensibles para cualquier usuario de ordenadores, en el MIDI se dan cita conceptos relacionados con la música, la informática y las comunicaciones que le otorgan un cierto aire mágico e inaccesible. Un sinfín de artículos poco claros y nada rigurosos, incluso en muchos casos plagados de incorrecciones, han colaborado a fomentar la idea de que el MIDI es un terreno vedado, sólo apto para eruditos de la música por ordenador. Desde estas páginas intentaremos deshacer malentendidos y aportar la información necesaria para que el lector se convenza de que no es necesario ser un gran músico o programador para iniciar sus pinitos compositivos, y que, desde luego, el MIDI tiene mucho que aportarle en este sentido. Indicaremos por último que en este capítulo se esbozan muchos conceptos que serán tratados con mayor profundidad en capítulos posteriores.
7.2. ¿Qué es el MIDI? MIDI es el acrónimo de Musical Instruments Digital Interface (Interfaz digital para instrumentos musicales). No es, como se ha llegado a escribir, una forma de compresión de audio digital. No es ni siquiera un lenguaje musical, ni describe directamente los sonidos musicales. Es en realidad un protocolo digital de comunicaciones, surgido del entendimiento entre fabricantes de equipos musicales electrónicos, que permitió que estos instrumentos se comunicaran entre ellos y que, por extensión, se comunicaran con los ordenadores. La diferencia entre la información de audio y los datos MIDI es comparable a la que existe entre un disco compacto con la novena sinfonía de Beethoven y su partitura, con la diferencia añadida de que el MIDI trata de partituras que han de ser entendidas por máquinas, no por seres humanos. Forzando un poco más la analogía, podríamos considerar que el MIDI es el lenguaje de alto nivel que todos los sintetizadores fabricados a partir de 1983 deben comprender.
7.3. Un poco de historia La música electrónica es, desde luego, bastante anterior al MIDI. Instrumentos como las ondas Martenot o el Theremin se remontan, de hecho, a los años 20. Pero no retrocederemos tanto. A mediados de los años sesenta surgen los primeros sintetizadores comerciales. Eran instrumentos analógicos y (por su alto coste) monofónicos, es decir, capaces de emitir una sola nota a la vez. Por ello, se pensó en formas de conectarlos para
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
permitir el control de diferentes instrumentos desde el teclado de uno de ellos y conseguir, de este modo, más notas simultáneas, así como sonidos más ricos. Las primeras comunicaciones entre estos aparatos fueron también analógicas; en ellas el voltaje de la señal era proporcional a la frecuencia deseada (y, por consiguiente, a la altura de la nota pulsada). Lamentablemente, de esta forma se seguía sin poder disparar más de una nota (pues la suma de dos voltajes produciría una nota más aguda, no dos notas separadas); la solución estaba en un protocolo digital, y en 1981 surgió el primero, bautizado como USI (Universal Synthesizer Interface). Lamentablemente, no fue universal, por lo que durante los dos años siguientes una comisión de fabricantes japoneses y norteamericanos de instrumentos electrónicos se consagró a definir el protocolo standard que iba a permitir la conexión entre estos aparatos, independientemente del fabricante. Así nació el MIDI, en 1983, y fue tal el éxito obtenido y el importante mercado que se generó que, aunque las especificaciones técnicas hayan quedado obsoletas para las posibilidades tecnológicas de hoy, la normativa no ha cambiado en ningún punto1.
7.4. Las posibilidades del MIDI en la música (un avance) Tal como se ideó inicialmente, el MIDI permitía la comunicación entre instrumentos, de forma que, desde un único teclado controlador, se podían disparar sonidos en otras unidades. Conviene resaltar que estos instrumentos no tenían por qué generar el sonido digitalmente (de hecho, en 1983 todavía muy pocos lo hacían); tan sólo era necesario que incluyeran un interfaz digital de comunicación. La gran revolución llegó, sin embargo, con la incorporación de los ordenadores personales. Por su naturaleza, los ordenadores son especialmente indicados para grabar, almacenar, manipular y reproducir cualquier otro tipo de dato digital, lo que incluye a los datos MIDI y, con la ayuda del software oportuno, se pueden convertir en auténticos estudios de grabación y producción musicales. Otras posibles aplicaciones incluyen, como iremos viendo, la ayuda a la composición, el aprendizaje y la educación musical o la impresión de partituras. Y la lista no termina aquí. Los músicos profesionales se percataron de todo esto rápidamente y, a pesar de que los ordenadores personales, que acababan de aparecer, eran una sombra de lo que son hoy en día, el ordenador MIDI no tardó en convertirse en una herramienta imprescindible en muchas áreas de la producción musical y audiovisual. Por ello, si a la potencia de los actuales ordenadores le añadimos el espectacular abaratamiento sufrido por el hardware musical (tarjetas de sonido, teclados, etc.), no nos será difícil imaginar que, actualmente, uno pueda disponer en su casa de prestaciones que Peter Gabriel o Vangelis hubiesen envidiado hace tan sólo una década. El MIDI no puede, lógicamente, suplir los conocimientos y las habilidades desarrolladas por un músico a lo largo de años de estudio y práctica, pero no es menos cierto que ha tenido un peso capital en la evolución de los estilos musicales de esta última década (pop, techno, new age, ambient, etc.) y que ha permitido nuevos enfoques de creación musical en los que las ideas y la imaginación juegan papeles más importantes que la pericia instrumental.
1 Sí que se han ido añadiendo detalles que no se contradicen con la especificación original.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
7.4.1. Teclado y sintetizador Los diferentes tipos de dispositivos MIDI (sintetizadores, etc.) serán tratados con detalle en el capítulo 10, "El hardware MIDI". De momento, es necesario aclarar unos términos utilizados en el resto de la exposición. Aunque un sintetizador frecuentemente se compone de una parte controladora (el teclado) y una parte generadora de sonido, en adelante utilizaremos el término teclado cuando queramos referirnos al dispositivo controlador que genera mensajes MIDI, y el término sintetizador para indicar aquel que genera sonido al recibir mensajes MIDI. Para el profano, estos dos conceptos suelen ir juntos, pero el MIDI favorece precisamente el uso de teclados "que no suenan" y módulos generadores de sonido "sin teclas", con el subsiguiente abaratamiento de costes.
7.5. Las posibilidades del MIDI en el multimedia El espectacular avance en el terreno del multimedia, hace que el MIDI sea también una parte fundamental en la mayoría de aplicaciones que utilizan el sonido, ya sean presentaciones, juegos o aplicaciones interactivas. Existen varias razones para generar sonido mediante MIDI, en lugar de utilizando ficheros de sonido digitalizado (de tipo .WAV, por ejemplo). La principal es el tamaño; mientras que un sonido digitalizado de calidad, ocupa aproximadamente 10 Mb por minuto, un fichero MIDI de la misma duración puede ocupar tan solo 10 Kb2, ya que en lugar de contener el sonido digitalizado, contiene sólo las instrucciones necesarias para que un dispositivo compatible active los sonidos. Estas instrucciones están en forma de mensajes MIDI que indican (entre otras cosas) al sintetizador (o tarjeta de sonido) que sonidos de los que dispone debe utilizar, que notas debe activar, y con que intensidad debe hacerlo. Otra ventaja del MIDI es la facilidad con esta música se puede editar y modificar, cambiando su tempo, la altura de algunas notas, los sonidos utilizados, etc.
7.6. La especificación MIDI 1.0 En este apartado y en el siguiente se describen especificaciones que requieren de inevitables tecnicismos. Si alguna explicación o concepto se le escapa, no se preocupe; es suficiente con que retenga el resumen del apartado 7.8. El protocolo definido en 1983 especifica tanto la conexión física y el interfaz de hardware, como el formato de los datos y el orden y disposición de los mensajes que se pueden transmitir entre dispositivos. El protocolo MIDI es bastante parecido al RS-232, aunque utiliza niveles eléctricos diferentes y ofrece una mayor velocidad de transmisión. Los mensajes se transmiten de forma binaria y 2 El tamaño de un fichero MIDI varía considerablemente -como se verá más adelante- en función de su
complejidad, por lo que la cifra indicada debe ser considerado como un orden de magnitud.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
en serie, es decir, mediante pulsos (bits) sucesivos. La transmisión se produce de forma asíncrona o, lo que es lo mismo, siempre que un dispositivo decida enviar un mensaje (por ejemplo, porque un músico ha apretado una tecla). Esta asincronía obliga a que cada byte de mensaje vaya rodeado de un bit de comienzo y un bit de final. Estas transmisiones se realizan a una velocidad de 31.250 bits por segundo, por lo que la velocidad máxima de transmisión es de 3125 bytes/sec. El interfaz MIDI de un dispositivo es el responsable de recibir y transmitir estos mensajes. Aunque la mayoría de dispositivos MIDI incluyen como mínimo un receptor y un emisor, también es posible que incluyan tan solo uno de los dos. • El puerto emisor, denominado MIDI OUT, se encarga de convertir los datos digitales generados por el dispositivo en series de voltajes eléctricos. • El puerto receptor, denominado MIDI IN, realiza el proceso inverso. • Puede existir un tercer puerto, denominado MIDI THRU, que simplemente reenvía la información llegada al MIDI IN del interfaz. Todos ellos utilizan conectores DIN hembras de cinco pines (de los cuales sólo se utilizan en realidad tres). La figura 7.1 muestra un esquema simplificado de un interfaz MIDI.
Figura 7.1. Esquema simplificado de un interfaz MIDI Los cables MIDI, que utilizan forzosamente conectores DIN machos, conectan el MIDI OUT o el MIDI THRU de un dispositivo con el MIDI IN de otro. Su construcción garantiza la transmisión sin errores en longitudes inferiores a 15 metros. En la figura 7.2 se aprecian las conexiones internas de un cable MIDI.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 7.2. Conexiones de un cable MIDI.
7.7. Conexión en cadena Si no existiera el tercer puerto MIDI THRU, tan solo se podrían conectar dos dispositivos. Dado que los datos emitidos por este tercer puerto son una réplica de los recibidos por el dispositivo en el MIDI IN, su uso permite el encadenamiento de varios dispositivos MIDI, tal como se muestra en la figura 7.3. Aunque en teoría la interconexión vía MIDI THRU es transparente, en la práctica se produce una distorsión que puede acarrear la perdida de mensajes tras más de tres enlaces. Por ello, en sistemas complejos con muchos dispositivos, es aconsejable utilizar un dispositivo hardware adicional que centraliza y redistribuye todos los mensajes, denominado MIDI patch bay, y del que hablaremos en el apartado 10.6.
Figura 7.3. Configuración MIDI compuesta por tres sintetizadores y un ordenador (el sintetizador A es el único que puede funcionar como controlador)
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
7.8. Resumen de conceptos • Un mensaje MIDI indica a un dispositivo una acción a ejecutar (activar una nota, etc.) • Todo dispositivo que cumple la normativa MIDI dispone de un interfaz capaz de recibir y/o enviar mensajes MIDI. • Este interfaz puede tener tres puertos diferentes: MIDI IN, MIDI OUT y MIDI THRU. • Todo instrumento emisor (por ejemplo un teclado) debe disponer forzosamente de un MIDI OUT. • Todo instrumento receptor (un sintetizador o cualquier instrumento capaz de "sonar") debe disponer de un MIDI IN. • El MIDI THRU genera una replica del MIDI IN, que permite encadenar varios dispositivos MIDI. • Un secuenciador es un dispositivo capaz de grabar y reproducir mensajes MIDI. • Un ordenador equipado con el software y el hardware necesarios, puede funcionar como secuenciador. • Aunque la conexión de varios dispositivos MIDI, puede resultar complicada, en la práctica, si nuestro sistema se compone únicamente de un ordenador con una tarjeta de sonido interna y un teclado, la configuración se simplifica notablemente, tal como se aprecia en la figura 7.4.
Figura 7.4. Configuración MIDI mínima3
7.9. Introducción a los mensajes MIDI Hasta ahora hemos tratado de las características de los dispositivos MIDI, sin especificar la información que circula entre ellos. La especificación MIDI determina también con precisión el formato de los datos y el orden y disposición de los mensajes que se pueden transmitir. Existen diferentes tipos de mensajes MIDI y cada uno de ellos tiene un tamaño fijo (normalmente dos o tres bytes4). Todo dispositivo MIDI dispone de al menos un
3 La conexión del ordenador al teclado, sólo deberá existir si el teclado es capaz de emitir sonidos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
microprocesador capaz de interpretar algunos de estos mensajes, aunque no es imprescindible que los entienda todos (cuando un dispositivo recibe un mensaje que no es capaz de interpretar, simplemente lo ignora y pasa al siguiente). Supongamos de momento, que estos mensajes se generan por la acción de un músico sobre un teclado MIDI, y que la sucesión de estos mensajes constituye la partitura o la transcripción de su interpretación (más adelante, cuando estudiemos la integración de los ordenadores, veremos que existen otras formas de generar mensajes no necesariamente ligadas a la acción de un músico sobre un instrumento). Para el profano, una partitura se compone de una serie de notas de duraciones variables, pero, en realidad, una partitura convencional suele contener mucha más información. Puede indicar por ejemplo los instrumentos que ejecutan estas notas, así como la intensidad y los matices expresivos (vibrato, trémolo, etc.) de cada una ellas. Algo parecido sucede con el MIDI. • Existe, como era de esperar, un mensaje que indica una nota. Este mensaje incluye la altura y la intensidad de la nota. La intensidad viene determinada por la fuerza o velocidad con que el músico pulsó la tecla, por lo que se denomina velocity en terminología MIDI. El mensaje recibe el nombre de Note On. No incluye la duración de la nota, por una razón muy obvia: cuando el músico pulsa una tecla, el sintetizador "no sabe cuánto va a durar la nota". Cuando el músico deja de pulsar la tecla, el sintetizador vuelve a enviar el mismo mensaje, pero esta vez con intensidad nula. • Otro mensaje denominado Program Change (cambio de programa), indica que se debe cambiar de instrumento. Contiene un único parámetro, el número del nuevo instrumento deseado. Cuando un sintetizador lo recibe, cambia de sonido; las próximas notas recibidas utilizarán este instrumento hasta que reciba un nuevo mensaje de cambio de programa. Este mensaje puede enviarse pulsando uno de los botones que muchos teclados incluyen para este propósito. • En la mayoría de instrumentos acústicos, la afinación de una nota varía ligeramente a lo largo de su duración. Esto no debe considerarse una imperfección, ya que es uno de los matices que enriquecen el sonido. Sin embargo, en los instrumentos electrónicos, la afinación es, por defecto, estable. Para paliar esta "perfección", los teclados electrónicos disponen de una pequeña rueda giratoria que permite una desafinación controlada. Mientras el músico la gira, el teclado envía sucesivos mensajes denominados Pitch Bend (variación de la altura) cuyo único parámetro indica la cantidad de desafinación aplicable (que es proporcional al ángulo de rotación). • A la hora de definir mensajes adicionales para indicar otros matices expresivos, los desarrolladores de la especificación MIDI comprendieron que no podían prever la evolución y el desarrollo de los futuros instrumentos electrónicos, por lo que dejaron varios mensajes abiertos. El más importante es el mensaje de Control Change (cambio de control). Este mensaje se compone de dos parámetros, siendo el primero el tipo de control o efecto elegido, y el segundo el valor o intensidad de este control. Entre los controles de uso más frecuente podemos citar el volumen (control 7), la posición panorámica (control
4 De forma estricta no deberíamos hablar de bytes, pues al incluir cada uno de ellos un bit de inicio y otro
de final, se componen en realidad de 10 bits y no de 8. En la práctica seguiremos utilizando el término byte para referirnos a esta mínima unidad de información, con la que se construyen los mensajes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
10) o la reverberación (control 91). Existen algunos más, ya definidos, y otros muchos por definir, lo que convierte al mensaje de control en uno de los más versátiles. La lista de mensajes tampoco termina aquí. En el próximo capítulo, "La especificación MIDI a fondo", serán tratados todos de forma sistemática.
7.10. Los canales MIDI El protocolo MIDI permite que los mensajes se envíen a través de dieciséis canales diferentes. Estos canales no corresponden a conexiones físicas separadas, ya que comparten un único cable, sino más bien a direcciones lógicas. Un dispositivo controlador suele enviar por un único canal a la vez, mientras que un dispositivo receptor (un sintetizador) puede ser configurado para recibir en uno o varios canales simultáneos. De momento, podemos pensar en un canal como en un instrumento virtual independiente. Actualmente, muchos sintetizadores y la totalidad de las tarjetas de sonido son capaces de reproducir varios instrumentos diferentes de forma simultánea. Para que esto sea posible, deben ser capaces de recibir en varios canales MIDI ; un sintetizador que pueda generar cuatro instrumentos simultáneos (como por ejemplo una línea de bajo, unos acordes de piano, una sección de cuerdas y una batería) deberá como mínimo poder recibir en cuatro canales MIDI diferentes. Un aparato que satisface estas características se denomina multitímbrico. Estableciendo un símil entre MIDI y televisión, cada cadena emite por un canal diferente, pero el receptor puede sintonizar cualquiera de ellos, ya que todos le llegan por el mismo cable. Un módulo multitímbrico sería en este caso, equivalente a un conjunto de varias pantallas de televisión sintonizadas en diferentes canales.
7.11. Introducción a la secuenciación Esta característica multicanal adquiere sentido pleno cuando se dispone de un ordenador (o un dispositivo hardware especial) que posibilita la grabación o secuenciación de mensajes MIDI en modo multipista. Sólo entonces comienza a aflorar todo el potencial del MIDI. Aunque ello suponga adelantar un poco los acontecimientos, para comprender estas implicaciones estudiaremos una típica sesión de grabación MIDI que podía tener lugar hace unos años, ya que aunque los conceptos siguen siendo los mismos, las posibilidades que se nos ofrece hoy, tanto a nivel de hardware como de software, amplían y diversifican enormemente los enfoques de trabajo. La figura 7.5 ilustra una configuración MIDI típica de finales de los ochenta. El músico dispone de un teclado (para simplificar supondremos que no genera sonido), un pequeño ordenador personal con software secuenciador, dos sintetizadores y una caja de ritmos (capaz de reproducir únicamente sonidos de percusión). Supondremos asimismo que el sintetizador A no tiene posibilidades multitímbricas (no es capaz de sintetizar instrumentos diferentes de forma simultánea), mientras que el sintetizador B sí las tiene.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 7.5. Configuración MIDI integrada por un teclado maestro, ordenador, dos sintetizadores y caja de ritmos. • El músico ha decidido componer un tema que incluirá un piano, una sección de cuerdas, un instrumento solista tipo saxo, un bajo y una batería. El sintetizador A que tan sólo es capaz de generar un instrumento, posee unos muy buenos sonidos de tipo piano, por lo que decide dejar para el sintetizador B las partes de cuerdas, saxo y bajo, mientras que la caja de ritmos se encargará de la batería. • Decide comenzar por secuenciar la batería. Para ello debe configurar el teclado y la caja de ritmos en un mismo canal MIDI. Muchas cajas de ritmo reciben siempre en el canal 10, por lo que configura el teclado para que envíe por el canal 10. • Pone el secuenciador a grabar e interpreta la parte de batería. Una vez terminada, para el secuenciador y lo rebobina. • Configura los restantes canales MIDI de los dos sintetizadores. Decide que el sintetizador A recibirá por el canal 1, mientras que el sintetizador B lo hará por los canales 2, 3 y 4. • Decide secuenciar el bajo en segundo lugar, por lo que configura el teclado para que envíe por el canal 2. Graba al inicio de la secuencia (desde el ordenador o con el propio teclado musical), un mensaje de Program Change para el canal 2, con el número de instrumento correspondiente al bajo. • Vuelve a poner el secuenciador en posición de grabación, y secuencia la parte de bajo (mientras, escucha también la parte de batería). • Para secuenciar el piano, coloca el teclado en el canal 1, inserta al inicio del secuenciador un mensaje de Program Change para el canal 1 con el número de instrumento correspondiente al piano, y toca la parte de piano, mientras escucha también el bajo y la batería. • Repite estas acciones para la sección de cuerda en el canal 3, y posteriormente para el solo de saxo en el canal 4. Con este pequeño ejemplo esperamos haberle ayudado a comprender el potencial del MIDI, pero tan sólo hemos arañado la superficie. En los próximos capítulos estudiaremos cada uno de estos puntos con mucho más detalle. Tenga en cuenta asimismo que las posibilidades de
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
hardware y software actuales, permiten también un acercamiento a la composición bastante más alejado de la interpretación tradicional que el ejemplo que acabamos de estudiar.
7.12. Polifonía y multitímbrica Al principio del capítulo indicamos que los primeros sintetizadores eran monofónicos, es decir capaces de producir una sola nota a la vez. En este mismo capítulo hemos mencionado también los sintetizadores multitímbricos, capaces de producir varios sonidos diferentes simultáneos. No se deje confundir, monofónico y multitímbrico no son antónimos. Es polifónico, un sintetizador capaz de producir varias notas simultáneas. Aunque parece obvio que un dispositivo multitímbrico es también forzosamente polifónico, el contrario no tiene porqué ser cierto, y existen de hecho muchos aparatos polifónicos y monotímbricos (estos aparatos permiten generar acordes pero de un mismo sonido). Capacidad Polifónica Capacidad Multitímbrica
Máximo número de notas simultáneas Máximo número de instrumentos simultáneos
Polifonía y multitímbrica son pues dos propiedades muy importantes a la hora de adquirir un equipo o de conocer las prestaciones del que ya poseemos. Aunque, como ya se ha indicado, los instrumentos de los años sesenta y principios de los setenta eran monofónicos, en los sintetizadores actuales la polifonía suele ser de 16, 24, 32 o a veces más notas. Y estos valores tienden a seguir creciendo conforme las tecnologías avanzan y reducen costes. Aunque en un principio estas cifras le pueden resultar muy sobradas, no siempre es así; baste recordar que un acorde de piano puede “consumir” diez notas, incluso más si se utiliza el pedal. La multitímbrica, por su parte, tardó más en aparecer, ya que sólo adquiere sentido real con la presencia de un secuenciador MIDI. Aún así, los primeros sintetizadores multitímbricos no surgieron hasta alrededor de 1985. Hoy en día, se ha estacionado en dieciséis partes, limitación que viene impuesta por el estándar MIDI, que tan solo permite dieciséis canales5. Un instrumento con una polifonía razonable y una capacidad multitímbrica de dieciséis voces, puede (y de hecho, suele) ser el único necesario en un estudio MIDI modesto. Un estudio semiprofesional dispone siempre de más dispositivos, no sólo para obtener mayor número de notas y de voces, sino también para disponer de diferentes tipos de sonidos. Paradójicamente, los productos que soportan menos de dieciséis partes independientes se encuentran en ambos extremos del mercado. Tenemos por un lado las tarjetas de sonido de gama baja (algunas de las cuales soportan sólo cuatro u ocho voces), pero existen también sintetizadores monofónicos de alta gama que utilizan sofisticados métodos de síntesis, computacionalmente (y también económicamente…) muy costosos, pero con grandes
5 Algunos sintetizadores de alta gama permiten 32 ó 48 partes independientes, y lo consiguen mediante
varios conectores MIDI IN independientes. Para sacarles provecho, es necesario que el interfaz MIDI del ordenador sea también capaz de direccionar varios puertos MIDI diferentes. Este tema se aborda en el apartado 13.6 “Soporte multipuerto”.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
posibilidades sonoras. Muchos estudios profesionales disponen por ejemplo de uno de ellos, dedicado únicamente a las partes de bajo6.
7.13. Los sonidos de un sintetizador Retornemos al pasado. Los primeros sintetizadores analógicos no tenían memorias. Los sonidos se modificaban en tiempo real girando un montón de botones. Cuando se obtenía el sonido deseado, para “inmortalizarlo”, no quedaba más alternativa que ¡apuntar en un papel la posición de cada uno de los botones! La situación cambió con la llegada de los sintetizadores digitales; bastaba con apretar un botón y la configuración del sonido se guardaba en una de las memorias del sintetizador. De hecho, las cosas cambiaron tanto, que lo que se ganó en rapidez de acceso se perdió en flexibilidad, ya que los sintetizadores fueron poco a poco perdiendo controles en su interfaz y se fue dificultando paulatinamente la programación de sus sonidos, hasta que en su mayoría se convirtieron en cajas negras de presets (sonidos preprogramados y no modificables). Cada uno de estos sonidos enlatados lleva asociado un número (entre 0 y 127 o entre 1 y 1287), y es accesible desde el propio sintetizador (marcando el número indicado) o a través de MIDI con mensajes de Program Change, que incluyen siempre el número de sonido (o programa) deseado. Por consiguiente, para activar un sonido de un sintetizador desde el secuenciador, tan solo es necesario conocer la lista de programas que posee el sintetizador y sus números asociados. Conviene recordar que si el sintetizador es multitímbrico podremos enviarle diferentes mensajes de Program Change, cada uno en un canal MIDI diferente. Inicialmente esta lista de programas era propia de cada sintetizador y, si en determinado modelo, el programa 23 activaba una marimba, en otro podía activar un sonido de flauta. Nadie pensó que esto fuera un problema, hasta que la popularización del MIDI fomentó el intercambio de ficheros con temas MIDI. Cuando uno escuchaba un tema que había sido compuesto utilizando otros sintetizadores, los resultados sonoros eran siempre imprevisibles. Para solventar este desbarajuste, se creó en 1990 el General MIDI, un nuevo paso adelante en la estandarización.
7.14. El General MIDI La necesidad de una mayor estandarización empezó a hacerse patente conforme iban aumentando la popularidad y el rango de aplicaciones del MIDI. El General MIDI nace en 1990, como addenda a la especificación MIDI 1.0, tras nuevas reuniones entre los principales fabricantes. Esta especificación establece las características mínimas que ha de satisfacer un sintetizador compatible con el General MIDI: • Capacidad multitímbrica de 16 canales. 6 Como el Novation BassStation. 7 En el próximo capitulo, “Los mensajes MIDI en profundidad”, veremos el porqué de estos valores.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Polifonía mínima de 24 notas. • Lista o mapa estándar de 128 programas (véase tabla 7.1). • Incorporación de una caja de ritmos accesible siempre desde el canal 10, dotada asimismo de un mapa estándar de 59 sonidos de percusión (véase tabla 10.1). • Existen una serie de detalles adicionales que serán tratados en el próximo capítulo. Este estándar es opcional, y los fabricantes no están obligados a seguirlo, aunque sí deben satisfacerlo al 100% si desean colocar sobre su producto una etiqueta “compatible General MIDI”. Pero no todo es maravilloso en el General MIDI. Aunque se especifique los instrumentos disponibles, no se impone ninguna condición sobre su calidad. Así, el número 73 le corresponde a la flauta, ¡pero la diferencia entre la flauta de una tarjeta de sonido de 10.000 ptas. y la de un sintetizador de 200.000 ptas. puede en efecto resultar abismal! Asimismo, observando los nombres definidos en la tabla 7.1. se puede comprobar la vaguedad y ambigüedad descriptivas de algunos instrumentos, especialmente en los sonidos electrónicos (duendes, celestial, etc.). Por otro lado, aunque este estándar agiliza muchas tareas, al músico profesional que utiliza el MIDI para obtener un producto final en forma de audio (disco compacto, etc.) y que por consiguiente, no persigue a priori el intercambio de ficheros, le supone una notable perdida de posibilidades. En efecto, ver reducido el infinito universo sonoro a una triste paleta de 128 instrumentos no favorece demasiado a la música. Por ello, a partir de cierto precio, los instrumentos compatibles suelen ofrecer dos modos de trabajo seleccionables: el modo General MIDI y el nativo, con mayores posibilidades sonoras.
0
Piano de cola
4 8 12
Piano Rhodes Celesta Marimba
16
1 eléctrico 5
Piano brillante
2
cola 3
9 13
Piano eléctrico chorus Glockenspiel Xilófono
Organo Hammond
17
Organo percusivo
18
20 24
Armonio Guitarra española
21 25
Acordeón Guitarra acústica
22 26
Armónica 23 Guitarra eléctrica 27 de jazz
28
Guitarra apagada
Guitarra eléctrica con 30 overdrive
Guitarra eléctrica 31 distorsionada
32
Bajo acústico
Bajo eléctrico (dedos)
Bajo eléctrico (púa) 35
36
Bajo eléctrico golpeado 38 2 Viola 42 Violín pizzicato 46
Bajo sintético1
39
40 44
Bajo eléctrico 37 golpeado 1 Violín 41 Violín trémolo 45
Violonchelo Arpa
43 47
48
Sección de cuerda 1
49
Sección de cuerda 2
50
Sección de cuerda 51 sintética 1
52
Coro Aahs
53
Coro Oohs
54
Voz sintética
55
56
Trompeta
57
Trombón
58
Tuba
59
eléctrica 29
33
con 6
Piano de eléctrico Clavicordio
10 14
34
Caja de música Campanas tubulares Organo de rock
Piano de bar
7
Clavinet
11 15
Vibráfono Salterio
19
Organo de iglesia Bandoneón Guitarra eléctrica limpia Armónicos de guitarra eléctrica Bajo eléctrico sin trastes Bajo sintético2 Contrabajo Timbal de orquesta Sección de cuerda sintética 2 Golpe de orquesta Trompeta con sordina
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
60
Fiscorno
61
Sección de metal
62
Sección de metal 63 sintética 1
64
Saxo soprano
65
Saxo alto
66
Saxo Tenor
67
68 72
Oboe Flautín
69 73
Corno inglés Flauta travesera
70 74
Fagot Flauta de pico
71 75
76
Cuello de botella 77 (soplo) Sinte melodía 1 (onda 81 cuadrada)
Shakuhachi (flauta 78 japonesa) Sinte melodía 2 (diente 82 sierra)
Silbido
79
Sinte melodía (órgano)
3 83
84
Sinte melodía (charango)
Sinte melodía 6 (vocal)
86
Sinte melodía (quintas)
7 87
88
Sinte armonía 1 (new 89 age)
Sinte armonía 2 (cálido)
90
Sinte armonía (polysynth)
3 91
92
Sinte armonía 5 (arco)
93
Sinte armonía 6 (metálico)
94
Sinte armonía (celestial)
7 95
96
Sinte efecto 1 (lluvia)
97
Sinte efecto 2 (banda 98 sonora)
Sinte efecto (cristales)
3 99
100
Sinte efecto (brillante)
Sinte efecto (duendes)
Sinte efecto (ecos)
7 103
104
Sitar
105
Banjo
106
108
Kalimba
109
Gaita
110
Shamisen (laúd 107 japonés) Violín country 111
112
Cascabeles
113
Agogó
114
Steel Drum
115
116
Taiko (tambor 117 japonés) Trasteo de guitarra 121 Timbre de teléfono 125
Timbal melódico
118
Caja sintética
119
Respiración Helicóptero
122 126
Orilla del mar Aplausos
123 127
80
120 124
5 85
5 101
6 102
Sección de metal sintética 2 Saxo Barítono Clarinete Flauta de Pan Ocarina Sinte melodía 4 (siseo) Sinte melodía 8 (bajo) Sinte armonía 4 (Coral) Sinte armonía 8 (filtro) Sinte efecto 4 (atmosférico ) Sinte efecto 8 (ciencia ficción) Koto (cítara japonesa) Shannai (dulzaina hindú) Caja de madera Platillo invertido Trino Disparo
Tabla 7.1. Mapa de instrumentos General MIDI8
7.15. El General Standard y el XG MIDI Desde su nacimiento, varios fabricantes han creado versiones personalizadas que engloban y expanden este estándar. Es el caso de Roland con el General Standard y Yamaha con el XG MIDI, que amplían en ambos casos la paleta instrumental e incorporan ciertas posibilidades de edición y modificación de los sonidos originales. Estos nuevos estándares de facto, han sido adoptados también por otros fabricantes. Una de las ventajas importantes del General Standard, es la incorporación de 317 sonidos (en lugar de 128) y de varios kits de
8 Normalmente esta lista se presenta sin traducir al castellano. Hemos optado por traducir la mayoría de los
términos, salvo en los casos en los que el término original es más utilizado o es sencillamente intraducible. La numeración utilizada puede ir del 0 al 127 como en este caso, o del 1 al 128, dependiendo del fabricante.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
percusión9 (el General MIDI sólo dispone de uno). En cualquier caso, dado que ambos son superconjuntos del GM, cualquier dispositivo compatible GS ó XG, lo será también GM. Estos nuevos sonidos son accesibles precediendo los mensajes de cambio de programa por mensajes de cambio de banco (ver apartados 8.5.6 y 8.6.1). En las tablas 7.2 y 7.3 se muestran los sonidos añadidos por el General Standard. Al igual que en la tabla anterior, se ha utilizado una numeración de 0 a 127.
Prog 4 6 16 19 24 25 27 30 38 48 61 63 107 116 118
Banc 8 8 8 8 8 16 8 8 8 8 8 8 8 8 8
Instrumento Piano Elec. desafinado 1 Dos Clavicordios Organo Hammond desafin. Organo de iglesia desafin. Ukelele Mandolina Guitarra con chorus Guitarra con feedback 1 Bajo sintético 3 Orquesta Sección de metal 2 Sección de metal sintética 4 Taisho Koto Timbal de concierto Tom de la TR-808
Prog 5 14 17 21 25 26 28 31 39 50 62 80 115 117
Banc 8 8 8 8 8 8 8 8 8 8 8 8 8 8
Instrumento Piano Elec. desafinado 2 Campana de iglesia Organo percusivo desafin. Acordeón italiano Guitarra 12 cuerdas Guitarra hawaiana Guitarra Funk Guitarra con feedback 2 Bajo sintético 4 Sección de cuerda sintética 3 Sección de metal sintética 3 Onda sinusoidal Castañuelas Timbal melódico
Tabla 7.2. Variaciones instrumentales del General Standard
Prog
Banc
Instrumento
Prog
Banc
Instrumento
120
0 1 2 0 1 0 1 2 3 4 5 0 1 2 0 1 2 3 4 5
Trasteo de guitarra Golpe caja guitarra Golpe cuerda de guitarra Respiración Chasquido de dedos Orilla del mar Lluvia Trueno Viento Vapor Burbujas Trino pájaro Ladrido perro Caballo al galope Teléfono 1 Teléfono 2 Rechinar de puerta Portazo Scratch de disco Campanillas
125
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3
Helicóptero Motor de automóvil Frenazo de automóvil Automóvil pasando Choque de automóvil Sirena Tren Avión reactor Nave espacial Ruido ciencia ficción Aplausos Risas Gritos Puñetazo Latido de corazón Pasos Disparo de pistola Ametralladora Arma láser Explosión
121 122
123
124
126
127
Tabla 7.3. Efectos de sonido del General Standard
9 Ver apartado 10.3,”Las cajas de ritmo”.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
En estas tablas se puede apreciar por una parte que las variaciones instrumentales son accesibles desde el banco 8, mientras que los últimos programas (del 120 al 127) que ya en el General MIDI corresponden a efectos de sonido, admiten sucesivas variaciones accesibles desde bancos correlativos (del 0 al 5). Se puede apreciar asimismo, comparando esta última tabla con la 7.1 (General MIDI) que el banco número cero, corresponde en realidad al General MIDI. En el próximo capítulo indicaremos como se pueden generar los mensajes de cambio de banco.
7.16. Mirando hacia adelante Terminaremos este capítulo introductorio con un avance de implicaciones y posibilidades, consecuencia de lo expuesto hasta el momento. En cada una de ella se indica entre paréntesis el capítulo en el que se desarrollará el tema. • El MIDI permite separar el dispositivo emisor de datos (un teclado musical, por ejemplo), de los dispositivos receptores de datos-generadores de sonido. Esto elimina la necesidad de que cada sintetizador disponga de un teclado propio y abarata costes (capítulo 10, “El hardware MIDI”). • Siguiendo esta línea de economía, cuando a un “sintetizador sin teclas” se le quita el “envoltorio metálico”, tenemos una tarjeta de sonido (capítulo 11, “El ordenador MIDI y la tarjeta de sonido”). • Esta separación controlador/receptor, ha permitido el desarrollo de nuevos tipos de instrumentos de control, que no tienen porque emular al tradicional teclado de piano (guitarras, violines, instrumentos de viento, de percusión, instrumentos nuevos no tradicionales, etc.) (capítulo 10, “El hardware MIDI”). • Los mensajes MIDI generados por cualquiera de estos instrumentos pueden ser almacenados en un ordenador para su posterior edición, modificación y reproducción, convirtiendo al ordenador en un estudio de grabación multipista, de forma que una única persona es ahora capaz de emular a todo un grupo (capítulo 13, “El secuenciador”). • El ordenador puede interpretar estos mensajes para sintetizar gráficamente partituras musicales que podrán a su vez ser enviadas a una impresora (capítulo 14, “Otros tipos de software MIDI”). • El ordenador puede convertirse en un paciente maestro de música que analiza, evalúa, comenta o corrige los datos MIDI recibidos (capítulo 14, “Otros tipos de software MIDI”). • El ordenador puede a su vez generar mensajes de este tipo sin necesidad de que hayan sido emitidos por ninguna persona: puede componer música (capítulo 14, “Otros tipos de software MIDI”). • De forma más simple, en un entorno multimedia, el ordenador puede generar mensajes MIDI a partir de eventos como el clic del ratón (capítulo 17, “Programación MIDI de bajo nivel”).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8. La especificación MIDI a fondo
8.1. Introducción Los mensajes MIDI conforman el lenguaje a través del cual se comunican todos los dispositivos. En el capítulo anterior presentamos someramente algunos de estos mensajes (note on, program change, control change y pitch bend). En este capítulo los trataremos todos de forma sistemática. La información que sigue está especialmente destinada a programadores o a usuarios con conocimientos informáticos más avanzados, que pueden utilizar esta información como guía de referencia inicial. Aunque la comprensión exhaustiva de todo el código MIDI no es prioritaria para el músico, un cierto conocimiento de este código, facilita la configuración de los equipos MIDI y favorece la óptima utilización del sofisticado software actual. Es además imprescindible para todo aquel que quiera afrontar la programación MIDI (que será tratada en el capítulo 17, “Programación MIDI de bajo nivel”). No obstante, si desea hacer una lectura más superficial, le aconsejamos que se concentre en los apartados 8.4, 8.5, 8.6, 8.9 y 8.10. Conforme vaya asimilando los capítulos siguientes, podrá volver a éste para reforzar sus conocimientos.
8.2. Bytes de status y bytes de datos Hemos visto en el capítulo anterior que los mensajes MIDI se pueden enviar a través de dieciséis canales distintos y que el número de posibles instrumentos que puede gestionar un mensaje de Program Change, es de 128. Como más de uno habrá observado, estos valores, que no son casuales, corresponden ambos a potencias de dos (24 y 27 respectivamente). Tal y como anticipábamos también en el capítulo anterior, los mensajes MIDI se componen de dos o tres bytes. Estos bytes se dividen en dos categorías, bytes de status y bytes de datos, de acuerdo con el valor de su bit más significativo, que en los primeros vale 1, mientras que en los bytes de datos está siempre a cero. Los siete bits libres restantes, son pues los que condicionan que el número de posibles programas en el mensaje de Program Change sea 128, y no 256, y lo mismo es aplicable a cualquier otro mensaje: los datos MIDI están siempre comprendidos entre los valores decimales 0 y 127 (binarios 00000000 y 01111111).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8.3. Estructura de un mensaje Todo mensaje MIDI se compone de un primer byte de status (que determina el tipo del mensaje) y uno o dos bytes restantes de datos (dependiendo del tipo de mensaje). En el byte de status, tan solo tres, de los siete bits disponibles (no olvidemos que el más significativo está siempre a 1), son los que determinan el tipo de mensaje. Los cuatro restantes indican el canal al que el mensaje va dirigido, lo que explica porque son dieciséis (24) los canales MIDI posibles. En la figura 8.1 se puede apreciar la estructura binaria de un mensaje genérico.
(NB. la existencia del byte data 2, depende del tipo de mensaje) Figura 8.1. Estructura binaria de un mensaje MIDI
8.4. Tipos de mensajes De lo dicho hasta ahora se deduce que pueden existir ocho (23) tipos de mensaje diferentes, que se detallan en la tabla 8.1. Nombre Note Off Note On Poly. Aftertouch Control Change Chan. Aftertouch Pitch Bend Program Change System Message
Binario 1000 nnnn 1001 nnnn 1010 nnnn 1011 nnnn 1100 nnnn 1101 nnnn 1110 nnnn 1111 xxxx
Hex. 8N 9N AN BN CN DN EN FX
Data1 altura altura altura tipo de control presión MSByte programa
Data2 velocidad velocidad presión intensidad LSByte
Tabla 8.1. Cuadro sinóptico de los mensajes MIDI • nnnn son los cuatro bits que determinan el canal al que se aplica el mensaje, de forma que 0000 es el canal 1, y 1111 el canal 16. • N corresponde al carácter hexadecimal de este canal (0-F). • Todos los bytes de datos tienen una resolución de siete bits, con valores decimales comprendidos entre 0 y 127. • Cuando en la tabla el segundo byte de datos está en blanco (Channel Aftertouch y Program Change), significa que el mensaje utiliza un único byte de datos. Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• En el mensaje Pitch Bend, los dos bytes de datos se combinan para formar un único valor con catorce bits de resolución, comprendido entre -8192 y +8191. • Los mensajes de sistema poseen una estructura diferente que se estudia en el apartado 8.7, y no se aplican a ningún canal en particular. Es muy importante destacar que un dispositivo MIDI no tiene porque manejar todos los mensajes; son pocos los teclados capaces de emitirlos todos, y pocos los sintetizadores capaces de entenderlos. Cuando un dispositivo MIDI recibe un mensaje que no es capaz de interpretar, simplemente lo ignora y (si dispone de un puerto MIDI THRU) lo reenvía al igual que cualquier otro mensaje.
8.5. Los mensajes de canal Reciben esta denominación todos los tipos de mensajes que actúan sobre un único canal a la vez (que viene determinado por los cuatro bits menos significativos del byte de status). Estos mensajes conforman, tal como se puede apreciar en la tabla 8.1, la gran mayoría de los mensajes MIDI.
8.5.1. Note On Este mensaje le indica al dispositivo, que debe iniciar una nota. Es generado cuando desde un teclado MIDI se aprieta una tecla. • El primer byte de datos indica la altura de la nota, de lo que se deduce que el MIDI contempla 128 posibles notas, siendo la 0 la nota más grave y la 127 la más aguda. Teniendo en cuenta que existen doce notas por octava, el MIDI tiene pues una tesitura de más de diez octavas (un piano de cola sólo tiene siete) que se corresponde aproximadamente con el número de octavas que el oído humano es capaz de captar. Aunque es posible modificar el mapa de asignación, por defecto, los múltiplos de 12 corresponden a notas Do, siendo la nota 60 el Do central de un piano. Las notas más extremas tan solo podrán dispararse desde un teclado si modificamos este mapa, dado que los teclados más extensos ocupan siete octavas (de la nota 21 a la 88). En el apéndice B, “relación de alturas y notas MIDI”, se incluye una tabla con estas equivalencias. • El segundo byte indica la velocidad de ataque, que viene determinada por la fuerza con que se ha apretado la tecla. Este parámetro se asocia normalmente con la intensidad sonora, aunque en algunos sintetizadores puede modificar también el timbre de la nota (como sucede con los instrumentos acústicos reales) haciendo que, por ejemplo, a mayor velocidad suene más brillante. La velocidad 0 tiene un carácter especial, pues no corresponde a una nota “que no se oye”, Sino que funciona en realidad como interruptor de apagado, desactivando la nota indicada, si es que estuviera sonando. Algunos teclados no detectan la velocidad de ataque. En este caso, envían una velocidad constante de 64.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8.5.2. Note Off Funciona de forma similar al Note On con velocidad 0, por lo que se envía cuando se libera la tecla pulsada. • El primer byte es la altura de la nota. • El segundo byte es la velocidad de liberación. La inmensa mayoría de dispositivos no generan ni responden a la velocidad de liberación, por lo que es un mensaje muy poco utilizado. En su lugar, cuando se libera una tecla, la mayoría de teclados envían Note On con velocidad 0, que todos los sintetizadores entienden. Cuando se utiliza, la velocidad de liberación podría afectar a la forma en que desaparece el sonido (más bruscamente para una velocidad mayor).
8.5.3. Polyphonic Aftertouch (postpulsación polifónica) Algunos teclados de alta gama son capaces de detectar de forma permanente (decenas de veces por segundo) los cambios en la presión ejercida sobre cada una de sus teclas. En este caso, siempre que se produzca algún cambio, envían este mensaje. • El primer byte indica la altura de la nota. • El segundo byte indica la presión ejercida sobre esta nota. Dependiendo del sintetizador que lo reciba, este mensaje suele producir modificaciones en el nivel sonoro y también en el timbre. En algunos sintetizadores, este efecto es programable, mientras que otros directamente lo ignoran. Mucho menos frecuentes son los teclados capaces de detectar y enviar esta señal; los que lo hacen envían un flujo importante de bytes (varias decenas de mensajes por segundo, para cada nota que se mantenga pulsada), por lo que suelen tener la opción de desactivarlo, para prevenir atascos.
8.5.4 Channel Aftertouch (postpulsación de canal) Este mensaje es una versión económica del anterior. En lugar de enviar un mensaje de presión por cada nota, se envía uno por cada canal (aunque en un momento dado, en este canal se mantengan pulsadas diez notas), que suele corresponder con la presión mayor. Del mismo modo, el efecto repercute en todas las notas que estén sonando en este canal. • El único byte utilizado indica la presión.
8.5.5 Pitch Bend (variación de la altura)
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Como se muestra en la figura 8.2, la inmensa mayoría de teclados disponen a la izquierda, de dos pequeñas ruedas giratorias. Una de ellas (la que vuelve automáticamente a su posición central), se utiliza para desafinar ligeramente el sonido. Cuando la rueda gira, el teclado envía estos mensajes de forma “continua” (decenas de veces por segundo). • Los dos bytes de datos se combinan para dar un único valor con 14 bits de resolución, proporcional al ángulo de rotación, y comprendido entre -8192 y +8191. Este valor es nulo cuando la rueda está en su posición central. La magnitud de la desafinación producida por el Pitch Bend suele ser ajustable para cada sintetizador. El General MIDI establece que, por defecto, el rango de desafinación debe ser de +/- 2 semitonos.
Figura 8.2. Detalle de un teclado, con las ruedas de modulación y de pitch bend.
8.5.6. Program Change (cambio de programa) En MIDI se utilizan indistintamente los términos patch (parche) y programa, para designar los diferentes sonidos disponibles en un sintetizador (instrumentos, efectos sonoros, etc.). Este mensaje modifica el programa activo. Puede ser enviado desde los botones de un teclado, aunque hoy en día es más frecuente enviarlo desde el propio ordenador, editándolo en el secuenciador. • El único byte utilizado define un número de programa. Algunos sintetizadores disponen de más de 128 programas diferentes. En estos casos, los programas suelen agruparse en varios bancos, de hasta 128 programas cada uno. Para permitir el acceso MIDI a esta paleta sonora superior, existe un mensaje especial dentro de los de cambio control, denominado cambio de banco, que se trata en el apartado 8.6.1. Algunos sintetizadores numeran sus sonidos comenzando por el 1 y terminando por el 128.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Esto puede prestar a confusión, ya que el primer programa siempre corresponde al byte 0000 0000 y el último, al byte 0111 1111.
8.6. Los mensajes de Control Change (cambio de control) Aunque el mensaje de Control Change forma parte de los mensajes de canal que hemos descrito en el apartado anterior, por sus peculiaridades le dedicamos un apartado propio. Este mensaje es en efecto un tanto particular, pues engloba en realidad ¡128 posibles mensajes de control diferentes! Todos ellos afectan de alguna forma a la calidad del sonido; existen controles para modificar el volumen, la modulación, la reverberación, etc. Su estructura es la siguiente: • El primer byte indica el tipo de control. De los 128 controles posibles, tan solo una pequeña parte está asignada, por lo que todavía quedan muchos por definir en un futuro. • El segundo byte indica el valor de este control. La mayoría de controles utiliza la escala del 0 al 127, pero algunos funcionan únicamente de forma binaria (on/off). Existen varias alternativas para enviar estos mensajes. De la dos ruedas que suelen disponer los teclados, una acostumbra a enviar mensajes de Control Change de tipo 1 (la otra ya habíamos visto que se utiliza para el Pitch Bend), aunque en muchos teclados este número de control puede ser modificado por el usuario. Existen también paneles de control MIDI, con varios botones o potenciómetros configurables, de forma que el usuario puede decidir el canal y el tipo de control al que asigna cada potenciómetro. Tal como se verá en el capítulo 13, “El secuenciador”, la alternativa más flexible consiste en generar los mensajes desde el propio software secuenciador, ya sea mediante potenciómetros virtuales o dibujando su evolución temporal con el ratón. A continuación se describen algunos de los tipos de control más utilizados.
8.6.1. Control Change 0 : Cambio de banco Si el sintetizador dispone de varios bancos de sonidos (véase apartado 8.5.6), éste es el control que nos permite acceder a todos ellos, ya que el valor del tercer byte indica el número de banco deseado. Este mensaje suele ir seguido de un mensaje de cambio de programa. En algunos sintetizadores, el cambio de banco se consigue con el Control 32, o con una combinación de ambos (CC0 y CC32). En caso de duda, consulte el manual del aparato.
8.6.2. Control Change 1 : Modulación Este es el control que por defecto se envía desde una de las dos ruedas de los teclados. El efecto sonoro producido puede variar de un sintetizador a otro y frecuentemente es programable por el usuario. Entre los efectos más frecuentes está la modulación de amplitud
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
(trémolo), la modulación de altura (vibrato), o la modulación de la frecuencia de corte del filtro (wah-wah).
8.6.3. Control Change 7 : Volumen Este es uno de los controles más utilizados. Mientras que la velocidad de pulsación del mensaje de Note On afecta a la intensidad de una sola nota, el control 7 modifica el volumen del canal en general, como si fuera un mezclador. Cuando por ejemplo, enviamos un mensaje de Control 7 con un valor 0, el canal dejará de oírse a pesar de que se siguen emitiendo notas, hasta que enviemos un nuevo Control 7 no nulo que invalide el anterior. Muchos secuenciadores incorporan una ventana “mezclador” con dieciséis potenciómetros, que se utiliza para enviar este control a cualquiera de los dieciséis canales MIDI. Asimismo, si el secuenciador dispone de un editor gráfico de controles, se pueden dibujar curvas de volumen para modificar el ataque y la evolución de algunas notas o fragmentos. En realidad, estos trucos que aquí se indican, y que se comentan en detalle en el capítulo 13, “El secuenciador”, pueden también realizarse con otros controles continuos.
8.6.4. Control Change 10 : Panorama Este control permite definir la posición sonora de un canal, en un ámbito de 180 grados. Un valor 0, sitúa la fuente sonora a la izquierda, 64 la centra y 127 la sitúa a la derecha, siendo igualmente válido cualquier valor intermedio. Enviando valores diferentes es posible conseguir que las notas “bailen” entre los dos altavoces.
8.6.5. Control Change 11 : Expresión Aunque muchos usuarios desconocen este control, su uso en secuenciadores con posibilidades de edición de controles, puede simplificar la mezcla final. La expresión está pensada para trabajar en colaboración con el volumen (Control 7). Cuando la expresión vale 127 (valor defecto) el volumen general del canal viene determinado por el valor del Control 7, pero a medida que el valor de la expresión desciende, también lo hace el volumen general del canal, de forma que podemos establecer la siguiente ecuación: Volumen general de un canal = Control7 × Control11 ÷ 127 Esto permite utilizar el Control 7 para controlar la mezcla global (desde la ventana mezclador del secuenciador o asignando un único valor inicial), y el Control 11 para controlar la articulación particular de algunos fragmentos (dibujando su evolución con el ratón), teniendo muy en cuenta que, si no se utiliza, el valor del Control 11 debería permanecer a 127. En el capítulo 13,”El secuenciador”, veremos como editar controles por software.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8.6.6. Control Change 64 : Sostenido Es similar al pedal de sostenido de los pianos. A diferencia de los anteriores, este control sólo tiene dos posiciones : apagado (0-63) o encendido (64-127). Estando activado, las notas se mantienen más tiempo.
8.6.7. Control Change 91 : Reverberación Muchos sintetizadores modernos incorporan este efecto. La reverberación (o reverb en el argot del músico informático) indica la proporción entre el sonido directo y el sonido reflejado. Este efecto se utiliza para simular la acústica de las salas de concierto. De forma simplificada, cuanto mayor sea una sala mayor reverberación ofrecerá. Asimismo, cuanto más distante sea una fuente sonora, más reverberada llegará a nuestros oídos, ya que la proporción de sonido reflejado por las paredes de la sala será superior. Por ello, cuanto mayor sea el valor de este controlador, más distante parecerá la fuente sonora.
8.6.8. Control Change 93 : Chorus Este es otro efecto utilizado regularmente en las grabaciones en estudio, y que, como el anterior, también incorporan muchos sintetizadores modernos. El chorus produce un efecto parecido al que se obtiene duplicando los instrumentos, por lo que cuanto mayor sea el valor de este controlador, más “grueso” parecerá el sonido.
8.6.9. Mensajes de Modo Aunque la implementación MIDI 1.0 no los considera como mensajes de control estrictos, los incluimos aquí para simplificar. Esta denominación especial, corresponde a los controles 121 a127, de los cuales comentaremos tan sólo dos : • Control Change 121 : Reset-All Controllers. Este mensaje restaura todos los restantes controles a sus valores defecto (banco=0, programa=0, modulación=0, volumen=100, panorama=64, expresión=127, etc.). Si desde el secuenciador finalizamos por ejemplo un tema con fundidos de volumen (el Control 7 va descendiendo hasta llegar a 0) y el tema siguiente no contiene ningún valor inicial de volumen, posiblemente cuando intentemos reproducirlo no oigamos nada. La causa es que los volúmenes siguen estando a cero. Una solución que la mayoría de secuenciadores contemplan como opción, es la de enviar este mensaje después de terminar un tema (o inmediatamente antes de comenzarlo), y restaurar así todos los parámetros. • Control Change 123 : All Notes Off. A veces una nota puede quedarse colgada sonando porque se haya perdido el mensaje de Note Off que debía cortarla. En este caso puede ser de ayuda el Control 123, que desactiva automáticamente todas las notas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8.6.10. Otros controles Muchos sintetizadores implementan otros controles de forma no estándar. En muchos casos el efecto no se consigue con un solo control, sino mediante la combinación ordenada de varios mensajes de control determinados. Aunque esto suele ser bastante más complicado, de este modo se puede llegar a controlar al máximo las posibilidades del sintetizador. Estos grupos de mensajes suelen denominarse RPN (Registered Parameter Number) o NRPN (Non-Registered Parameter Number). En el primer caso, se utilizan los controles 99 y 98 para indicar el tipo de modificación deseada, mientras que en el segundo, se combinan inicialmente los controles 100 y 101. A continuación, en ambos casos suele utilizarse una segunda combinación de dos controles para indicar la magnitud de esta modificación. Las posibilidades y la forma de utilización de estos parámetros de control registrados y noregistrados, varían considerablemente de una maquina a otra, lo que hace imposible tratarlos con detalle. En la tarjeta Sound Blaster AWE32, por ejemplo, la sabia combinación de los controles 99, 98, 6 y 38, permite modificar cualquier parámetro imaginable. Por otra parte, el uso de este tipo de mensajes requiere inevitablemente de un cierto dominio del secuenciador, el programa pilar de todo estudio MIDI, que estudiaremos en el próximo capítulo. Un consejo: tenga paciencia, y relea de vez en cuando la documentación de su sintetizador o tarjeta. Poco a poco irá comprendiendo más cosas y descubriendo nuevas posibilidades.
8.7. Mensajes de sistema En este grupo se incluyen los mensajes cuyo byte de status comienza con 1111. Estos mensajes se comportan de forma diferente a todos los anteriores, ya que los cuatro bits restantes no indican un número de canal, y por ello, afectan globalmente al comportamiento de los dispositivos que los reciban. Estos cuatro bits restantes, definen de hecho dieciséis mensajes diferentes, que se reparten en tres grupos: los mensajes comunes de sistema, los mensajes de sistema de tiempo real y los mensajes de sistema exclusivo. De los dos primeros grupos daremos tan solo una breve referencia.
8.7.1. Mensajes comunes de sistema Los mensajes comunes de sistema suelen ir destinados a secuenciadores, pudiendo ser enviados desde otro secuenciador u otro dispositivo dotado del interfaz adecuado (cajas de ritmo, magnetoscopios de vídeo, grabadoras multipistas, etc.). Permiten posicionar automáticamente un secuenciador en un determinado fragmento de una determinada pieza (muchos secuenciadores pueden tener varios temas en memoria), desde el dispositivo de control. El más importante es el MIDI Time Code (MTC) que consta de dos bytes (siendo 1111 0001 su byte de status) y se utiliza para sincronizar secuenciadores con grabadoras multipistas o magnetoscopios de vídeo (véase 18.4.2).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8.7.2. Mensajes de sistema de tiempo real Los mensajes de sistema de tiempo real, se utilizan para coordinar y sincronizar dispositivos MIDI que normalmente funcionarían de forma independiente, como dos secuenciadores. En este caso, uno funcionará como maestro y el otro como esclavo. Aunque los secuenciadores trabajan por defecto con un reloj interno (maestros), siempre es posible configurarlos para que dependan de un reloj externo (esclavos). En este caso, estos mensajes de sincronía deben mandarse a intervalos regulares (24 veces/negra).
8.7.3. El sistema exclusivo Todo dispositivo MIDI posee algunas características peculiares, condicionadas por su hardware y su software interno, y difíciles de incluir en un estándar, como pretende la implementación MIDI 1.0. Por ello, los fabricantes acordaron dejar un grupo de mensajes de formato libre, para uso particular de cada dispositivo. Para lograr esta flexibilidad y privacidad, los mensajes de sistema exclusivo incluyen después del byte de status (que en este caso es siempre F0H ó 1111 0000 en binario), un byte con un código propio del fabricante (Roland, Yamaha, etc.) y otro específico del modelo. A continuación, el mensaje puede tener cualquier longitud, por lo que para indicar el fin del mensaje, se incluye el byte de status EOX (End of Exclusive) que vale F7H (1111 0111). Ini. SysEx 1111 0000
Id. Fabric. 0nnn nnnn
Id. Modelo 0nnn nnnn
cuerpo del mensaje cualquier número de bytes
EOX 1111 0111
Mientras siga este convenio, todo fabricante es libre de implantar en cada uno de sus dispositivos, tantos mensajes de sistema exclusivo como desee, pero con la obligación de publicarlos. Estas acostumbran a ser las misteriosas páginas llenas de datos binarios y códigos hexadecimales con que concluyen los manuales de los sintetizadores1. ¿Pero para que sirve todo esto? Aunque en algunos casos, muchas de las posibilidades del sintetizador son accesibles a través de mensajes de control no estándares (como los RPN y los NRPN comentados en el apartado 8.6.10), no siempre es así, y en cualquier caso, a través de esos controles, nunca se puede acceder a todas las posibilidades. Como último recurso, queda pues el sistema exclusivo, el “código máquina” propio de cada dispositivo. Muchos secuenciadores ofrecen ciertas facilidades a la hora de editar mensajes de este tipo (normalmente en código hexadecimal) y enviarlos a los dispositivos. Dado que estos mensajes se transmiten por los cables MIDI como cualquier otro, ¿que sucede cuando un dispositivo recibe un mensaje de sistema exclusivo que no le va destinado, y que por consiguiente no entiende ? Nada en realidad ; cuando un dispositivo recibe un mensaje cuyo byte de status es F0, mira los dos bytes siguientes (fabricante y modelo), y en caso de que no coincidieran con los que tiene asignados, ignora el mensaje hasta que le llega el byte de status que indique final de sistema exclusivo (F7). Un ejemplo de programas que 1
Algunos fabricantes (como por ejemplo Creative Labs) no incluyen nunca esta información en sus manuales, pero siguen teniendo la obligación de ofrecerla gratuitamente si les es solicitada.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
utilizan profusamente el sistema exclusivo, son los editores de sintetizadores que se comentan brevemente en el apartado 14.4.
8.8. Running Status El running status no es en realidad un mensaje, sino un convenio a la hora de transmitirlos, que facilita la reducción del flujo de datos MIDI. Cuando un mensaje es del mismo tipo que el anterior no es obligatorio transmitir de nuevo el byte de status. De esta forma cuando se mandan varios mensajes consecutivos del mismo tipo, sólo el primero ocupa tres bytes, ocupando dos, todos los restantes. Esta técnica es especialmente útil en la transmisión de controles continuos como el volumen o la modulación que suelen enviarse en grandes bloques. Aunque la adopción del running status en un dispositivo transmisor es opcional, todos los dispositivos receptores deben ser capaces de entenderlo.
8.9. Los cambios de control en General MIDI En el capítulo anterior comentamos las principales características del General MIDI (mapa de instrumentos, polifonía, etc.). Este nuevo estándar especifica también una serie de mensajes que todo dispositivo debe ser capaz de interpretar. Así un dispositivo compatible General MIDI debe poder entender mensajes de pitch bend, channel aftertouch, modulación (C.Change 1), volumen (C.Change 7), panorama (C.Change 10), expresión (C.Change 11), sostenido (C.Change 64), all notes off (C.Change 121) y reset all controllers (C.Change 123).
8.10. La hoja de implementación MIDI Tras el baile de mensajes al que se ha visto sometido en este capítulo, parece difícil no perder la calma a la hora de configurar y comenzar a trabajar con un equipo MIDI. ¿Como saber que dialecto entiende cada uno de nuestros dispositivos? ¿Como optimizar las configuraciones para que no tengamos un sinfín de mensajes redundantes o inútiles? Para solucionar parte de estas dudas, todo dispositivo incluye al final de su manual de instrucciones, una hoja denominada "Hoja de implementación MIDI", que describe en un formato estándar a dos columnas, los mensajes que el dispositivo es capaz de transmitir (columna izquierda) y de recibir (columna derecha). Si un dispositivo entiende determinado mensaje lo indica con un círculo blanco, mientras que una cruz significa que no lo entiende. En la figura 8.3. se muestra la hoja de implementación MIDI de una tarjeta de sonido. Dado que este dispositivo funciona sólo como receptor, toda su columna izquierda se encuentra desactivada (con x).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 8.3. Hojas de implementación MIDI de una tarjeta de sonido
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
9. Síntesis y generación digital de sonido
9.1. Introducción Hasta ahora, hemos utilizado frecuentemente el término sintetizador para referirnos a todo dispositivo capaz de generar sonido, sin preocuparnos por la manera en que se realiza dicho proceso. En este capítulo revisaremos algunos de los sistemas de generación de sonido más utilizados.
9.2. ¿Qué es un sintetizador? En los capítulos iniciales, dedicados al audio digital, hemos estudiado los procesos de digitalización de sonido, y hemos visto cómo es posible modificar posteriormente este sonido digitalizado. En todos los ejemplos partíamos de un sonido inicial que, asumíamos, existía fuera del ordenador antes de convertirse en una ristra de números. En un sintetizador "puro", esto no es así. Como su nombre sugiere, este dispositivo sintetiza el sonido, es decir, lo genera a partir de la combinación de elementos simples (normalmente señales periódicas y funciones matemáticas) que no tienen por que existir fuera de sus circuitos. En realidad, los términos síntesis -y por extensión, sintetizador- no son, hoy en día, plenamente acertados, pues gran parte de los instrumentos digitales actuales no sintetizan totalmente el sonido (no parten de cero), sino que utilizan, recombinan y modifican fragmentos almacenados en su memoria. A pesar de ello, y para simplificar, seremos “flexibles” y, de momento, pasaremos por alto este matiz. Sea o no un "genuino" sintetizador, conviene recordar, por último, que todo generador digital de sonido oculta un ordenador (con su CPU, su memoria, su sistema operativo, etc.) en su interior. ¡Los chips de los sintetizadores actuales son, de hecho, potentísimos DSPs (chips para procesado digital de señal) capaces de realizar decenas de millones de instrucciones por segundo!
9.3. Antecedentes históricos Para encontrar los primeros sintetizadores de sonido debemos remontarnos a 1906, año de invención del Telharmonium, mientras que en los años veinte surgen el Theremin y las Ondas Martenot. Estos primeros aparatos eran evidentemente analógicos, y utilizaban osciladores eléctricos como fuente sonora. Sin embargo, los primeros intentos de síntesis digital tampoco datan de ayer ya que son, de hecho, casi tan viejos como los propios
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
ordenadores: Max V. Mathews, padre indiscutible de toda la síntesis digital, generó los primeros sonidos, en los laboratorios de IBM, en 1957. En aquella época, la escasa potencia de aquellos ordenadores hacía totalmente inviable la comercialización de sintetizadores digitales, por lo que las dos décadas siguientes vieron la eclosión de los sintetizadores analógicos, que comenzaron a fabricarse comercialmente y marcaron una época en el pop de principios de los setenta (Pink Floyd, Keith Emerson, Tangerine Dream, Stevie Wonder, etc.). Pero mientras, en algunas universidades y centros de investigación privados, se seguía investigando y creando música digitalmente, con la ayuda de los más potentes mainframes, aunque todavía no en tiempo real1. Hasta principios de los ochenta, la tecnología no estuvo preparada para dar este salto; en 1983 surge el DX7 de Yamaha 2 primer sintetizador digital comercial, y en pocos años los sintetizadores digitales desbancarían a los analógicos3.
9.4. Algunos conceptos de síntesis digital Aunque existen, como veremos en el apartado siguiente, diferentes sistemas de síntesis digital de sonido, ciertas técnicas y procesos que permiten la modificación y el enriquecimiento del sonido generado inicialmente, se han ido extendiendo tanto que hoy son, en mayor o menor medida, aplicables a casi todos los sistemas. Pasamos a describir algunos conceptos importantes que incorporan la mayoría de sintetizadores actuales, independientemente del método de síntesis que implementen.
9.4.1. Envolvente En los instrumentos acústicos, el nivel sonoro varía permanentemente a lo largo de la emisión de una nota, y la forma en que lo hace influye poderosamente en su carácter. La envolvente más precisa corresponde a la línea que une los sucesivos máximos de amplitud, pero, para simplificar el procesado de la información, la mayoría de sintetizadores reducen la envolvente a unos pocos fragmentos rectilíneos. En la figura 9.1 se muestran los sonidos digitalizados de un piano y una flauta; aunque ambas variaciones de amplitud son complicadas, se pueden observar ciertas tendencias similares.
1 A finales de los sesenta se podía tardar del orden de cinco minutos para sintetizar un segundo de
sonido. 2 Yamaha tardó siete años en diseñar el primer chip que iba a permitir la síntesis digital de sonido en
tiempo real. 3 Aun hoy, se siguen fabricando instrumentos analógicos, aunque en mucha menor proporción. Conviene
recordar, además, que no es imprescindible que la generación de sonido sea digital para que un sintetizador sea compatible con el MIDI. Basta con que incorpore un pequeño procesador para la gestión de mensajes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 9.1. Sonidos digitalizados de un piano y una flauta En el piano, el sonido alcanza rápidamente un nivel máximo, seguido de un primer descenso brusco y un segundo descenso más suave durante el que se extingue gradualmente la nota. En la flauta, la fase inicial de ascenso y el primer descenso, son más suaves y prolongadas. Después existe una fase en la cual el sonido se mantiene (mientras el flautista sigue soplando), y el segundo descenso es más rápido que en caso del piano. Con mayor o menor acierto, estas cuatro fases genéricas permiten aproximar la variación de la amplitud en la mayoría de instrumentos acústicos. En esto se basa la envolvente, que trata de simplificar esta variación mediante cuatro valores: 1. El tiempo transcurrido entre el inicio de un sonido y el instante en que éste alcanza su nivel máximo, se denomina ataque. 2. El tiempo del primer descenso recibe el nombre de decaimiento. 3. El nivel al que se mantiene la amplitud, después de este decaimiento, se llama sostenido. 4. Finalmente, el tiempo empleado por el sonido en extinguirse hasta el silencio, se llama liberación o release. De acuerdo con estos cuatro parámetros, en la figura 9.2 se muestran las envolventes aproximadas de los sonidos digitalizados de la figura 9.1. La imagen corresponde a una ventana del programa Vienna, que se utiliza para editar y modificar los sonidos de la tarjeta AWE32.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 9.2. Envolventes aproximadas de los sonidos de la figura 9.1 A causa de los nombres de estas cuatro fases, este tipo de envolventes suelen denominarse ADSR. Aunque muchos sintetizadores modernos utilizan envolventes de más de cuatro fases y, por consiguiente, más realistas, su uso en cualquier forma de síntesis sigue siendo fundamental. Algunos sintetizadores permiten además asignar envolventes a la altura o al filtro, para obtener sonido más ricos y variados (en muchos instrumentos, como el piano o el saxofón, la altura y el contenido armónico también varían a lo largo de la emisión de una nota).
9.4.2. Modulación de baja frecuencia Los sonidos naturales jamás son totalmente estables. En ellos, la altura, la amplitud, el contenido armónico, oscilan de forma permanente, enriqueciéndolos. Una forma simplificada de obtener cierta variación en los sonidos sintéticos, consiste en aplicar señales periódicas de baja frecuencia, por debajo de los 15 Hz, que modulen sus diferentes parámetros (cuando la oscilación se aplica a la amplitud se produce el efecto de trémolo y cuando se aplica a la frecuencia, el vibrato). Estas señales moduladoras se llaman LFOs (Low Frequency Oscillator), y en algunos sintetizadores son únicamente sinusoidales, mientras que otros incorporan señales cuadradas, dientes de sierra, triangulares, etc. Cuantos más osciladores de baja frecuencia podamos asignar a cada voz, más rico y variable podrá resultar el sonido final. El motivo de este limite de frecuencia, es que cuando la frecuencia de la moduladora entra en el terreno audible (por encima de los 20 Hz), los efectos producidos son mucho más complejos, como veremos en el apartado 9.5.2.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
9.4.3. Filtros El contenido armónico de los instrumentos naturales también es variable en el tiempo. Como se vio en el apartado 6.4, los filtros digitales permiten estas modificaciones tímbricas, atenuando determinadas frecuencias y amplificando otras. Pero, para conseguir efectos variables en el tiempo, es necesario que evolucionen también los parámetros de estos filtros (frecuencia de corte, resonancia, etc.). Las técnicas más frecuentemente aplicadas, consisten en controlar el filtro mediante LFOs (con lo que se consigue el efecto denominado wahwah4), o mediante envolventes.
9.4.4. Integración de estos elementos En la figura 9.3 se esquematiza un sistema de síntesis que incorpora todos los componentes vistos en este apartado (envolvente, moduladoras y filtros). El componente oscilador es el que variará más de un sistema a otro, dependiendo del sistema de síntesis implementado.
Figura 9.3. Esquema típico de un sistema de síntesis
9.4.5. Control MIDI Aunque no se especifique nada en la implementación MIDI 1.0, la mayoría de sintetizadores actuales permiten modificar vía MIDI muchos de los parámetros comentados, ya sea mediante mensajes de control, mensajes de sistema exclusivo, asignándolos a la altura de la nota, a la velocidad de pulsación, al aftertouch, etc. Es obvio que cuantas más posibilidades de control MIDI ofrezcan, más expresivos podrán resultar estos instrumentos.
4 Este nombre se deriva del efecto utilizado por los primeros trompetistas y trombonistas de jazz, que
consistía en ir moviendo un sombrero (!) cerca del pabellón del instrumento, obteniendo así ciertos matices vocales, que recordaban a esta onomatopeya.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
9.5. Técnicas de síntesis digital En el apartado anterior se han visto formas de modificar y aportar variedad a un sonido. Ahora veremos diferentes alternativas de generación de este sonido base. Para tratar en detalle todos los diferentes sistemas que se han venido utilizando en el terreno de la síntesis digital de sonido, serían necesarios varios libros como éste. En estas páginas comentaremos brevemente aquellos sistemas que han tenido un mayor relieve.
9.5.1. Síntesis aditiva La síntesis aditiva parte de la idea contenida en el teorema de Fourier, según la cual todo sonido periódico, por complejo que sea, es el resultante de la suma de ondas sinusoidales sencillas de frecuencias múltiplo de una frecuencia base. Conceptualmente la idea es simple, por lo que no es de sorprender que los primeros experimentos utilizaran este método que, como veremos, tiene bastantes inconvenientes por lo que prácticamente no se usa en la actualidad. Los sonidos naturales no son totalmente periódicos, y se pudo comprobar rápidamente que los sonidos periódicos son aburridos y carentes de interés. Esto se resolvió en parte, aplicando diferentes envolventes a cada uno de los componentes armónicos. Para obtener una riqueza sonora mínima, son necesarios muchos armónicos, y aunque esto es fácilmente implementable por software, su implementación por hardware (necesaria para el tiempo real) requiere de un gran número de osciladores, lo que encarece enormemente el sistema. En la figura 9.4 se muestra la onda resultante de sumar dos ondas sinusoidales de frecuencia y amplitud diferentes. Esta onda resultante mantiene la frecuencia del componente más grave, pero con el timbre alterado.
Figura 9.4. Ejemplo de síntesis aditiva
9.5.2. Modulación de frecuencia (FM) Este fue uno de los primeros sistemas que permitió una riqueza sonora considerable, con un pequeño coste computacional. John Chowning, de la universidad de Stanford, patentó este método en 1973, y lo licenció a Yamaha dos años más tarde. La compañía japonesa tardó siete años en diseñar y fabricar el chip que permitiese ejecutar, en tiempo real, el algoritmo Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
que Chowning había implementado en software. Este fue el chip que se implantó en los primeros sintetizadores digitales comerciales (el mítico DX7), y el que, con ligeras variaciones, se utiliza trece años más tarde ¡en la tarjetas de sonido de gama baja (Sound Blaster 16 y compatibles)5! En el caso más sencillo, la síntesis FM necesita tan sólo dos osciladores: la señal portadora y la señal moduladora. Parte de la idea de que cuando la moduladora no es una señal de baja frecuencia (tal como se especifica en el apartado 9.4.2) sino que entra ya en el rango de las frecuencias audibles (a partir de los 20 Hz) se crean un gran número de frecuencias adicionales que generan un sonido con un gran contenido armónico. La figura 9.5 muestra la onda obtenida de la modulación en frecuencia de las mismas ondas sinusoidales del ejemplo anterior. En este caso, la onda obtenida no mantiene ya la frecuencia de la onda más grave.
Figura 9.5. Ejemplo de síntesis FM Este fenómeno no tiene una equivalencia en la naturaleza y, aunque permite generar sonidos de gran riqueza, es difícil programarlo para obtener sonidos imitativos, por lo que hoy en día ha quedado un tanto desbancado. Si sólo ha escuchado la síntesis FM en una tarjeta de tipo Sound Blaster, conviene indicar, en defensa de este método, que los instrumentos originales de Yamaha eran bastante más sofisticados y sonaban francamente mejor. Los dos programas editores de audio de shareware comentados en los capítulos XX, Cool y Goldwave, permiten realizar por software tanto síntesis aditiva como FM. Estudie la documentación incluida en la ayuda interactiva de estos programas, y pruebe a sintetizar nuevos sonidos.
9.5.3. Síntesis por tabla de ondas Los avances tecnológicos de principios de los ochenta hicieron posible la sustitución de las ondas periódicas simples que se venían utilizando como material base, por pequeños fragmentos procedentes de sonidos reales, digitalizados y almacenados en ROM. Estos fragmentos pueden ser tan breves como un ciclo, ya que el sintetizador se encarga de repetirlos periódicamente (de decenas a miles de veces por segundo). Un sintetizador compatible por ejemplo con el General MIDI deberá contener suficientes fragmentos para reconstruir 128 instrumentos, más 59 sonidos de percusión.
5 Cuando apareció, el DX7 (uno de los sintetizadores más vendidos de la historia) valía cerca de 250.000
ptas. Tarjetas de sonido que incorporan hoy el chip OPL3 pueden valer 5.000 ptas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Esta técnica permite muchas variaciones y refinamientos (como la combinación o la alternancia de varios fragmentos en un único instrumento, mediante sofisticados algoritmos). También utiliza a fondo todos los mecanismos descritos en el apartado 9.4 (envolventes, filtros y moduladoras). En los sonidos naturales, es frecuente que el timbre varíe mucho en el ataque, permaneciendo más o menos constante a continuación, por lo que en muchas ocasiones las dos partes se almacenan por separado y el sintetizador las combina en tiempo real. Más de la mitad de los sintetizadores fabricados en los últimos diez años implementan alguna variante de este método de síntesis. Es también el utilizado en todas las tarjetas de sonido a partir de cierto precio. Sin embargo, la síntesis por tabla de ondas no es ninguna garantía de calidad, como los fabricantes de tarjetas frecuentemente quieren hacernos creer. Un factor decisivo es la cantidad de ROM disponible en la tarjeta: mientras los sintetizadores profesionales no suelen utilizar menos de 4 Mb, ¡en algunas tarjetas esta cifra desciende peligrosamente a los 512 Kb! Igualmente decisiva es la información contenida en esta memoria: si los fragmentos almacenados no poseen una calidad suficiente, o no están bien seleccionados, el resultado sonoro será inevitablemente pobre, independientemente de la cantidad de memoria que dispongamos. Otro factor importante, e igualmente difícil de evaluar a priori, son los algoritmos empleados para combinar y modificar esta información.
9.6. El sampler Aunque, popularmente, sampler y sintetizador se consideren términos dicotómicos, la técnica básica del sampler no es muy diferente de la utilizada en los sintetizadores de tablas de onda; lo que estos resuelven con ingenio, el sampler lo remedia recurriendo directamente a la fuerza bruta, es decir utilizando cantidades mayores de memoria. De hecho, la barrera que separa los dos sistemas no es del todo precisa, pues aunque normalmente se espera que el sampler almacene las muestras en RAM (y no en ROM) y, por consiguiente, su contenido sea modificable por el usuario, instrumentos como el Proteus de EMu Systems, que poseen un enorme banco de sonidos digitalizados, son más samplers "cerrados", que sintetizadores de tablas de onda. Por otra parte, mientras que los samplers primitivos se limitaban a reproducir los sonidos digitalizados, los instrumentos actuales ofrecen posibilidades de modificación comparables a las de cualquier sintetizador.
9.6.1. Antecedentes del sampler Incluso un instrumento tan genuinamente digital como el sampler, tiene sus precursores analógicos. El invento, de finales de los sesenta, se llamaba Mellotron, y tuvo su época dorada durante el rock sinfónico. Con el aspecto de un órgano electrónico, incorporaba, debajo de cada tecla, un pequeño bucle de cinta magnetofónica y un cabezal. En sus tripas ocultaba pues decenas de “pletinas de casete”, y era, lógicamente, muy caro y difícil de mantener.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Los primeros sampler digitales fueron bastante más prácticos, pero no mucho más baratos. El Fairlight CMI, que tenía una resolución de 8 bits y una memoria de 128 Kb, costaba, cuando apareció en 1979, más de dos millones y medio de pesetas.
9.6.2. Funcionamiento El sampler almacena en su memoria sonidos digitalizados, pero no almacena un sonido para cada altura diferente, pues la cantidad de memoria requerida sería exorbitante. En su lugar, para reproducir un sonido a diferentes alturas, los samplers pueden utilizar dos estrategias: modificar la frecuencia de salida o convertir la frecuencia de muestreo mediante interpolación en tiempo real. • Modificación de la frecuencia de salida: si un sonido digitalizado a 44100 Hz es reproducido a 22050 Hz, la frecuencia resultante será la mitad (sonará una octava más grave y su duración será el doble). Para valores intermedios (un semitono, dos semitonos, etc.) el factor de corrección será lógicamente menor (y comprendido entre 1 y 2). • Conversión de la frecuencia de muestreo por interpolación: si al reproducir un sonido, sólo se lee una muestra de cada dos, la frecuencia resultante será el doble (sonará una octava más aguda y su duración será la mitad). Para intervalos menores, en lugar de saltar una de cada dos muestras, se salta una de cada N. Asimismo, si se desea que suene más grave, en lugar de saltar muestras, el sampler repetirá algunas. En ambos casos, a medida que aumenta este factor de corrección, el sonido resultante se vuelve cada vez más artificial. Por ello, cuando se desea que un sampler emule instrumentos acústicos con calidad y verosimilitud, es necesario introducir en la memoria varios sonidos correspondiente cada uno a diferentes alturas del instrumento original (un sonido cada cuatro o cinco semitonos, por ejemplo). Esto hace que el proceso de creación de instrumentos realistas sea tedioso y complicado, por lo que es muy frecuente utilizar instrumentos creados por profesionales y disponibles en librerías de sonidos en forma de disquetes o de CDROMs6. Sin embargo, estas consideraciones no son tan importante cuando se desean crear instrumentos no realistas y personales; allí es donde las posibilidades creativas del sampler permanecen imbatidas.
9.6.3. Creación de instrumentos Algunos samplers disponen de conversores A/D que permiten digitalizar los sonidos que deseemos utilizar desde el propio aparato. Otros ofrecen solo entradas digitales, por lo que es preciso disponer además de algún dispositivo externo con salida digital, como un DAT o un MiniDisc para transferir la información deseada a la memoria del sampler. La mayoría suele
6 La idea es clara; para obtener un sonido de piano mejor del que podamos encontrar en una librería
necesitamos: (1) un buen piano de cola, (2) un buen micrófono y unas condiciones de grabación óptimas, (3) mucho tiempo y paciencia.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
disponer además de algún soporte magnético (disquete, disco duro), que permite leer y salvar ficheros de sonido o configuraciones completas. Sea cual sea el método utilizado para introducir la información sonora, el usuario podrá ir incorporando los sonidos digitalizados que desee, hasta ocupar la memoria 7, y utilizarlos para definir sus propios instrumentos. Cada instrumento (o programa MIDI) puede incluir varios sonidos, ya sean distribuidos en notas o registros diferentes, como superpuestos. La figura 9.6 ilustra estos casos en el programa Vienna SF Studio, el software editor del sampler de la Sound Blaster AWE32. La imagen corresponde a la configuración de un instrumento compuesto por tres sonidos. En ella se observa que, mientras el sonido OrganWave ocupa todo la tesitura MIDI, en el registro grave (hasta el Do4) se le superpone el sonido SIN440, mientras que en el registro agudo, se le añade el sonido SakuA2. La técnica de superponer diferentes sonidos se denomina multilayer (multicapa). Es importante tener en cuenta que cada capa consume una nota de la polifonía total del dispositivo, por lo que cuando los sonidos presentan muchas capas, la polifonía real (número máximo de notas simultáneas) se reduce considerablemente
Figura 9.6. Distribución de varios sonidos dentro de un único instrumento, en el programa Vienna El sonido producido al pulsar suavemente la cuerda de una guitarra acústica, no es simplemente menos intenso que si la pulsamos con violencia; también cambia el timbre. En la mayoría de instrumentos naturales (ya sean de cuerda, de viento, etc.) el timbre varía junto con la intensidad, en función de la fuerza con que se emite el sonido. Por ello, lo samplers más sofisticados admiten lo que se denomina velocity split. Esta técnica consiste en almacenar varios sonidos de un mismo instrumento, correspondientes a intensidades diferentes. A continuación, en la configuración del sampler, se hace un mapeo de estos sonidos, en función de la velocidad de pulsación MIDI8. Ni que decir tiene que esta técnica consume bastante más memoria… y también paciencia. Una forma más económica de simular este efecto consiste en hacer que la frecuencia de corte de los filtros digitales varíe también con la velocidad de pulsación MIDI (normalmente, a menor velocidad, mayor filtrado).
7Muchos samplers actuales son ampliables a 32 ó más Mb. 8 Que determinado sampler admita o no esta técnica, no depende tanto de su hardware sino de su
software (su sistema operativo). Por ejemplo, el programa Vienna que se utiliza para editar el sampler de la Sound Blaster AWE32, sólo lo incorpora a partir de la versión 2.0.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
9.6.4. Los loops La creación de loops o bucles es una técnica fundamental en el manejo de los samplers, ya que por mucha memoria de que se disponga, los sonidos almacenados no pueden ser "infinitamente" largos. Cuando se desee que un instrumento (como un órgano o un saxo) suene indefinidamente mientras se mantenga activada una nota MIDI, será necesario definir dos puntos, inicio y final del bucle. De esta forma, el fragmento marcado se repetirá automáticamente durante el período de sostenido del sonido. En la figura 9.7 se pueden apreciar en oscuro, los bucles aplicados a sendos sonidos de piano y de flauta. En la figura 9.8, se muestra con mayor detalle, un fragmento al que se ha aplicado un loop de un solo ciclo (las dos líneas verticales centrales).
Figura 9.7. Dos ejemplos de loops
Figura 9.8. Detalle de un loop de un único ciclo Otra posibilidad de los loops, es la de crear fragmentos rítmicos repetitivos. En estos casos, los puntos inicial y final coincidirán probablemente con el inicio y final del fichero de sonido. De cualquier forma, la creación de bucles perfectos (que no se noten) es una tarea difícil que requiere paciencia y experiencia.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
9.6.5. To sample or not to sample? Con un sampler, absolutamente cualquier sonido (instrumental tradicional, electrónico, vocal, animal, ruidos de nuestro entorno, etc.) puede ser convertido en un instrumento que podrá ser utilizado desde el sistema MIDI. El dominio del sampler es difícil y tiene tanto de arte como de ciencia, pero sus posibilidades creativas son tan amplias que, quien pruebe uno, no querrá abandonarlo nunca más. Si hasta hace poco, estos eran instrumentos muy caros9 destinados al mercado profesional, el abaratamiento de la memoria y de los chips VLSI (Very Large Scale Integration) ha logrado que, desde 1995, existan tarjetas de sonido para PC que permiten trabajar como sampler mediante la ampliación de memoria RAM con SIMMs convencionales10. Aunque, lógicamente, estos productos ofrecen prestaciones algo inferiores a aquellos que valen diez veces más, sus posibilidades no son en absoluto desdeñables.
9.7. Programas de síntesis En el capítulo 5,”Edición de sonido por ordenador”, comentábamos que la mayoría de editores gráficos de audio digital, ofrecen ciertas posibilidades de síntesis. Normalmente estas prestaciones adicionales se limitan a la síntesis aditiva y la síntesis FM. Existen sin embargo programas especializados en esta única función (no hay que olvidar que durante años, la síntesis digital se realizaba únicamente por software). Estos programas trabajan en diferido, y son especialmente útiles cuando se dispone de un sampler, ya que permiten la creación de sonidos enormemente sofisticados que podrán después ser volcados al sampler y utilizados como instrumentos. La mayoría de estas aplicaciones son de dominio público, lo cual no significa que ofrezcan pocas posibilidades, aunque sí que son, frecuentemente, menos amigables que los programas comerciales. Muchos ofrecen de hecho, métodos de síntesis bastante más elaborados y con mayor capacidad de control de parámetros que los de los sintetizadores. El más famoso es CSOUND, un potentísimo entorno desarrollado por Barry Vercoe, en el Media Lab del MIT de Boston. Más que un programa, CSOUND es un auténtico lenguaje de programación basado en el lenguaje C, lo que lo hace poco cómodo, pero enormemente flexible y potente. El usuario-programador, encontrará en el prácticamente todas las formas de síntesis utilizadas a lo largo de los últimos cuarenta años, y podrá incluso (si domina el lenguaje C) ampliar y crear nuevos métodos. Otros programas comparables, realizados también en centros universitarios norteamericanos, son CMUSIC (de la Universidad de San Diego) o Cmix (de la Universidad de Princeton), basados también, como sugiere su inicial, en el lenguaje C. Todos ellos disponen de versiones para varias plataformas, y son fácilmente obtenibles en Internet. Estos entornos, no sólo permiten la creación de sonidos para ser volcados al sampler, sino que son capaces de sintetizar fragmentos largos o incluso obras enteras. En este sentido, su funcionamiento puede recordar al de los programas de síntesis de 3D, donde el usuario 9Varios cientos de miles de pesetas. 10 En el capítulo 12, “Estudio comparativo de tarjetas de sonido”, se discuten varias tarjetas de sonido
para PC que pueden funcionar como samplers, y en el apartado 14.5 se comenta con mayor detalle la edición de instrumentos en un programa genérico.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
introduce todos los parámetros y su evolución en el tiempo, y deja al ordenador calculando el tiempo que haga falta (una hora, un día, una semana…). Si tantas posibilidades le asustan, existen programas shareware más sencillos que incorporan cómodos interfaces gráficos. Uno de ellos es Virtual Waves, que como se aprecia en la figura 9.9, utiliza un elegante interfaz consistente en interconectar módulos. Stomper es un programa especializado en sintetizar sonidos de percusión que todos los aficionados al techno o a la música de baile, y poseedores de un sampler o una tarjeta con memoria RAM, deberían conocer. La lista podría ser muy larga, por lo que si está interesado en este tipo de programas, le sugerimos un paseo por Internet (puede comenzar por las direcciones que se incluyen el apéndice C).
Figura 9.9. El programa de síntesis Virtual Waves
9.8. El futuro de la síntesis digital Las formas de síntesis que hemos tratado son sólo una pequeña parte de entre las existentes. Muchas de las restantes no han sido implementadas en sintetizadores comerciales y se han utilizado sólo por software, mientras que otras, más recientes, están sólo disponibles en equipos de muy elevado precio. Un ordenador convenientemente programado, es virtualmente capaz de producir cualquier sonido (in)imaginable, familiar o inaudito (aunque no sea capaz de hacerlo en tiempo real, podrá hacerlo en diferido). La única dificultad consiste en decirle como hacerlo o en describir, de alguna forma, el sonido que buscamos. Los nuevos métodos de síntesis sonora, tienden por ello a ser más sofisticados en sus posibilidades, pero buscan interfaces de control más intuitivos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Las técnicas de modelo físico o waveguide parten de los modelos matemáticos que describen la acústica de diferentes instrumentos. Dado que en lugar de intentar imitar el sonido resultante, imitan la forma en que el sonido es generado, permiten definir por primera vez instrumentos sintéticos, a partir de conceptos musicales reales, como la intensidad de soplo en un saxo, la tensión en las cuerdas de una guitarra, o el tamaño de la caja de resonancia de un violín. Estas técnicas están implementadas en costosos sintetizadores11, de momento monofónicos (a causa de su elevada carga computacional), aunque acaba de aparecer en el mercado la tarjeta AWE64 de Creative Labs anuncia para inicios de 1997 la tarjeta AWE 64, que sintetiza algunas voces con esta tecnología. Diversas técnicas basadas en lo que se denomina análisis/resíntesis, ofrecen unas posibilidades asombrosas a la hora de crear nuevos instrumentos, ya sean imitativos o no, y permiten incluso sintetizar sonidos híbridos que incorporan propiedades de diversos sonidos (es posible crear por ejemplo, instrumentos "parlantes" interpolando sonidos instrumentales con fragmentos hablados o cantados). Estos procesos son los equivalentes sonoros de los morphs en el terreno de la imagen digital). Ninguna de estas técnicas ha sido totalmente implementada todavía en tiempo real. La creciente potencia de los procesadores actuales (Pentium, etc.) va a cambiar en breve este panorama, con la implantación de métodos de síntesis por software en tiempo real. Actualmente, existen ya en el mercado varios programas para PC12, que emulan por software (y por una décima parte de su precio en hardware) las prestaciones de sintetizadores profesionales y que, lo único que requieren es el conversor D/A que se encuentra en cualquier tarjeta de sonido de 16 bits. La misma ya mencionada AWE64, implementadas por software algunas de sus nuevas prestaciones (el modelo físico). El futuro está al caer.
11Como el Yamaha VL1 o el Korg Prophecy. 12 Como el Virtual Sound Canvas VSC-550W de Roland, o Soft Synth de Yamaha.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
10. El hardware MIDI
10.1. Introducción Este capítulo se centra en la parafernalia de elementos que pueden integrar un equipo MIDI. Se estudiarán los diferentes aspectos que puede presentar un sintetizador o un sampler, qué son las cajas de ritmo, las estaciones de trabajo o los multiefectos digitales, así como otros elementos menos populares. Muchos de los dispositivos aquí descritos cubren necesidades profesionales por lo que es poco probable que el lector decida adquirir uno. De todos modos, creemos conveniente brindar un conocimiento de las diferentes modalidades de trabajo y configuraciones que el MIDI permite.
10.2. El teclado, el sintetizador y el módulo de sonido Los tres términos que forman el título de este apartado son utilizados popularmente con cierta falta de rigor, para designar elementos no siempre diferentes. Vulgarmente, se entiende por módulo de sonido el sintetizador que no dispone de teclado, mientras que se suele reservar la palabra sintetizador para designar al que sí lo incorpora. En cuanto al teclado, el pobre, nunca se sabe a ciencia cierta si lleva sintetizador (si suena) o no.
10.2.1. El módulo Una de las primeras aportaciones del MIDI, fue la de permitir la separación física entre el elemento de control y el elemento generador de sonido. Es por ello lógico que en cuanto en un equipo MIDI se dispone de un elemento que incorpora ya las dos partes, en la compra de futuros sintetizadores que amplíen la paleta sonora, se ahorre la parte de teclado que, por ser mecánica, encarece considerablemente el producto. Los módulos de sonido actuales (seguiremos utilizando este término a falta de uno mejor) son casi siempre multitímbricos de dieciséis canales. Sus precios pueden oscilar entre las 50.000 y las 500.000 ptas. dependiendo de la forma de síntesis utilizada (los samplers siempre son más caros), de la cantidad de sonidos que incorporen, de la cantidad de memoria y de otras prestaciones adicionales. Actualmente incorporan algunos efectos de procesado como reverberación y chorus. Los modelos más baratos poseen una calidad equiparable a las tarjetas de sonido de gama media-alta aunque, por el mismo precio, las tarjetas ofrecen más prestaciones, pues ahorran los gastos que suponen la caja, los botones y los pequeños leds que estos módulos suelen incorporar. Según su aspecto externo pueden ser de dos tipos: de sobremesa, más
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
económicos, y en rack, destinados a un sector más profesional. En la figura 10.1 se muestra uno de cada tipo. Los más caros suelen incorporan varias salidas de audio independientes, lo que flexibiliza mucho el proceso de mezclas final (esta es una característica que muy pocas tarjetas incorporan todavía). Por regla general, los fabricantes suelen sacar dos versiones de sus nuevos modelos, una con teclas y otra sin. Por ello no trataremos los sintetizadores por separado. Todo lo dicho hasta ahora es también aplicable a ellos. Un consejo final: si usted dispone (como es de suponer) de un PC, la adquisición de una tarjeta de sonido de gama alta le será más rentable. En este caso, la compra de un módulo sólo tiene sentido si se decanta por los modelos más caros, que ofrecen realmente prestaciones muy por encima de cualquier tarjeta.
Figura 10.1a. Módulo de sonido de sobremesa Figura 10.1b. Módulo en rack
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
10.2.2. El teclado maestro Esta es la designación correcta de un teclado que no posee sonido interno y que se utiliza sólo como instrumento controlador. Hasta hace poco, estos instrumentos eran bastante caros, pues poseían mecanismos que los situaban por encima de los teclados integrados en los sintetizadores. Estos modelos son "teclados para teclistas", con teclas más pesadas y sensibles al aftertouch (o postpulsación), que intentan imitar el tacto de los pianos acústicos. Hoy en día, el boom de las tarjetas de sonido ha abierto el mercado de los teclados maestros de gama baja. Si no dispone todavía de teclado, posiblemente decida adquirir uno de este tipo. Se venden en tiendas de informática y sus fabricantes son marcas más relacionadas con el multimedia que con el mercado musical. En este caso, debe ir con cuidado pues le pueden vender gato por liebre. Exija ante todo un teclado sensible a la velocidad; aunque no sea usted un gran teclista, notará la diferencia. Conviene recalcar que en este terreno, los vendedores de informática no siempre saben lo que tienen entre manos. Estos teclados no son más o menos sensibles ("éste es bastante sensible", me aseguraba un vendedor); ¡simplemente, lo son o no lo son!
10.3. Las cajas de ritmo Como su nombre sugiere, las cajas de ritmo son elementos destinados a reproducir exclusivamente sonidos de percusión. La tecnología que utilizan es casi invariablemente de muestras en ROM (son samplers sólo reproductores). Actualmente, al incorporar todos los sintetizadores y tarjetas de sonido una sección de percusión, su uso ha quedado relegado al sector más profesional, y especialmente en el campo de la música de baile o el techno, donde son elementos fundamentales, ya que sus prestaciones son obviamente superiores a las de cualquier sección de ritmo integrada en un sintetizador. Aunque es poco probable que se decida por un elemento de este tipo, conviene indicar algunas peculiaridades que las distinguen de los sintetizadores corrientes, y que han sido incorporadas también a las secciones rítmicas integradas, incluso a las que incorporan las tarjetas de sonido. A diferencia de lo que ocurre con un instrumento normal de sintetizador, en el que diferentes notas MIDI producen diferentes alturas del mismo instrumento, en las cajas de ritmo, cada nota dispara un sonido diferente. Inicialmente, cada fabricante tenía su mapa de sonidos particular, pero actualmente existe el estándar que se presenta en la tabla 10.1, que nos asegura que, por ejemplo, una nota MIDI 36 disparará siempre el sonido de un bombo.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87
High Q Sticks Bass Drum 2 Handclap High Floor Tom Low Mid Tom Ride Cymbal 1 Splash Cymbal Ride Cymbal 2 High Conga High Agogo Short Whistle Claves Cuica Jingle Bell Open Surdo
28 32 36 40 44 48 52 56 60 64 68 72 76 80 84
Slap Square Click Bass Drum 1 Electric Snare Pedal High Hat High Mid Tom Chinese Cymbal Cowbell High Bongo Low Conga Low Agogo Long Whistle High Wood Block Mute Triangle Belltree
29 33 37 41 45 49 53 57 61 65 69 73 77 81 85
Scratch Push Metronome Click Side Stick Low Floor Tom Low Tom Crash Cymbal 1 Ride Bell Crash Cymbal 2 Low Bongo High Timbale Cabasa Short Guiro Low Wood Block Triangle Castanets
30 34 38 42 46 50 54 58 62 66 70 74 78 82 86
Scratch Pull Metronome Bell Acoustic Snare Closed High Hat High Hat High Tom Tambourine Vibraslap Mute High Conga Low Timbale Maracas Long Guiro Mute Cuica Shaker Mute Surdo
Tabla 10.1. Mapa General MIDI de sonidos de percusión Otra particularidad es que, al utilizar sólo sonidos percusivos, las cajas de ritmo no contemplan el mensaje de Note Off (o de Note On con velocidad 0): todos los sonidos se emiten enteros, independientemente de que se reciban o no estos mensajes. Las cajas de ritmo disponen normalmente de varios kits de batería (rock, heavy, escobillas, techno, etc.), con sonidos diferentes (aunque con mapas comunes). Estos diferentes kits son accesibles a través de mensajes de cambio de programa (Program Change).
10.3.1. La percusión en el General MIDI y el General Standard En el apartado 7.14 se indicaba que todo dispositivo compatible General MIDI debe tener un kit de percusión accesible siempre desde el canal 10. Esto significa que cualquier nota que mandemos a este canal, activará un sonido de percusión, de acuerdo con el mapa de la tabla 10.1. El General MIDI define un único kit de percusión por lo que los mensajes de cambio de programa que mandemos al canal 10, no producirán absolutamente ningún efecto. El General Standard define en cambio los 8 kits de percusión indicados en la tabla 10.2., accesibles a través de cambio de programa. Conviene tener presente que todos estos kits, siguen respetando el mapa de sonidos indicado en la tabla 10.1.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Programa 1 9 17 25 26 33 41 49
Nombre Standard Room Power Electronic TR-808 Jazz Brush Orchestra
Descripción menos reverberación más contundente electrónica analógica electrónica típica techno muy similar a la standard escobillas percusión de orquesta
Tabla 10.2. Los diferentes kits de batería General Standard.
10.4. Las estaciones de trabajo Las estaciones de trabajo musicales (o workstations), son sintetizadores que incorporan todo lo necesario para funcionar de forma autónoma, como un estudio integrado. Suelen ser instrumentos potentes dotados de multiefectos, secuenciador, disquetera e incluso actualmente, conector SCSI. No son baratos, por lo que, si no sabe que hacer con su dinero, tal vez desee uno para los fines de semana en el campo; aunque un PC portátil con una buena tarjeta de sonido PCMCIA sin duda le resultará más rentable y mucho más versátil.
10.5. Las unidades de efectos digitales Aunque los sintetizadores y samplers actuales incorporan frecuentemente efectos como reverberación y chorus, esto no siempre ha sido así. Al lector, posiblemente el tema de la reverberación pueda parecerle un detalle sin importancia, pero dejaría de pensar lo mismo si pudiera escuchar algunas de sus grabaciones favoritas desprovistas de cualquier tipo de procesado final. Estos efectos, que conforman el último eslabón en la cadena MIDI, son tan imprescindibles para obtener una calidad profesional, que los estudios disponen invariablemente de varias unidades de este tipo. Aunque no tenga intención de adquirir uno en breve, es conveniente sabe como funcionan, pues poco a poco se irán incorporando a los ordenadores en forma de tarjetas. Estas unidades se componen normalmente de unos conversores A/D que digitalizan la señal analógica que les llega a la entrada, unos chips que procesan esta señal digitalmente (DSP), y unos conversores D/A que reconvierten la señal, a la salida. Ofrecen muchas más alternativas de procesado que la reverberación y el chorus (ecos, modulaciones varias, flanger, ecualización,
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
cambio de altura, etc.) y estos diferentes efectos, son accesibles vía MIDI, mediante mensajes de cambio de programa. En la mayoría de unidades modernas, los parámetros de estos efectos (tiempo de reverberación, número de ecos, frecuencia de la modulación, etc.) son asimismo modificables en tiempo real, mediante mensajes de cambio de control. Las unidades de efectos digitales son por tanto, dispositivos controlables vía MIDI, que en lugar de generar sonido, procesan y alteran el sonido que reciben. Como se ha indicado, los sintetizadores actuales incorporan algunos de estos efectos (casi siempre reverberación y chorus) que, sin ser tan flexibles, cumplen la papeleta. Lamentablemente, muchas tarjetas de sonido todavía no los incluyen. Si puede elegir, adquiera una que los posea, notará la diferencia. Aunque estos efectos incorporados en sintetizadores y tarjetas sean, hoy por hoy, menos flexibles que las unidades de efectos dedicadas, esto cambiará en breve, ya que en teoría -y especialmente en el caso de las tarjetas- ofrecen muchas más posibilidades. Por un lado, dado que estos sistemas trabajan directamente con la señal digital, se ahorran la doble conversión (A/D, D/A) evitando la degradación que se produce en estos casos. Por otro lado, si están incorporados dentro del ordenador, sus posibilidades de control directo pueden ser muy superiores. De hecho, si los efectos integrados no pueden competir todavía con las unidades dedicadas, es simplemente porque los chips DSP potentes siguen siendo caros.
10.6. Mergers, Thrus, y Patchbay Hemos visto en anteriores capítulos que el conector MIDI THRU permite encadenar varios dispositivos MIDI. Sin embargo, el número de conexiones disponibles de esta forma es limitado. Otro inconveniente de una configuración de estas características, es la complicación que supone modificar la disposición del mismo (por ejemplo cambiar de teclado controlador). Para minimizar este tipo de problemas existen varios dispositivos, de los cuales el MIDI Thru Box es el más utilizado.
Figura 10.2. Uso del MIDI Thru Box
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Un MIDI Thru Box consta de un conector MIDI IN, y varios conectores MIDI THRU. Su única función, como se aprecia en la figura 10.2 es la de redistribuir la información entrante, enviando una copia de la entrada a cada salida THRU. • El MIDI Merger es un sumador de entradas MIDI. Tal como se muestra en la figura 10.3. suele disponer de dos o más conectores IN y un conector OUT. Aunque existen mergers del tamaño de una cajetilla de tabaco, este dispositivo debe incorporar un procesador capaz de interpretar los mensajes MIDI, pues de lo contrario, la salida sería una combinación sin sentido de los bits de las diferentes fuentes. El MIDI merger se utiliza para secuenciar de forma simultánea a varios instrumentistas. En el terreno del PC, una posible alternativa al merger consiste en colocar varias tarjetas de sonido, ya que cada una dispone de un puerto de entrada independiente.
Figura 10.3. Uso del MIDI Merger • Podemos pensar en el MIDI Patchbay como en la generalización de los dos dispositivos anteriores, dado que consta de varias entradas y varias salidas MIDI configurables. El patchbay funciona como un controlador de tráfico, direccionando cada una de las entradas a la(s) salida(s) asignada(s), y su uso es obligado en todo estudio MIDI que disponga de un cierto número de dispositivos. En la mayoría de los casos, el patchbay se conecta al ordenador mediante una tarjeta especial, lo que permite un total control por software de los diversos mapas de entrada y salida.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
10.7. Controladores alternativos Aunque el teclado de tipo piano sea el controlador MIDI más utilizado, no es el único. Hace, de hecho, más de diez años que los instrumentistas no-teclistas no tienen por qué sentir envidia de las inmensas posibilidades del MIDI, ya que existe un amplio abanico de controladores inspirados en otros instrumentos. • Los controladores de percusión suelen constar de varios paneles de goma sensibles a la presión y activables mediante baquetas. La gama de elección va desde modelos muy sencillos y económicos destinados a un público juvenil1, hasta los equipos profesionales de Roland o KAT. • Las guitarras MIDI existentes ofrecen diferentes alternativas tecnológicas. Las más sencillas incorporan pequeños sensores en los trastes, las cuerdas y la púa, que funcionan como conmutadores. Para un sector más profesional, existen sensores adaptables a guitarras eléctricas tradicionales que analizan la vibración de cada cuerda. Estos últimos, permiten el uso conjunto del sonido “eléctrico” y el sonido MIDI. • Las tecnologías utilizadas en los violines MIDI son bastante similares a las de las guitarras y se aplican a toda la familia instrumental (violín, viola, violoncelo y contrabajo). • Los instrumentos de viento MIDI, detectan -mediante sensores de presión de aire- el soplo del instrumentista. Existen modelos con digitación y embocadura parecidas a las del saxofón (o del clarinete) 2 y otros para trompetistas. En la figura 10.4. se muestra el Digital Horn de Casio, un controlador de viento sencillo y económico, pero en absoluto despreciable.
Figura 10.4. El Digital Horn DH-100 de Casio 1. Existen modelos de baterías electrónicas “de juguete” por menos de 20.000 ptas., pero no todos incorporan MIDI. Si deseara adquirir uno de ellos fíjese bien en que disponga de MIDI OUT. No se preocupe si el instrumento suena mal (lo más probable), ya que normalmente no utilizará su sonido interno. 2. En este caso es posible detectar también la presión ejercida sobre la caña.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Los conversores de tono a MIDI son dispositivos que permiten convertir un micrófono convencional en un micrófono MIDI. Estos aparatos analizan el sonido entrante e intentan detectar su altura en tiempo real. Pueden ser herramientas creativas muy interesantes, aunque el excesivo margen de error con que trabajan los hace poco fiables. Actualmente están apareciendo programas que realizan este proceso por software y que sólo necesitan un micrófono conectado a cualquier tarjeta de sonido (véase el apartado 14.7). • Existen varios tipos de pedaleras MIDI. Las que consisten en una serie de interruptores activables con el pie, suelen ser utilizadas por los guitarristas para enviar mensajes de cambio de programa (al sintetizador o la unidad de efectos). Otras menos utilizadas, imitan las pedaleras de los órganos. • Para pianistas exigentes, existen auténticos pianos MIDI, que suenan aun estando "desenchufados", pero que incluyen la opción adicional de mandar y recibir mensajes MIDI3. Cuando reciben mensajes de Note On, sus teclas se hunden como si las estuviera pulsando el hombre invisible. Para estos instrumentos, se venden incluso disquetes con interpretaciones MIDI a cargo de pianistas famosos. Son lógicamente instrumentos muy caros.
10.7.1. “Midifique” su instrumento Aparte del caso más frecuente de las guitarras eléctricas, existen kits para "midificar" otros instrumentos convencionales, como pianos, órganos, acordeones, saxos o baterías. Suelen ser caros y muy difíciles de instalar ya que es necesario desmontar el instrumento. Una práctica más común, es la de "midificar" antiguos sintetizadores analógicos anteriores al estándar MIDI. Estos instrumentos, con unas cualidades sonoras particulares, son muy apreciados en estilos como el techno o la música de baile. Para ellos, existen conversores de MIDI a voltaje, que permiten controlar vía MIDI la mayoría de los parámetros del sintetizador.
10.8. Controladores no convencionales presentes y futuros El diseño de controladores MIDI no se limita únicamente a duplicar o "midificar" los instrumentos tradicionales. Aunque la mayoría de estos nuevos instrumentos todavía no se pueden adquirir comercialmente, es muy probable que en un futuro no muy lejano, los cambios en los instrumentos de control avancen parejos a la evolución de la música informática. Mientras esperamos el casco capaz de transformar en música nuestros pensamientos4, veamos cuales son algunos de los que se pueden utilizar actualmente.
3. Uno de los más populares es el Dysclavier de Yamaha. 4. Existen ya dispositivos como el Biomuse que convierten las ondas cerebrales en señales MIDI. Lo que no queda demasiado claro es la relación que pueda existir entre las "ideas" y la forma de estas ondas. .
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Las tecnologías empleadas derivan en muchos casos de las investigaciones que se desarrollan en el ámbito de la realidad virtual, aunque con un poco de imaginación y algunos conocimientos de electrónica es posible construir instrumentos sencillos y económicos pero muy eficaces. La piedra angular radica en el uso de sensores, capaces de convertir diversos estímulos en una señal eléctrica, y posteriormente en mensajes MIDI, con la ayuda de un microprocesador. En este sentido, se puede adquirir ya, desde mediados de 1996, el I-Cube Digitizer, un dispositivo que se conecta a un PC y que convierte en mensajes MIDI (programables por el usuario) cualquier señal procedente de un sensor compatible 5. Pero, ¿qué es lo que se puede detectar con la ayuda de sensores? He aquí algunos casos, fácilmente vinculables a actividades motrices humanas: • • • • • • • •
la posición de un punto, (una mano por ejemplo) en el espacio la orientación y la inclinación de un plano (por ejemplo la misma mano) la aceleración la proximidad (o la distancia entre dos puntos) la tensión muscular los movimientos oculares (permite detectar la dirección de la mirada) la curvatura de cada dedo (mediante un guante de realidad virtual) el tacto o la presión
Otros parámetros más generales: • la temperatura • la intensidad lumínica • la intensidad sonora Los sensores pueden actuar también en conjunción con instrumentos más tradicionales para ampliar sus capacidades expresivas. Un claro ejemplo de instrumentos híbridos, son los String Hyperinstruments desarrollados en el MIT de Boston. Construidos como violines o violoncelos de apariencia convencional, combinan la emisión de sonido amplificado (como haría cualquier violín eléctrico), con la detección de parámetros adicionales (como el ángulo de inclinación del arco, su presión sobre las cuerdas, los movimientos de la muñeca o del antebrazo, etc.) que permiten procesar y modificar este propio sonido. Por último, indicaremos que sin necesidad de soldador, pero con unos pocos conocimientos de programación se pueden convertir en instrumentos MIDI periféricos tan inocentes como un ratón o un joystick. En el apartado 15.5.4 se comenta un programa que utiliza el joystick, y en el capítulo 17,”Programación MIDI a bajo nivel”, realizaremos uno para enviar mensajes con el ratón. El resto, depende de la imaginación de cada uno.
5. El I-Cube System, dispone de 18 posibles entradas independientes, y cuesta aproximadamente 600 $, a los que hay que ir añadiendo el coste de los sensores.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
10.9. Aplicaciones extramusicales del MIDI Nunca insistiremos demasiado al afirmar que el MIDI es un protocolo que no sabe nada sobre música o sonido. El que los sintetizadores musicales comprendan sus mensajes, no significa que no lo puedan comprender otros dispositivos que a priori nada tienen que ver con la música. En este sentido, las aplicaciones más extendidas son el control de dispositivos como magnetoscopios de vídeo, grabadores de audio, mesas de mezclas, o mesas de luces. Para los tres primeros, existen unas especificaciones añadidas en 1992, denominadas MIDI Machine Control (MMC), que utilizan mensajes de sistema exclusivo. Para el control de luces, existe también una especificación especial, el MIDI Show Control (MSC). Cualquier mesa de luces compatible con el MSC podrá ser controlada por un secuenciador MIDI convenientemente programado, lo cual es muy cómodo en espectáculos teatrales o conciertos, especialmente, cuando parte de la música también está secuenciada, ya que entonces la sincronización entre música y luces será perfecta. Las extensiones de control estándares terminan aquí, pero no las posibilidades creativas o simplemente prácticas, ya que existen dispositivos especiales, capaces de abrir y cerrar relés o circuitos eléctricos mediante la recepción de determinados mensajes MIDI. Hace unos años estos aparatos se construían por encargo y no solían ser baratos, pero hoy en día algunos se pueden conseguir por cerca de 20.000 ptas. Esto abre un sinfín de posibilidades en instalaciones o performances multimedia, ya que permite a priori el control sobre cualquier máquina eléctrica (pequeños robots, electrodomésticos, etc.).
10.10. Resumen: elección del equipo Esperemos que haya quedado convencido de la variedad y diversidad de equipos y enfoques que ofrece el MIDI, pero, volvamos a poner los pies en la tierra. ¿Qué puede usted -que dispone sin duda de un ordenador y posiblemente también de una tarjeta de sonido- incorporar a su incipiente equipo MIDI? Por lo pronto, un teclado controlador parece la adquisición más razonable. Si opta por un modelo sencillo, de los que se encuentran en los establecimientos de informática, cerciórese de que sea sensible a la velocidad. Una de las ventajas del MIDI, radica en sus posibilidades de expansión, por lo que si con el tiempo, el MIDI le atrae m‡s y m‡s, siempre podrá ir incorporando nuevos elementos. Otra mejora importante puede consistir en ampliar las posibilidades de su tarjeta. Por ello en los dos próximos capítulos, tratamos a fondo el tema del ordenador y de las tarjetas de sonido.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
11. El ordenador MIDI y la tarjeta de sonido
11.1. Introducción Aunque el MIDI no fue concebido pensando en el ordenador, pronto se vio que la incorporación de este elemento potenciaba enormemente cualquier estudio MIDI. Por ello, su importancia no ha cesado de crecer a la par que han crecido su potencia y sus prestaciones. Un ordenador convenientemente equipado, es hoy capaz de emular casi cualquier prestación de un dispositivo hardware dedicado. Incluso tareas sofisticadas como la síntesis o el sampling son hoy realizables dentro del ordenador, por lo que es ya posible disponer de un estudio de características profesionales totalmente integrado en un PC (evidentemente, no en un PC cualquiera). En este capítulo trataremos los temas relacionados con el hardware informático, haciendo especial hincapié en las tarjetas de sonido y las posibilidades que ofrecen los diferentes tipos de tarjetas disponibles actualmente.
11.2. Un poco de historia El nacimiento del estándar MIDI, en 1983, coincidió prácticamente con la llegada de los primeros ordenadores personales que, por aquel entonces, solían incorporar entre 1 Kb y 48 Kb de memoria y carecían de disquetera. Pero incluso en un entorno tan poco propicio a los ojos de un usuario de hoy en día, aparecieron rápidamente los primeros programas MIDI, inicialmente en la forma de secuenciadores. Tras una segunda fase dominada en el terreno musical por el Commodore 64 y el Apple II, surgieron alrededor de 1985 las cuatro familias que han dominado la informática de consumo de los últimos diez años: los IBM compatibles, los Apple Macintosh, el Atari ST y en menor grado el Commodore Amiga. Como sucede frecuentemente a lo largo de la historia, los más versátiles y potentes tuvieron la peor suerte. El Amiga, el único que en aquella época incorporaba sonido digital, 12 bits de color y multitarea real, jamás acabó de triunfar salvo en el campo del vídeo digital y de los videojuegos. El PC se hizo con el trono indiscutible de la informática de gestión, pero sus limitaciones de memoria y sus escasas posibilidades gráficas dificultaban su uso en aplicaciones más artísticas. El Mac era una máquina bastante más cara, por lo que el campo del MIDI quedó al principio prácticamente copado por el Atari. Uno de los principales motivos de su éxito es que el Atari incorporaba de fábrica un interfaz MIDI, mientras que en todos los restantes sistemas era necesario añadirlo a posteriori (en realidad un interfaz MIDI sencillo podía rondar las 5.000 ptas.). Así, durante casi una década, el tándem AtariSteinberg1 fue prácticamente sinónimo de música por ordenador.
1Steinberg es la compañía de software creadora de los famosos secuenciadores PRO-24 y Cubase, que han
acompañado a toda una generación de músicos informáticos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
11.3. El interfaz MIDI La función del interfaz es la de transmitir los mensajes del ordenador al puerto MIDI OUT, y del puerto MIDI IN al protocolo requerido por el ordenador. En el Amiga y el Mac, los primeros interfaces MIDI más sencillos se conectaban directamente al puerto serie del ordenador, y consistían en poco más que una UART2 que controlaba la frecuencia de transmisión de las señales. Por problemas de velocidad en el puerto serie, el diseño de interfaces MIDI para los primeros PC compatibles (XTs con el procesador 8086 y 8088) fue algo más complicado, ya que hubo que recurrir a tarjetas internas. En los tiempos del MS-DOS, esto planteaba un problema similar al que ocurre con las tarjetas de sonido y los juegos (en modo MS-DOS), y es que cada tarjeta puede necesitar un driver diferente, por lo que la aplicación que quiera comunicarse con ella, difícilmente podrá contemplar todos los hardwares posibles. La solución fue también similar a lo que sucedió después con los juegos y la Sound Blaster: el interfaz MIDI más extendido se convirtió en un estándar de facto. Aunque, como se verá más adelante, en Windows esto ha dejado de ser un problema, todavía hoy se anuncian interfaces MIDI compatibles con el Roland MPU-401. Es importante recalcar que, aunque este interfaz y similares ofrecían más prestaciones MIDI que las que se incluyen en la mayoría de tarjetas de sonido actuales (varios puertos OUT, sincronía a cinta, etc.), sólo se dedicaban a transmitir información MIDI; no generaban sonido.
11.4. La historia continua (y II) El cambio de tendencia en el mercado de los ordenadores musicales comenzó a notarse a principios de los noventa, a causa de tres factores principales. Atari, que vivía prácticamente del mercado musical, fue olvidando las mejoras tecnológicas y se convirtió en poco tiempo en una máquina obsoleta (muchos modelos carecían de disco duro, la ampliación de memoria era cara y limitada, y las posibilidades de multitarea de su sistema operativo eran muy restringidas). Apple, por su parte, comenzó a bajar los precios de sus Macintosh, mientras que en los PC compatibles, Windows 3.1 supuso, junto a las ventajas en gestión de memoria, imagen y multitarea ya incorporadas en la versión 3.0, la integración definitiva de las extensiones multimedia en el sistema operativo. Con Windows 3.1, la fallida tentativa del Commodore Amiga por democratizar el sonido y la imagen digitales unos años atrás, era ya una realidad irreversible, y la informática de usuario se quedó con tan solo dos plataformas: los Mac y los compatibles.
2Universal Asynchronous Receiver Transmitter.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
11.5. El MIDI y la multitarea en Windows Con Windows 3.1 los programas no tienen que preocuparse ya de las particularidades del hardware instalado. Simplificando un poco, la idea es la siguiente: cada fabricante de periféricos añade su propio programa (driver) al entorno. Al ser el sistema multitarea, los restantes programas no necesitan comunicarse directamente con el hardware sino que lo hacen con estos drivers que funcionan como intermediarios. Pero la multitarea no se ha limitado a simplificar la vida de los programadores de software3. Una de sus principales ventajas es que permite la coexistencia de varios programas (siempre que cumplan ciertas normas de "educación")4. En el terreno del MIDI esto significa que un programa puede interceptar por ejemplo la entrada MIDI de un secuenciador, para filtrar o modificar los datos recibidos por el puerto MIDI IN, o que este mismo secuenciador puede repartir su salida entre varios puertos MIDI OUT (asociado cada uno a un driver diferente). Esto sucede, por ejemplo, cuando disponemos de varias tarjetas de sonido en nuestro ordenador: en la instalación, cada una añade uno o varios drivers, que al ser accesibles de forma independiente, nos posibilitan trabajar con varios grupos de dieciséis canales cada uno. Todo esto se tratará con mayor detalle en el capítulo 15,”El MIDI en Windows”.
11.6. Introducción a las tarjetas de sonido MIDI Finalmente les llega el turno a las tarjetas de sonido. Como se indicaba en el apartado 11.4, Windows 3.1 supuso el pistoletazo para el multimedia de consumo, y los CD-ROMs, las tarjetas de vídeo y las tarjetas de sonido, comenzaron a proliferar. Actualmente existen en el mercado decenas de tarjetas de sonido, de precios y prestaciones variados, lo que hace que la elección de un modelo en particular no sea una tarea fácil. Dado que en los primeros capítulos de este libro se ha tratado todo lo referente al audio digital, ahora nos centraremos en las características relacionadas con el MIDI, que son además las más variables. A pesar de sus diferencias, casi todas las tarjetas de sonido para PC comparten unas características mínimas comunes. • Un chip sintetizador controlable vía MIDI. • Dos pistas de audio digital para reproducción de ficheros .wav. • Una entrada de línea con un conversor A/D, para la digitalización de audio (creación de ficheros .wav).
3 En muchos otros aspectos, en realidad la ha complicado… 4Para ser precisos, la multitarea en Windows 3.1 dista bastante de ser perfecta, ya que un programa
"egoísta" puede obstinarse en acaparar la CPU, dejando colgados a los restantes programas más considerados. Este tipo de multitarea se denomina cooperativa, mientras que en la multitarea preemptiva que utilizan sistemas como Windows 95, es el sistema operativo el encargado de regular las actividades de las restantes aplicaciones.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Una salida de línea con un conversor D/A, que mezcla los sonidos MIDI con las dos pistas de audio. • Un conector de tipo joystick que cumple dos funciones: • incorporación de un joystick para juegos. • obtención de dos puertos MIDI IN y MIDI OUT con la ayuda de un cable especial. Sin este cable no será posible conectar un teclado al MIDI IN, o controlar un sintetizador externo desde el MIDI OUT5. Normalmente, el sintetizador interno y el MIDI OUT utilizan dos puertos (con dos drivers) independientes, lo que significa que, añadiendo el cable adecuado, se dispondrá de dieciséis canales MIDI internos, más dieciséis canales externos utilizables por otros sintetizadores. En la figura 11.1 se esquematiza una tarjeta genérica (algunas tarjetas ofrecen números diferentes de entradas o salidas) con el cable adaptador joystick/MIDI.
Figura 11.1. Salidas de una tarjeta de sonido genérica. Mucho han cambiado las cosas desde que surgieran, no hace tantos años, las primeras ADLIB y Sound Blaster y, aunque incluso la Sound Blaster más sencilla cumpla las características antes indicadas, no se la puede considerar como una tarjeta idónea para la música. En este sentido, conviene aclarar que todas las tarjetas iniciales, compatibles con el estándar MPC1, son poco menos que inútiles a la hora de componer o reproducir música.
11.6.1. ¿Qué se puede exigir a una tarjeta de sonido de calidad? O ¿qué condiciones debería satisfacer una buena tarjeta de sonido? Jugando un poco con las palabras, podríamos afirmar que “una buena tarjeta de sonido, es aquella que no parece lo que es”. Exponiéndolo de forma menos críptica, una buena tarjeta debería ser capaz de producir una música que, bien grabada, y escuchada en condiciones correctas (esto significa, 5 La mayoría de tarjetas no incorporan este cable de fábrica, por lo que es preciso comprarlo
separadamente. Aunque en principio todos deberían funcionar, al comprarlo asegúrese de que es compatible con su tarjeta.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
sobre todo, no en unos nefastos altavoces multimedia), no descubriera su humilde y multimediático origen. Con una buena tarjeta y con bastante maña, es posible grabar un disco o producir la música de un espectáculo. Y si uno no aspira a tanto, con una buena tarjeta, cuando enseñemos nuestra música a los amigos, no deberíamos escudarnos en el “bueno…es que lo he hecho todo con una tarjeta”, sino que deberíamos poder afirmar: “Pues si. Lo he hecho todo con la tarjeta de sonido de mi ordenador”.
11.6.2. Las especificaciones MPC1 y MPC2 Con la llegada de Windows 3.1, Microsoft estableció varias normativas y estándares para garantizar uno mínimos de calidad y funcionalidad en los ordenadores multimedia. Lo que ocurre es que, en lo referente al sonido, estos mínimos son realmente muy mínimos. En 1991, Microsoft publicó las especificaciones para el Multimedia PC de nivel 1 y de nivel 2, que imponen condiciones sobre el hardware en términos de velocidad del procesador, memoria RAM, capacidad del disco duro, velocidad del CD-ROM, colores y resolución gráfica y, como no, audio. Aquí nos referiremos sólo a este último concepto. • El estándar MPC1 tan sólo exige dos pistas de audio digital a 8 bits y 22 KHz, y seis notas MIDI simultáneas (de las cuales, dos, pueden ser de percusión) que pueden estar repartidas en cuatro canales MIDI (13, 14, 15 y 16, quedando éste último reservado a la percusión). Una tarjeta de sonido que satisfaga estas condiciones MIDI es lo que en Windows se suele denominar como “sintetizador multitímbrico base”. Con esto se puede jugar a marcianos, pero no llegar mucho más lejos. • El estándar MPC2 mejora poco las especificaciones MIDI, pues aunque amplía el sonido digital a 16 bits y 44 KHz (suficiente), deja el MIDI en seis notas más dos de percusión, pudiendo estar repartidas en diez canales (del 1 al 10, éste último para percusión). Exige, eso si, que mediante el cable correspondiente se pueda disponer de un puerto MIDI IN y un MIDI OUT. Esto es el “sintetizador multitímbrico extendido”. Los mínimos requeridos por el estándar MPC2 tampoco ofrecen grandes garantías, pero, dado que éste era hasta hace poco el estándar más alto, muchas tarjetas de calidad anteriores a 1995, que incluyen este logotipo en sus cajas, no pueden ser desechadas de antemano ya que, afortunadamente, muchos fabricantes fueron un poco más allá de los juegos, lanzando al mercado tarjetas compatibles con el General MIDI (24 voces y 16 canales, uno de ellos -el canal 10- de percusión). Pero el General MIDI no especifica nada sobre el método de síntesis utilizado, por lo que bastantes tarjetas GM todavía utilizan el económico chip de síntesis FM, que produce sonidos muy poco realistas.
11.7. El estándar MPC3 Este es actualmente el estándar más alto establecido para tarjetas de sonido multimedia, y no se publicó hasta febrero de 1996. Es prácticamente equivalente al estándar General MIDI que
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
se aplica desde 1992 a los sintetizadores y módulos de sonido, aunque incorpora particularidades específicas de las tarjetas de sonidos, como es el tema de las pistas de audio digital, ya incluidas en los estándares anteriores. A partir de aquí, una tarjeta de sonido debería ofrecer unas mínimas garantías de musicalidad. Asimismo, algunas tarjetas de calidad son anteriores a este estándar. En este caso suelen incorporar el logotipo General MIDI. Veamos cuales son las especificaciones mínimas que este estándar establece: • Audio de 16 bits. Atrás quedaron los 8 bits, pero conviene tener en cuenta que esta mayor resolución no es siempre sinónimo de calidad sonora, tal como se indicó en el apartado 3.3.“¿Por qué la calidad CD no es siempre calidad CD?”. En el sonido final, incide de forma muy notable toda la circuitería analógica (conversores D/A, preamplificadores, etc.) que pueden llegar a ensuciar terriblemente el sonido más cristalino. • Síntesis por tabla de ondas. Aunque muchas tarjetas siguen incluyendo de forma adicional el chip de síntesis FM, OPL3 de Yamaha, por razones de compatibilidad, está claro que la FM tiende a desaparecer. La síntesis por tabla de ondas no ofrece sin embargo una garantía ciega, pues la cantidad de memoria ROM disponible en la tarjeta incide directamente en la calidad de las muestras almacenadas. Lamentablemente, el estándar no especifica un tamaño mínimo de memoria, y muchas tarjetas ocultan esta información. Este valor suele oscilar entre los 512 Kb y los 4 Mb, y no debería hacer falta repetir que cuanta más memoria, mejor. • Multitímbrica de 16 voces. Tal como indica el General MIDI, el dispositivo debe ser capaz de responder a los dieciséis canales MIDI. El que sea compatible con GM indica además que el canal 10 queda reservado para las partes de batería. • Polifonía de 24 notas. Aunque este parámetro no incide directamente en la calidad del sonido, composiciones de una complejidad media necesitan este número de notas, e incluso más. Muchas tarjetas ofrecen de hecho una polifonía superior. Estas especificaciones descartan ya, para comenzar, la ubicua Sound Blaster 16 y todas sus clónicas, compatibles y misteriosas variantes OEM, basadas en el chip OPL3 de Yamaha 6. Pero esto no es suficiente para disponer de un sonido de calidad; existen otros parámetros a tener muy en cuenta a la hora de evaluar las prestaciones de una tarjeta seria.
11.8. Otros parámetros a tener en cuenta • Compatibilidad General Standard. Tal como se indicó en el apartado 7.15, el General Standard es una ampliación del GM que incorpora instrumentos adicionales, especialmente en lo que se refiere a las partes de percusión. Otra ampliación del GM lo constituye el XG de Yamaha, que de momento sólo está disponible en productos de este fabricante. Cualquiera de estas dos opciones adicionales ofrecen expectativas superiores. Muchas tarjetas informan del número de instrumentos de que disponen. El General MIDI establece 6 Si dispone usted de una Sound Blaster 16, no se estire de los pelos. En el apartado 11.9 se presentan
soluciones para este tipo de tarjetas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
•
•
•
•
•
•
un mínimo de 128 instrumentos más 69 sonidos de percusión, por lo que toda prestación superior puede considerarse como un valor añadido. Full duplex. Una tarjeta full duplex es capaz de grabar y reproducir simultáneamente audio digital. Aunque esto no tiene que ver con el MIDI, si queremos añadir pistas de audio (para voces, guitarra, saxo, etc.) a nuestras composiciones, ésta es una característica a tener muy en cuenta. En algunos casos se trata sólo de una cuestión de software, por lo que ciertas tarjetas que inicialmente no eran full duplex, pueden llegar a serlo actualizando tan solo los drivers. Las tarjetas full duplex permiten además la comunicación telefónica vía Internet, lo cual significa que podemos hablar con cualquier lugar del mundo, por el precio de una llamada local. Aunque esta utilización no se encuentra todavía muy extendida, es de esperar que se potencie en el futuro inmediato. De momento, las tarjetas full duplex ya se están anunciado como "compatibles con Internet", y casi todos los nuevos modelos, incorporan esta posibilidad. Efectos digitales. Tal como se indica en el apartado 10.5, la posibilidad de incluir reverberación a nuestras composiciones les confiere un acabado mucho más profesional. La mayoría de tarjetas que incorporan efectos incluyen únicamente reverberación y chorus, aunque algunas, como las tarjetas de Yamaha, incluyen una paleta de efectos impresionante. Algunas tarjetas incorporan un chip DSP de procesado de señal. Aunque éste no es imprescindible para la creación de efectos digitales, una tarjeta que lo incorpore ofrece teóricamente más posibilidades de tratamiento sonoro. En algunas tarjetas (como la AWE32) los efectos son únicamente aplicables al MIDI y no a las pistas de audio digital. Posibilidad de ampliación de RAM. Este parámetro tampoco incide directamente en la calidad sonora (ya que una tarjeta que sólo utilice ROM puede sonar mucho mejor que una que permita expandir la memoria) pero sí que amplia las posibilidades creativas, tal como se indicó en el apartado 9.6 dedicado a los samplers. Consideramos que esta distinción es tan importante, que en las tablas comparativas del siguiente capítulo hemos optado por estudiar por separado las tarjetas con RAM. El chip sintetizador que incorpora la tarjeta es determinante en la calidad sonora final, pero éste es, evidentemente, un parámetro muy difícil de evaluar. Muchas tarjetas incorporan chips de fabricantes de sintetizadores de reconocido prestigio en el mundo musical (E-mu, Roland, Yamaha, Korg, Ensoniq, Kurtzweil, etc.) y suelen indicarlo en las especificaciones. Una marca reconocida es siempre una garantía adicional; desconfíe de tarjetas de tablas de ondas clónicas. El software que acompaña a las tarjetas es también un factor a tener en cuenta. No se trata de sopesar la cantidad de programas (algunas ofrecen un montón de programas inútiles para un trabajo mínimamente serio), sino la calidad de éstos. A partir de ciertas prestaciones, las tarjetas suelen traer un secuenciador MIDI aprovechable 7, en muchos casos versiones reducidas de programas comerciales de primer orden. También se debe valorar la inclusión de un programa para edición de sonidos de tipo wave. Entrada y/o salida digitales. Al margen de las tarjetas profesionales que se comentan en el apartado 12.7, son muy pocas las tarjetas convencionales que incorporan salida digital, y ninguna (hasta el momento) incluye entrada digital. Una salida digital garantiza un sonido final mucho más limpio, pero sólo es aprovechable si se dispone de algún grabador con entrada digital como un DAT, un DCC o un MiniDisc. Si no posee ninguno de ellos, ni
7 En el capítulo 13,”El secuenciador”, se tratan con detalle estos programas.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
tiene intención de adquirirlos, éste es un factor que de momento no deberá importarle, pero que en un contexto profesional es muy recomendable. • El conector Wave Blaster. Algunas tarjetas incorporan en la placa un pequeño slot de expansión que permite la posterior incorporación de tarjetas "hijas" que amplíen las posibilidades sonoras iniciales. Una tarjeta con estas características ofrece mayores posibilidades de actualización, aunque si la calidad sonora inicial de la tarjeta es ya suficiente, posiblemente no necesite ampliarla nunca.
11.9. Las tarjetas de expansión compatibles Wave Blaster Una tarjeta hija (en inglés se denominan daughter board) no puede conectarse directamente a las ranuras de expansión del ordenador, sino que se coloca en la parte superior de una tarjeta de sonido “madre” compatible. La Sound Blaster 16 fue la primera tarjeta madre, es decir la primera que incorporó el conector de expansión Wave Blaster. Posteriormente, muchos otros modelos de diferentes fabricantes han optado por incluirlo, ya que las posibilidades de ampliación que ofrecen son tentadoras. Una tarjeta de gama baja con síntesis FM, puede competir, tras la adquisición de una tarjeta de expansión compatible (como las que se estudian en la tabla 12.3 del próximo capítulo), con la calidad sonora de las tarjetas más cualificadas. Si dispone usted ya de una Sound Blaster 16, posiblemente sea ésta una opción a tener muy en cuenta. El uso de esta expansión conlleva sin embargo un problema para aquellos usuarios que posean también dispositivos receptores MIDI externos (conectados al MIDI OUT del ordenador). Como ya se indicó, la mayoría de tarjetas instalan en Windows (3.x ó 95) dos drivers MIDI, uno dirigido al chip interno, y otro dirigido al puerto MIDI OUT. Este último driver es el que se utiliza también para activar los sonidos de la tarjeta de expansión. La consecuencia es clara: si disponemos de algún dispositivo externo conectado al MIDI OUT de nuestra tarjeta y también de una tarjeta de expansión, ambos dispositivos compartirán el mismo puerto lógico, por lo que inevitablemente sonarán de forma simultánea.
Figura 11.2. Dos tarjetas de expansión compatibles Wave Blaster
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
11.10. Conclusión Estudiadas las propiedades que caracterizan y distinguen a las tarjetas de sonido actuales, pasaremos a realizar en el próximo capítulo un estudio detallado con los modelos de calidad actualmente disponibles.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
12. Estudio comparativo de tarjetas de sonido
12.1. Introducción Habida cuenta de la velocidad con que se modifican, se retiran y se incorporan periféricos de este tipo, es realmente difícil realizar un estudio comparativo con los modelos disponibles actualmente, y pretender que siga siendo representativo dentro de unos meses. Aún así, hemos decidido correr este riesgo, incluyendo únicamente tarjetas de reconocido prestigio y buenas prestaciones, para las cuales, además, la esperanza de vida suele ser más larga. Para facilitar la elección y la consulta, hemos optado por tratar separadamente las tarjetas con y sin ampliación de RAM. Recuerde además que dado que cada tarjeta instala sus propios drivers, es perfectamente posible la instalación de varias tarjetas de sonido en un mismo ordenador, quedando este número limitado por los slots y las IRQs disponibles. Exceptuando los modelos de Creative Labs, la Gravis Ultrasound y, más recientemente, las tarjetas de la familia Maxi Sound, no espere encontrar los restantes modelos en tiendas de informática o de multimedia. Para adquirir cualquiera de ellos, deberá acudir a comercios de música especializados en MIDI. El multimedia avanza rápido. Por ello no incluimos en estos estudios tarjetas como la Logitech SoundMan Wave, la Media Vision Pro Audio Spectrum 16, la Orchid SoundWave o la Sound Galaxy Pro 16, que en la época de la Sound Blaster 16 tuvieron su momento, pero que no han sabido adaptarse a las nuevas generaciones.
12.2. Tarjetas sin ampliación de RAM Los precios de las tarjetas listadas en la tabla 12.1, se sitúan alrededor de las 30.000 ptas. Dentro de este grupo, las tarjetas más destacables por la calidad de sus sonidos, son sin duda los modelos de Roland y de Yamaha, dos marcas de reconocido prestigio en el sector de los sintetizadores profesionales. Ambas tarjetas están de hecho basadas en sintetizadores comerciales (el Roland Sound Canvas y el Yamaha MU50, respectivamente). Modelo Ensoniq SoundScape Elite Roland SCM-15 Turtle Beach TBS-2000 Yamaha SW60XG
ROM 2 Mb 4 Mb 2 Mb 4 Mb
Voces 32 28 32 32
Comp. GM GS GM XG
Efectos Si (DSP) Si Si Si (DSP)
Otros
No audio
Tabla 12.1. Tarjetas sin ampliación de RAM
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Si lo que desea es un buen sintetizador compatible General MIDI, y no quiere complicarse con las posibilidades añadidas que ofrecen los samplers (las tarjetas con ampliación de RAM), trate de escuchar cualquiera de ellas; quedará gratamente sorprendido. Hasta hace poco, Roland marcaba la pauta superior de calidad con sus tarjetas basadas en el famosísimo sintetizador Sound Canvas, pero desde principios de 1996, Yamaha parece haber tomado la delantera con la SW60XG, una tarjeta compatible XG que ofrece un sonido realmente impresionante y una excelente relación calidad/precio.
12.3. Tarjetas con ampliación de RAM Las tarjetas incluidas en la tabla 12.2, ofrecen las posibilidades de un sampler gracias a la incorporación de SIMMs de memoria RAM en la propia tarjeta. La mayoría utiliza todavía SIMMs de 30 contactos divididos en dos bancos. Todas las tarjetas aquí incluidas disponen también de memoria ROM como las del apartado anterior, y en ella almacenan los sonidos General MIDI. En la columna RAM se indica primero la memoria que traen de fábrica y, a continuación, la máxima memoria ampliable. Modelo Gravis Ultrasound PnP Pro Maxi Sound 32 Wave FX Maxi Sound 64 Home Studio Sound Blaster AWE32 Sound Blaster SB32 Sound Blaster AWE64 Sound Blaster AWE64 Gold Turtle Beach 2001 (Tropez Plus)
ROM Voces 1 Mb 32 1 Mb 32 4 Mb 64 1 Mb 32 1 Mb 32 1 Mb 64 4 Mb 64 4 Mb 32
Comp. RAM GM 512 Kb-8 Mb GS 0-2 Mb GS 0-16 Mb GS 512 Kb-28 Mb GM 0-28 Mb GS 512 Kb-28 Mb GS 4-28 Mb GM 512 Kb-12 Mb
Efectos Si No Si (DSP) Si (DSP) Si Si (DSP) Si (DSP) Si (DSP)
Tabla 12.2. Tarjetas con ampliación de RAM Los precios de estas tarjetas oscilan entre las 20.000 y las 40.000 ptas. En este grupo, la elección se complica bastante, ya que todas las tarjetas que permiten la ampliación de RAM cumplen sobradamente con el resto de requisitos de calidad. • Las tarjetas de Gravis (Ultrasound y Ultrasound Max) fueron las primeras en permitir la ampliación de memoria, y han tenido una gran difusión en estos últimos años, siendo especialmente populares entre los programadores. La nueva versión no parece haber evolucionado tanto como los modelos de la competencia. • Turtle Beach, uno de los más fabricantes con más prestigio, dispone de una amplia gama de tarjetas que se caracterizan siempre por su excelente calidad sonora (son, posiblemente, las tarjetas menos “ruidosas” del mercado). No todos sus modelos han sido incluidos en estas listas, por lo que, para evitar confusiones, citaremos brevemente los restantes. La Tropez y la Tropez 32 son las tarjetas más sencillas, con prestaciones inferiores a cualquiera de las otras de la tabla, razón por la cual hemos preferido no incluirlas en la lista. La Turtle Beach Tahiti es una tarjeta especializada para audio digital, que no incorpora Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
sintetizador MIDI aunque si incluye la posibilidad de expansión Wave Blaster. El modelo Maui, posee las características opuestas ya que no incluye las dos pistas de audio digital. En este sentido, la Tropez Plus incluida en la tabla es la combinación de estas dos últimas. La Turtle Beach Monterey, poseía características parecidas pero ha dejado de fabricarse. En cuanto al más reciente modelo de la serie, la Turtle Beach Pinnacle, se trata en el apartado 12.7,”Tarjetas profesionales con E/S digitales”. • Creative Labs también ofrece diversas variantes de la AWE32. Los modelos Value Edition, no incorporan posibilidad de ampliación de RAM, lo cual los hace mucho menos atractivos. La diferencia básica entre la SB32 y la AWE32 es que la primera se distribuye sin memoria RAM, pero es también ampliable. Si tenemos en cuenta que cualquier ampliación de memoria de la AWE32 anula los 512Kb iniciales, la alternativa SB32, más económica, es mucho más tentadora si pensamos ampliar la memoria de la tarjeta. Por ello y por su inmejorable relación calidad/precio (es el modelo más económico de la tabla), la SB32 es uno de las opciones más recomendables. Como contrapartida, conviene señalar que aunque las prestaciones de cualquier AWE con memoria ampliada son impresionantes, la calidad de sus sonidos en ROM es netamente inferior a la de cualquier otra tarjeta de la lista. Es muy probable que en un futuro muy próximo, Creative Labs deje de fabricar las tarjetas AWE32 en favor de los nuevos modelos AWE64, de mayores prestaciones. Junto a una polifonía superior, las dos AWE64 son las primeras tarjetas de sonido para ordenador que incorporan la síntesis por modelo físico (WaveGuide), una opción a tener muy en cuenta, ya que hasta ahora sólo la incluían unos pocos y costosos sintetizadores profesionales. Dentro de esta gama, las diferencias entre la AWE64 y la AWE64 Gold, estriban básicamente en la mayor memoria, así como en la muy mejorada calidad de sonido de la Gold (que podría muy bien estar incluida en el apartado de tarjetas profesionales). • De muy reciente aparición, la Maxi Sound 64 Home Studio es una tarjeta con unas cualidades excepcionales (sin duda la mejor de la tabla, junto con la AWE64 Gold). Además de las prestaciones aquí indicadas, esta tarjeta dispone de cuatro canales de audio digital (todas las restantes poseen sólo dos), un ecualizador de cuatro bandas, salida Surround y un amplio abanico de efectos. Incorpora además el mejor paquete de software que ha acompañado nunca a cualquier tarjeta, y con el que dispondrá de un auténtico estudio de sonido integrado, sin necesidad de ningún programa adicional1. Su novedad y su menor difusión plantean sin embargo mayores incógnitas sobre su futuro, que en los modelos de otros fabricantes. Tal como se trata en el siguiente apartado, difusión y compatibilidad son realmente factores importantes a la hora de adquirir una tarjeta con ampliación de RAM, y queda claro que estos dos aspectos favorecen especialmente a los modelos de Creative Labs. Si la economía es lo principal, la balanza también se inclinaría por la SB32 de Creative Labs. Si lo fundamental es la calidad y las prestaciones, los modelos a tener en cuenta son la Maxi Sound 64 Home Studio, la Turtle Beach Tropez Plus y la AWE64 Gold, aunque por no mucho más podría también adquirir la impresionante Turtle Beach Pinnacle, tratada en el apartado de las tarjetas profesionales.
1 Existe una versión algo más económica, la Maxi Sound 64 con las mismas prestaciones, pero que no
incluye este excelente software.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Suponiendo que haya ya elegido una de las tarjetas de la lista, tarea complicada, deberá tomar todavía otra decisión: ¿Cuanta memoria es recomendable ampliar? Al precio actual de los SIMMs, no parece necesario tener que regatear unos cuantos megas, por lo que 8 Mb parece una cifra razonable. Tenga en cuenta que dependiendo de la arquitectura de la tarjeta, la siguiente configuración posible puede estar en los 12, 16 ó directamente 28 Mb (como en el caso de las AWEs).
12.4. Los bancos de sonidos 12.4.1. Formatos de bancos de sonidos Toda tarjeta con ampliación de RAM utiliza forzosamente un formato de fichero especial para almacenar los bancos de sonidos que deberán cargarse en la memoria de la tarjeta. Estos bancos incluyen invariablemente un conjunto de ficheros de audio digital (normalmente a partir de ficheros de tipo .wav), junto con todos los parámetros requeridos para su combinación y manipulación desde el chip del sintetizador. Normalmente, el formato utilizado y el software necesario para gestionar estos ficheros, son exclusivos de cada tarjeta, pues todas ellas utilizan chips, parámetros y configuraciones diferentes. En el apartado 14.5. "Los editores de bancos de sonidos", se explica el funcionamiento de este tipo de programas; de momento sólo indicaremos algunas consideraciones relacionadas con la existencia de este tipo de ficheros. Dado el trabajo que supone la creación de un banco de sonidos de calidad profesional, un factor importante que puede potenciar enormemente el trabajo con una de estas tarjetas es la disponibilidad (en Internet, por ejemplo) de ficheros de este tipo. Lógicamente, cuanto más extendida esté una tarjeta, más fácil resultará encontrar bancos de sonidos compatibles. Actualmente, los tres formatos más extendidos son el E-mu SoundFont de la AWE, el WaveFront de las Turtle Beach y el de la Gravis Ultrasound, con una clara superioridad del primero. Esta ventaja puede verse ampliada en breve, a raíz de los intentos de Creative Labs y E-mu, una de los principales fabricantes mundiales de samplers, por establecer un nuevo formato estándar de bancos de sonido para ordenadores multimedia, el SoundFont 2.0.
12.4.2. La búsqueda de un formato estándar Esta idea es una lógica y deseable ampliación de la filosofía del General MIDI. Recordemos que éste último establece una paleta de sonidos estándar con 128 instrumentos y un kit de batería. Dado el permanente descenso de los precios de la memoria, es probable que en un futuro cercano la mayoría de tarjetas de sonido permitan la expansión de la memoria RAM. En este caso, sería muy recomendable que los ficheros MIDI que utilizasen sonidos propios no incluidos entre los 128 establecidos, pudiesen incorporar toda la información sobre estos sonidos adicionales, de forma que fuese comprensible para cualquier tarjeta, para que ésta pudiera cargarlos automáticamente en su memoria. La idea es similar a la de disponer de un formato de fuentes de texto universal, como el True Type, de forma que cada documento de
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
texto pueda incluir las fuentes que utiliza, si éstas no estuvieran entre las más comunes. Cuando esto sea posible para los bancos de sonido, las posibilidades sonoras de las aplicaciones multimedia (juegos, interactivos, etc.) se verán enormemente potenciadas. Hoy por hoy, este estándar no existe, pero no cabe duda de que el SoundFont 2.0, habida cuenta del poder de sus padrinos, es el principal candidato.
12.5. Tarjetas “hijas” compatibles Wave Blaster Si dispone ya de una tarjeta con posibilidad de expansión Wave Blaster, ésta es sin duda la alternativa de ampliación más rentable. Destinadas a mejorar las prestaciones de una tarjeta sencilla, por su orientación, todas las tarjetas “hijas” ofrecen sonido de calidad. La pionera en este campo fue la Wave Blaster de Creative Labs, que hoy ha quedado un tanto desfasada y ha sido sustituida por la Wave Blaster II, que no es sino una versión reducida de la AWE32, pero sin posibilidades de ampliación de memoria RAM. Lamentablemente, muy pocas tarjetas de este tipo admiten ampliación de memoria. Si desea una que le permita trabajar como sampler, deberá adquirir la excelente Turtle Beach Rio, que incluye 4Mb de memoria ROM y permite añadir hasta 4 Mb más de memoria RAM. Si por el contrario, el sampler no es un imperativo podrá elegir entre varios modelos ya que la mayoría de fabricantes ofrecen una alternativa a sus tarjetas estándar, en forma de tarjeta de expansión. Estas tarjetas incorporan las mismas características MIDI que sus hermanas mayores, pero carecen de las posibilidades de audio digital, ya que de esto se siguen encargando las tarjetas "madre" (i.e. Sound Blaster 16 o similar). Tarjeta de expansión Ensoniq Soundscape DB Maxi Korg Wave MIDI EFX-2000 DB Roland SCD-10 Roland SCD-15 Wave Blaster II Yamaha DB50XG
Modelo equivalente Ensoniq Soundscape Elite Maxi Sound 64 Home Studio No existe Roland SCM-10 Roland SCM-15 Sound Blaster AWE32 V.E. Yamaha SW60XG
Tabla 12.3. Tarjetas de expansión “hijas” De todas las incluidas en la tabla 12.3, la MIDI EFX-2000 DB, que incluye un chip del fabricante Kurzweil con 6 Mb de memoria ROM es la que mejor suena, pero es cara y difícil de conseguir. La alternativa más realista es la tarjeta de Yamaha, que ofrece un impresionante banco de 679 instrumentos y un amplio abanico de efectos digitales, por unas 25.000 ptas. Escúchela si puede.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
12.6. Tarjetas PCMCIA Si dispone usted de un ordenador portátil, las opciones son lamentablemente más reducidas, ya que actualmente existen todavía pocas tarjetas de sonido PCMCIA de calidad. La más recomendable es sin duda la Roland SPC-55, de características similares a la SCM-15 comentada en el apartado 12.2.. De momento, ninguna incorpora posibilidad de ampliación de RAM. Aunque no es una tarjeta PCMCIA, una alternativa que permite incorporar MIDI de calidad a un ordenador portátil, viene dada por la MU10XG Music Box de Yamaha, una caja del tamaño de una cinta de vídeo conectable directamente a un puerto serie del ordenador. Este dispositivo reúne todas las características MIDI de la DB50XG, que como ya hemos comentado, son impresionantes. Lamentablemente, no incorpora las dos pistas de audio que suelen estar presentes en todas las tarjetas.
12.7. Tarjetas profesionales con E/S digitales En un estudio profesional es imprescindible poder transferir información de audio del ordenador a un medio digital externo (como un DAT) y viceversa. Si este traspaso de información no se realiza digitalmente, cada transferencia ocasionará una inevitable perdida de calidad ya que la señal deberá pasar por dos conversiones forzosas (D/A y A/D). Para solventar este problema, algunas tarjetas especializadas disponen de entradas y salidas digitales. Con ellas es posible volcar la información almacenada en un DAT al ordenador, donde podrá ser editada y enviada de nuevo al DAT sin ninguna perdida. Algunas de estas tarjetas incluyen además el software necesario para utilizar un grabador DAT de audio como unidad de back-up. Estas tarjetas son difíciles de adquirir en España, si no es por encargo en tiendas especializadas en informática musical (o directamente en Internet), y sus precios originales oscilan entre los 500 y 1.500 $USA. No suelen cumplir los requisitos MPC de una tarjeta multimedia, ya que en su mayoría no incluyen siquiera sintetizador MIDI, por lo que deben complementarse con una tarjeta convencional. La única excepción la constituye la muy reciente Turtle Beach Multisound Pinnacle, la tarjeta más completa y versátil del mercado, ya que dispone además de 4 Mb de sonidos en ROM y su memoria RAM es ampliable hasta 48 Mb. Si lo que busca es el no va más en tarjetas de sonido, ésta debería ser su elección, sobre todo teniendo en cuenta que su precio no es superior a las restantes de la lista. A continuación se incluye una lista con los modelos más extendidos. • • • • • • •
Audiomedia III (Digidesign) Incluye además dos E/S analógicas adicionales. Digital Only Card (Digital Audio Lab). MultiSound Pinnacle (Turtle Beach) Sintetizador con 4 Mb de ROM ampliables a 48 Mb de RAM. E/S digitales con la tarjeta hija Pro Series I/O Daughter Board. MultiSound Fiji (Turtle Beach) A diferencia de la Pinnacle, no incluye MIDI aunque sí la expansión Wave Blaster. Las E/S digitales requieren también la expansión adicional Pro Series I/O Daughter Board. Multiwave Digital Pro (AbB). StudioCard (Antex) Dispone de 4 E/S digitales independientes. ZA2 (Zefiro Acoustic).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
La Audiomedia III combina varias E/S digitales y analógicas, e incluye un excelente software de grabación multipista que permite incluso la ecualización en tiempo real para cada canal. Su precio se sitúa alrededor de los 1000$ por lo que es una excelente alternativa a los equipos multipistas digitales que trataremos brevemente en el capítulo 18," Integración del MIDI y del audio digital". Con modelos de estas características, nos alejamos cada vez más de la filosofía de las tarjetas de sonido multimedia, para adentrarnos en el terreno de la post-producción de audio digital profesional.
12.7.1. La salida digital de la AWE32 Todas las tarjetas de la familia AWE32 incluyen una salida digital (no documentada) accesible desde la propia placa. Si dispone de una de estas tarjetas y de algún dispositivo de grabación digital como un DAT o un MiniDisc, posiblemente le interese sacarle partido. Para ello, basta con adaptar un cable a los dos jumpers apropiados y enchufarlo a la entrada digital S/PDIF del dispositivo grabador mediante el conector adecuado (normalmente un RCA). Si desea más información, podrá encontrarla en muchas páginas Web dedicadas a la AWE. Curiosamente, las primeras tarjetas AWE64 parecen haber eliminado esta posibilidad, salvo en el modelo Gold, en el que esta salida se incorpora ya de forma estándar por lo que no es preciso realizar ningún apaño. Lamentablemente, ninguna de ellas incluye todavía entrada digital.
12.8. Las tarjetas de interfaz MID I Como comentamos en el apartado 11.3., los primeros interfaces MIDI se limitaban a conectar los ordenadores con los sintetizadores, sin incorporar ninguna prestación sonora interna. Dado que todas las tarjetas actuales permiten ya esta conexión con la ayuda de un cable adicional, parecería lógico pensar que los interfaces MIDI "puros" han pasado a la historia, pero no es así. Algunas configuraciones requieren de interfaces especiales, ya sea porque se necesitan puertos MIDI adicionales, o para permitir la sincronización con otros dispositivos (magnetoscopios de vídeo, grabadores multipistas, etc.). Varios fabricantes, como Music Quest o Roland, siguen ofreciendo tarjetas con estas características. Si necesita sincronía SMPTE para controlar un magnetoscopio de vídeo (véase el apartado 18.4.3), pruebe la Music Quest MQX-32M, que incorpora además 2 MIDI OUT y 2 MIDI IN.
12.9. La síntesis por software La creciente potencia de los procesadores está abriendo las puertas a los sistemas de síntesis por software. Estos sistemas generan el sonido digital utilizando la CPU y la memoria del ordenador, y envían las ristras de números calculados, directamente al conversor D/A de la tarjeta de 16 bits. Sus principales ventajas radican en su economía y en sus posibilidades de ampliación y de actualización. El mayor inconveniente estriba en la potencia robada a la CPU,
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
que puede resultar crítica cuando el sistema trabaja en multitarea con otras aplicaciones voraces, como un secuenciador con pistas de audio, como los que trataremos en el apartado 18.6. De momento, estos sintetizadores virtuales no pueden ser todavía utilizados con pretensiones profesionales, pues limitan la frecuencia de muestreo a 22 KHz (cuando sería deseable que fuera de 44 KHz) y producen bastante ruido de fondo y distorsión, aunque es de esperar que estas limitaciones se vean superadas en breve. Algunos de estos programas de síntesis permiten configurar el máximo porcentaje de CPU utilizable, y si las necesidades del sintetizador exceden este valor, limitan automáticamente el número de sonidos simultáneos disponibles. En cualquier caso, la síntesis por software es una opción que irá a más. Y así lo deben de entender también los fabricantes de placas base que comienzan a incluir conversores D/A en algunos modelos. De momento, los dos primeros sintetizadores virtuales disponibles, acaban de llegar de la mano de los dos gigantes fabricantes de sintetizadores: Roland y Yamaha. Ambos exigen un Pentium con 8 Mb de memoria como mínimo y una tarjeta de sonido de 16 bits. • El Virtual Sound Canvas de Roland ofrece casi las mismas características que su hermano "real" con una sorprendente polifonía de hasta 128 voces. Dispone de 226 instrumentos, nueve kits de batería y ocho efectos diferentes, e incluye en el paquete, el secuenciador Cakewalk Express. Todo por menos de 80$ USA. ¿Demasiado bonito para ser cierto? Durante unos meses se puede obtener totalmente gratis una versión demo en las páginas Web de Roland. Eso sí, son varios megas, así que, paciencia. • El Soft Synth S-YG20 de Yamaha, que posee características parecidas, emula a la tarjeta SW60XG del mismo fabricante. Yamaha ha presentado también una versión más reducida especialmente orientada al MIDI en las páginas Web. Se pueden obtener versiones beta totalmente gratis de ambos programas, accediendo a las páginas de Yamaha. • También Creative anuncia por su parte el Creative Netsynth, pensado para Internet, por lo que de momento se distribuirá como plug-in para Netscape navigator 3.0 o Internet Explorer 3.0. Las exigencias de ordenador siguen siendo las mismas, pero parece que sólo funcionará con tarjetas compatibles Sound Blaster. Ofrece 64 notas de polifonía y varios efectos. Como novedad, conjuntamente con la síntesis por tabla de ondas, incorpora también síntesis por modelo físico (o WaveGuide) como la disponible en la nueva AWE64. Este plug-in está basado en el programa Reality de Seer Systems, otro sintetizador por software cuya última versión comercial se espera aparezca a principios de 1997, y que utiliza una tecnología desarrollada en la universidad de Stanford, uno de los centros de investigación punteros en el campo del audio digital. En los sintetizadores virtuales, desaparece la distinción entre sonidos en ROM y sonidos en RAM, ya que los sonidos se graban en el disco duro y se cargan en la RAM del ordenador cuando se requieren. En teoría, todos estos sintetizadores podrían pues soportar sonidos definidos por el usuario y funcionar como samplers, pero curiosamente, ninguno de los programas existentes contempla todavía esta posibilidad.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
12.10. Conclusión: requisitos de hardware No se trata de que tire su ordenador para comprarse un Pentium-Pro, pero sí que conviene tener claro hasta donde puede llegar con las prestaciones de su equipo actual, y cuales podrían ser las mejoras más inmediatas, en función, lógicamente, de sus necesidades y ambiciones. El MIDI consume pocos recursos, por lo que si no piensa recurrir de momento al audio digital, lo más importante es una buena tarjeta de sonido. El que incorpore RAM o no, depende de las preferencias de cada uno, y del estilo de música favorito. Para realizar, por ejemplo, música pop, new age o “orquestal”, el sampler no es tan necesario. Sí que lo es en el caso de una música más electrónica (techno, ambient, electroacústica, experimental, etc.). Si dispone ya de una tarjeta de sonido de tipo FM, pero que incorpora el conector Waveblaster (como la Sound Blaster 16), la mejora más rentable consiste en adquirir una buena tarjeta de expansión. En lo que al ordenador se refiere, dado que todas las aplicaciones nuevas están apareciendo mejoradas para Windows 95, no es necesario hacer música para pensar en actualizar el sistema operativo, si no lo ha hecho todavía. Windows 95 requiere más potencia que Windows 3.1, por lo que cualquier ordenador que soporte bien este sistema, será suficiente para hacer música con MIDI. Por otra parte, y aunque éste es un terreno muy novedoso, la síntesis por software tomará importancia en un futuro inmediato por lo que, cuanto más potente sea su ordenador, más partido le podrá sacar. El audio digital es un punto aparte. Como se verá en el apartado 18.6, los secuenciadores MIDI más recientes, permiten la inclusión de varias pistas de audio digital, en las que es posible grabar voces o cualquier otro instrumento (guitarras eléctricas, saxo, etc.), y combinarlas con las pistas MIDI. Utilizando esta técnica es ya prácticamente posible realizar en casa una grabación con calidad comercial. Pero el audio digital, sí que consume recursos (5 Mb por minuto en cada pista mono). En este caso necesitará un buen procesador (un Pentium 120 o superior), bastante memoria (16 Mb como mínimo), y un disco duro grande (1 o 2 Gb) y rápido (mínimo de 2 Mb/segundo de transferencia). Para lograr esta rapidez, hasta hace poco era muy aconsejable un disco duro SCSI. Hoy en día, los discos IDE (del tipo ATA2) que se incluyen con los nuevos equipos son perfectamente válidos. En cuanto tenga un tema completo con sus pistas de audio correspondientes, y haya llenado la mitad de su disco duro, se dará cuenta de que también es imprescindible un disco removible como un IOMEGA ZIP (100 Mb) o mejor aún, un JAZ (1 Gb), pero esto ya son palabras mayores. En el capítulo anterior se han tratado los periféricos MIDI. Los periféricos no informáticos (altavoces, amplificador, etc.), serán considerados en el apartado 18.7,”Componentes analógicos en un estudio musical basado en ordenador”.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
13. El secuenciador
13.1. Introducción De todas las aplicaciones y actividades relacionadas con el MIDI, la secuenciación fue la primera en aparecer, y sigue siendo hoy, la más popular. Esto hace que el secuenciador sea sin duda, después de los propios instrumentos (o la tarjeta de sonido), la pieza más importante de todo estudio MIDI. Estén basados en hardware o en software (alternativa más frecuente), sean más o menos sofisticados, todos los secuenciadores comparten como mínimo las mismas funciones básicas: grabar, editar y reproducir mensajes MIDI. Al margen de estas prestaciones imprescindibles, cada secuenciador ofrece un inmenso abanico de posibilidades adicionales y particularidades, lo que hace que los precios de los secuenciadores por software puedan oscilar, por ejemplo, entre el shareware y las 100.000 ptas. En este capítulo estudiaremos los principios fundamentales de la secuenciación, le ayudaremos a comprender y a sacar el máximo partido de su secuenciador, y a elegir uno si todavía no dispone de él.
13.2. Principios básicos de la secuenciación Aunque un secuenciador MIDI mantiene muchas analogías y conceptos heredados de los equipos de grabación audio multipista, debemos tener claro que éste no graba sonido, sino mensajes MIDI, como los introducidos por un instrumentista desde el teclado de un sintetizador. Podemos pensar en un secuenciador como una caja negra que en modo grabación (record) recibe mensajes MIDI y los va almacenando ordenadamente, colocándoles sendas etiquetas con el instante preciso de recepción de cada uno de estos mensajes. De esta forma, cuanto el secuenciador se coloca en modo de reproducción (play), su reloj interno va observando los mensajes almacenados, dejándolos salir cada vez que su etiqueta coincida con la hora actual.
13.3 Resolución temporal Si en el audio digital, para obtener una calidad profesional es necesaria una frecuencia de muestreo de 44 KHz, esta resolución no necesita ni mucho menos ser tan precisa en el terreno del MIDI. ¿Cada cuanto es necesario etiquetar los mensajes, para obtener una digitalización precisa de la interpretación de un músico? No existe una respuesta unívoca a esta pregunta, aunque sí podemos indicar que en los secuenciadores iniciales (1983-1985), esta resolución
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
solía ser de 1/24 de negra1, y que actualmente muchos secuenciadores ofrecen resoluciones de varios centenares de unidades por negra2. La mayoría de secuenciadores ofrecen la opción de que nosotros mismos elijamos la resolución entre varios posibles valores. En este sentido, aunque estos números no deben de preocuparnos demasiado, cabe indicar que no conviene elegir una resolución superior a la que nuestra música necesite, pues de lo contrario estaremos forzando inútilmente nuestro ordenador. Así, por ejemplo, una música con solos tipo Chick Corea en la que los matices de interpretación temporal son importantes, necesitará mayor resolución que un tema de bakalao. En la mayoría de los casos, a no ser que seamos unos virtuosísimos pianistas, una resolución de 120 será más que suficiente. Aunque pueda parecer confuso el hecho de que el reloj del secuenciador dependa del tempo de la pieza, esto facilita enormemente el cambio de tempo, incluso en tiempo real, opción siempre disponible en cualquier secuenciador.
13.4. Secuenciación por software vs. secuenciación por hardware Aunque el nacimiento del MIDI coincide prácticamente con la llegada de los primeros ordenadores personales, para los que no tardaron en aparecer interfaces MIDI y sencillos programas de secuenciación, la escasa potencia y limitada seguridad de aquellas máquinas3, favoreció inicialmente la proliferación de secuenciadores por hardware, especialmente en aplicaciones más profesionales. Si hace diez años, estas unidades dedicadas, ofrecían mayor potencia y fiabilidad que cualquier ordenador, en la actualidad, cuando dieciséis megabytes de RAM y un gigabyte de disco duro se han convertido en características normales, es obvio que la importancia de este tipo de equipos ha disminuido notablemente (aunque su menor tamaño y su rapidez de manejo hace que todavía se utilicen a veces para el directo). Actualmente algunos sintetizadores (los denominados workstations o estaciones de trabajo) incorporan asimismo un pequeño secuenciador que les permite trabajar con autonomía, sin la necesidad de un ordenador. Aunque estos secuenciadores pueden ser cómodos en algunos casos (viajes, etc.), sus posibilidades son realmente limitadas. Por ello, a partir de este punto, a no ser que se indique explícitamente lo contrario, cuando se utilice el término secuenciador nos estaremos refiriendo a una aplicación software para un ordenador personal. Las posibilidades que ofrecen los actuales programas secuenciadores eran, desde luego, impensables hace diez años, y crecen a la par que en tantos otros terrenos de la informática de 1 En una pieza musical grabada a un tempo de 60 (i.e. 60 negras por minuto), una resolución de 1/24 de
negra corresponde a 1/24 de segundo (24 Hz), mientras que un tempo doble (120) requiere una resolución de 1/48 de segundo (48 Hz). 2 En la mayoría de los secuenciadores son frecuentes resoluciones máximas de 480 pulsaciones por negra.
En este caso, considerando también un tempo extremo de 240 b.p.m, es decir 240 negras por minuto, o lo que es lo mismo, 4 negras por segundo, la frecuencia de muestreo valdrá 1920 Hz (4 x 480). 3 Estamos hablando de ordenadores con 16, 48 o, a lo sumo, 64 Kb de memoria, inicialmente incluso sin
disquetera (los datos se almacenaban en cassettes convencionales), como el VIC 20, los Spectrum o el Commodore 64.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
consumo, por lo que sería imposible tratarlas todas. Nos centraremos por ello en los conceptos, aspectos y prestaciones más importantes, que no pueden faltar en ningún paquete, sea cual sea su precio.
13.5. Pistas y canales Todos los secuenciadores utilizan el concepto de pista, inspirado en el de sus predecesores, las grabadoras multipista de audio. Sin embargo, aunque cada pista vaya normalmente asociada a un canal MIDI, estos dos conceptos no se deben confundir. Sabemos que el número de canales MIDI (y por consiguiente, el de posibles instrumentos simultáneos) es de dieciséis; sin embargo, la mayoría de secuenciadores nos ofrecen varias decenas o incluso varios centenares de pistas. Mientras el de canal, es un concepto físico que viene impuesto por la propia especificación del MIDI, el de pista es un concepto lógico que cada programa puede utilizar y redefinir a su gusto, pues hace únicamente referencia al modo en que el programa almacena, muestra y permite manipular la información. Por regla general, y aunque éste no deba ser el principal criterio de elección, podemos considerar que cuantas más pistas nos ofrezca un secuenciador mejor, pues gozaremos de mayor flexibilidad a la hora de componer y arreglar una pieza. En el apartado 13.11 indicaremos algunos trucos referentes al uso y distribución de pistas. En las figuras 13.1 y 13.2, podemos comparar el aspecto que ofrecen las ventanas principales de dos de los secuenciadores más utilizados en Windows.
Figura 13.1 Aspecto general del secuenciador Cakewalk Professional • • • • • • • • • • •
A Nombres de las pistas. B Bancos e instrumentos o programas asignados a cada pista. C Puerto asignado a cada pista. D Canal MIDI asignado a cada pista. E Volumen inicial aplicable a cada pista. F Indicadores de pista activada. G Visualización esquemática de los compases. H Indicador del tempo de la pieza. I Controles de grabación, reproducción, avance y rebobinado. J Posiciones para punch-in y punch-out. K Indicador de posición actual (compás:tiempo:pulsación).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 13.2 Aspecto general del secuenciador Orchestrator Plus En ambos casos, se observa que cada pista dispone de ciertas propiedades (configurables por el usuario), como son un nombre, un canal MIDI, un sonido (o programa), y que cada una de ellas puede estar activada o desactivada para la reproducción, lo cual es muy cómodo a la hora de escuchar aisladamente determinadas partes de un tema. Los recuadros oscuros en la parte derecha indican los compases que contienen información MIDI.
13.6. Soporte multipuerto En el terreno profesional, los dieciséis canales que ofrece el MIDI, frecuentemente se quedan cortos ante arreglos y orquestaciones complejos que requieren de más instrumentos simultáneos. Para solventar esta limitación, algunos fabricantes de interfaces MIDI para Macintosh empezaron a diseñar, a principios de los noventa, interfaces con soporte multipuerto, que permitían multiplicar por dos, tres, cuatro o incluso más, los dieciséis canales iniciales. Paralelamente, los secuenciadores MIDI para Macintosh, comenzaron a contemplar esta posibilidad, añadiendo a cada pista un parámetro adicional (el puerto) al de canal ya existente. Como es costumbre, los PCs y Windows, han democratizado (no sin cierto retraso) la resolución del problema. Aunque este tema se tratará con más detalle en el capítulo 15, "El MIDI en Windows 95", podemos adelantar que cada tarjeta de sonido instalada bajo Windows, incorpora al sistema uno o varios drivers MIDI. Cada uno de estos drivers corresponde a un puerto lógico y es capaz de direccionar por consiguiente dieciséis canales MIDI independientes. Algunas de estas tarjetas, como la Sound Blaster AWE32, instalan nada menos que tres drivers MIDI, ¡por lo que una tarjeta de estas características permite referenciar sin mayor esfuerzo cuarenta y ocho canales MIDI simultáneos! Afortunadamente, todos los secuenciadores para Windows soportan esta característica, y son capaces de dirigirse a cualquiera de los drivers instalados en el sistema. Para ello, cada pista incluye junto a la especificación de canal, un parámetro adicional correspondiente al puerto que al ser activado, muestra una lista con los nombres de los dispositivos instalados, para que podamos seleccionar uno. En el apartado 15.4 volveremos a tratar este tema.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
13.7. Grabación e introducción de la información En un secuenciador MIDI, la información suele grabarse en una sola pista a la vez, pudiendo estar las restantes pistas ya grabadas, activadas para su reproducción o no.
13.7.1. Ajuste del tempo Antes de grabar la primera pista, conviene establecer el tempo de la pieza; aunque más adelante podremos modificar este tempo tantas veces como queramos, a la hora de tocar desde el teclado debemos tener este tempo muy presente. Para ello, en posición de grabación, todos los secuenciadores generan una claqueta audible, a modo de metrónomo. En ocasiones, puede suceder que tengamos el tempo en la cabeza, pero no sepamos con precisión a que valor numérico corresponde. Para ello, la mayoría de secuenciadores disponen de una utilidad que nos permite establecer este tempo interactivamente, pulsando repetidas veces una tecla del ordenador o mediante varios clics del ratón. Hay que señalar que tampoco estamos obligados a que el tempo seleccionado para la grabación deba coincidir con el tempo final de la pieza. Esto significa que si un pasaje es especialmente complicado, o si nuestra destreza pianística deja bastante que desear, siempre podemos elegir un tempo inferior, y acelerar la pieza posteriormente. Esta es una de las ventajas que ofrece el MIDI a los músicos inexpertos, aunque como iremos viendo, ¡no es ni mucho menos la más importante! Como se verá más adelante el tempo podrá también variar a lo largo de una misma pieza, tanto de forma brusca como progresiva.
13.7.2. Elección del instrumento o programa MIDI Una vez seleccionado este tempo, elegimos un instrumento o programa, lo que nos determinará el tipo de sonido asociado a esta pista. Si deseamos seleccionar un instrumento de entre las lista de General MIDI, el valor en la columna correspondiente al banco debe estar a cero. Para facilitar la elección del instrumento, los secuenciadores suelen disponer en cada pista, de listas desplegables con los nombres de los 128 programas que componen el General MIDI. Conviene recordar que la calidad de estos sonidos es totalmente independiente del software secuenciador, y depende exclusivamente de la tarjeta de sonido o sintetizador que tengamos conectado. Asimismo, la elección de este instrumento (flauta, violín, etc.) no supone ningún compromiso para el resto del tema, pues este parámetro es modificable en cualquier momento posterior; bastará con desplegar de nuevo la lista y seleccionar un nuevo valor. Debe tener siempre presente que aunque disponga de un número ilimitado de pistas, el número de canales sigue siendo dieciséis, por lo que la elección de un instrumento en una pista dada, ¡afectará a todas las pistas con las que ésta comparta puerto y canal! Eso significa que en tan solo una, de entre todas las pistas asignadas a un mismo canal, es necesario indicar el
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
instrumento, o que, en el caso de que se desee indicar en todas, este instrumento deberá coincidir en todas ellas. Cambios de programa en bancos no General MIDI Si el instrumento deseado no fuera uno de la lista General MIDI (porque disponemos por ejemplo de una tarjeta con ampliación de RAM y queremos utilizar un instrumento incluido en un banco de usuario) habrá que indicar también el número de banco en la columna correspondiente. Por defecto este valor está a cero ya que es el banco correspondiente al modo General MIDI. También deberemos indicar un número de banco adicional (normalmente entre 1 y 8) cuando queramos acceder a un instrumento o efecto de sonido General Standard, suponiendo que la tarjeta o sintetizador sea compatible con este modo. Consultando la lista de variaciones y efectos de sonido GS en las tablas 7.2 y 7.3, podemos observar por ejemplo, que para acceder al efecto de sonido GS “portazo” debemos seleccionar el banco 3 y el programa 124. Algunos secuenciadores permiten editar los nombres de los instrumentos asociados a diferentes bancos, de forma que, igual que ocurre con el modo General MIDI, podremos acceder a cada instrumento por un nombre mnemotécnico. En cualquier caso, esto es sólo una ayuda para el usuario, ya que, a fin de cuentas, el ordenador seguirá manejando los programas mediante números de 0 a 127.
13.7.3. Orden de grabación de pistas La pista por la que comenzar a grabar depende del tipo de música, y de las preferencias de cada uno. Así, en ciertas músicas eminentemente rítmicas, es frecuente comenzar con una o varias pistas de batería, mientras que en otra ocasión, un tema puede irse desarrollando alrededor de una línea melódica inicial. Conviene recordar que de acuerdo con el estándar General MIDI, la batería suena siempre por el canal 10, de modo que cuando queramos grabar una pista de percusión, la pista seleccionada deberá asignarse forzosamente a este canal. Para iniciar la grabación todos los secuenciadores disponen siempre de una barra de herramientas que imita los botones de una grabadora convencional, y que incluye como mínimo los botones de grabación, reproducción, avance rápido y rebobinado.
13.7.4. Primeras correcciones Supongamos que se ha grabado ya una pista. Es muy probable que el resultado no sea todavía perfecto. Para corregirlo dispone de muchas opciones. La más obvia consiste en realizar una nueva toma, y aquí es donde un secuenciador con muchas pistas nos puede ser de gran ayuda, ya que para esta nueva toma no es necesario borrar la anterior; basta con seleccionar una nueva pista de grabación, desactivando la reproducción de la anterior. Más adelante, cuando esté convencido del resultado, podrá eliminar las pistas sobrantes o crear incluso una pista definitiva a base de cortar y pegar diferentes fragmentos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Es posible también que tan solo un pequeño fragmento de lo que acaba de grabar esté francamente mal. En este caso, todos los secuenciadores ofrecen las opciones de punch in y punch out, que permiten pinchar y sobregrabar automáticamente sólo en algún fragmento incorrecto. Para ello, bastará con indicar los compases que quiera corregir, e iniciar la reproducción en el punto de la pieza que le sea más cómodo, teniendo en cuenta que sólo se grabarán los mensajes recibidos durante los compases indicados. Finalmente, para los que no se sientan demasiado a gusto ante un teclado musical, o para aquellos fragmentos que revistan una dificultad especial, siempre queda la opción de grabar paso a paso, consistente en ir introduciendo las notas una a una, desde el teclado musical, e ir avanzando con la ayuda del ratón o del teclado del ordenador. Las posibilidades no terminan aquí, ya que existen muchas otras alternativas para introducir o corregir la información; las iremos viendo en los apartados siguientes.
13.8. Sistemas de visualización Los primeros secuenciadores ofrecían pocas alternativas a la hora de visualizar la información MIDI contenida en sus pistas. Hoy en día, ninguno desprecia las posibilidades gráficas de los sistemas operativos actuales. Aunque cada secuenciador tiene sus pequeñas peculiaridades, casi todos incorporan con ligeras variaciones tres formas básicas para visualizar y modificar esta información: la lista de eventos, la pianola y la partitura convencional. Salvo excepciones, estas ventanas de visualización sólo nos permitirán acceder a la información de una pista a la vez.
13.8.1. La lista de eventos La figura 13.3 muestra una lista de eventos en Cakewalk. La lista de eventos es la forma más parca, pero también la más precisa de acceder a la información MIDI contenida en una pista. En ella, se visualizan en modo texto y ordenados temporalmente, todos los mensajes MIDI que la integran. Cada mensaje ocupa una línea en la que se indica el tipo de mensaje (nota, programa, control, etc.), el canal, sus correspondientes valores, y su etiqueta de tiempo, que suele estar en el formato compás:tiempo:pulsación4.
4 donde tiempo oscila normalmente entre 1 y 4 (si el compás fuese de 4x4) y pulsación entre 0 y resolución-
1.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 13.3. Lista de eventos en Cakewalk
Figura 13.4. Eventos correlativos Para ayudarle a comprender esta nomenclatura, en la figura 13.4 se muestran algunos valores de tiempo correlativos, para un compás de 4x4 (esto es, cuatro tiempos por compás) y una resolución MIDI de 120 pulsaciones/negra. La información sobre las alturas de las notas, aparece siempre en nomenclatura sajona, cuyas equivalencias se incluyen en la siguiente tabla. Do C
Re D
Mi E
Fa F
Sol G
La A
Si B
La lista de eventos es la forma de visualización que incorporaban los primeros secuenciadores por software, y suele ser la única que muestra toda la información MIDI almacenada, pues las formas restantes filtran esta información en mayor o menor parte. En ella podemos observar
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
no sólo las notas, sino también todos los controles, cambios de programa y otros mensajes contenidos en la pista seleccionada. Desde esta ventana podemos modificar cualquier parámetro así como eliminar o insertar nuevos eventos con una absoluta precisión. Utilizar la lista de eventos para insertar muchos eventos MIDI suele resultar engorroso; es sin embargo una ventana ideal para insertar eventos esporádicos. Veamos algunas aplicaciones : Controles : Aunque la mayoría de secuenciadores ofrecen alternativas a la hora de introducir y editar eventos de control, la lista de eventos sigue siendo la elección ideal cuando deseemos añadir un único control en un lugar preciso, como modificar el volumen (Control 7) o la reverberación de un canal (Control 91). Por último, insistiremos nuevamente en algo que el usuario novel frecuentemente olvida: un evento (control, cambio de programa, etc.), no solo afecta a la pista en la que se halla, sino a todas las que utilizan el mismo canal MIDI (y el mismo puerto, si es que hubiera varios), y este principio básico se aplica siempre, independientemente de la forma de visualización con la que estemos trabajando. Cambios de programa : Aunque al iniciar una pista podemos indicar el programa (instrumento) inicial, nada nos impide cambiar de instrumento a lo largo de su desarrollo. Para ello, basta con insertar en el instante oportuno un evento de cambio de programa con los valores deseados. En la figura 13.5, se muestra un fragmento de la lista de la figura 13.3, después de haber insertado un cambio de programa en el instante 4:0:0. De esta forma, cuando la secuencia llegue a este punto, el instrumento del canal 1 pasará a ser una flauta. Sabemos que los mensajes de cambio de banco se realizan con el control 0. Por ello, cuando queramos acceder a un programa guardado en otro banco que no sea el defecto, deberemos insertar dos mensajes: Control 0 con el número de banco y a continuación cambio de programa con el número del instrumento. Este banco quedará asociado al canal, hasta que seleccionemos un nuevo valor, por lo que si deseásemos seleccionar posteriormente un sonido General MIDI, deberemos volver a insertar un mensaje de Control 0, con el valor 0 (valor asociado al banco GM), antes del nuevo cambio de programa.
Figura 13.5. Inserción de un evento de cambio de programa Algunos secuenciadores como Cakewalk, simplifican esta labor tratando el mensaje de cambio de programa con dos parámetros. En este caso, el primer parámetro indica el banco, mientras que el segundo corresponde efectivamente al número de programa. Consulte el manual de su secuenciador, para obtener ayuda al respecto. Una “nota” sobre las notas: En todos los modos de visualización (y el estudiado hasta el momento no es una excepción), las notas siempre poseen una duración, cuando sabemos que
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
el concepto de duración no es propio del MIDI. Lo que ocurre, es que para facilitar la tarea del compositor, los secuenciadores emparejan automáticamente los mensajes de Note On con sus correspondientes mensajes de Note Off (o de Note On con velocidad cero), mostrando en pantalla la duración calculada.
13.8.2. La pianola En la pianola (piano roll en inglés), las notas son representadas gráficamente, tal como se aprecia en la figura 13.6 como rectángulos de longitud variable, lo que evoca los rollos utilizados antiguamente en las pianolas mecánicas. En esta representación, el tiempo suele transcurrir horizontalmente y de izquierda a derecha, mientras que la posición vertical del rectángulo viene determinada por la altura MIDI de la nota. La pianola incorpora siempre iconos de zoom, que permiten modificar la resolución horizontal (tiempo) y vertical (alturas), para una visión más o menos precisa.
Figura 13.6. La ventana de pianola • • • • •
A Herramientas de edición B Indicador de alturas C Notas D Velocidades asociadas a cada nota E Zoom
Esta representación es muy intuitiva -especialmente para aquellos que no dominan la escritura musical tradicional- y permite fáciles modificaciones : es posible arrastrar horizontalmente las notas, (con lo que modificamos su instante de ataque), alargarlas o acortarlas (para modificar por consiguiente su duración), o desplazarlas verticalmente (y alterar su altura). También es posible eliminar o añadir nuevas notas, con lo cual esta forma de visualización se convierte en una alternativa de grabación, a veces más eficaz que la secuenciación paso a paso. Como contrapartida, en este modo, la mayoría de secuenciadores tan sólo permiten visualizar notas, filtrando los otros eventos tales como mensajes de control o de cambio de programa.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 13.7. El canal de percusión en la ventana de pianola El canal 10, que de acuerdo con el General MIDI queda reservado para la percusión suele tener un aspecto ligeramente diferente, tal como se observa en la figura 13.7. Dado que la duración de las notas de percusión no es relevante, en lugar de rectángulos de longitudes variables se visualizan pequeños rombos o cuadrados de tamaño fijo. En el lado izquierdo aparecen además los nombres de los sonidos de percusión General MIDI, correspondientes a cada altura.
13.8.3. La partitura Como es de suponer y, tal como se observa en la figura 13.8, en este modo, la información de una pista se visualiza en notación musical tradicional. La mayoría de lo indicado en el apartado anterior para la pianola, sigue siendo válido; desde la partitura es posible aplicar diferentes modificaciones a las notas y, aunque normalmente la ventana de pianola ofrece mayor flexibilidad, ésta será posiblemente una de las ventanas favoritas de los músicos con una formación tradicional. Esta forma de visualización comporta normalmente numerosas opciones adicionales que no están presentes en las otras alternativas, ya que hacen referencia a las diferentes formas en que el programa puede presentar al usuario la partitura en pantalla (sin que ello conlleve la modificación de los datos MIDI representados).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 13.8. La ventana de partitura Aún para el usuario que no domine la escritura musical, este modo le puede ser de utilidad a la hora de imprimir partituras de los temas compuestos. Aunque existen -como se verá en el próximo capítulo "Otros tipos de software MIDI"- programas especialmente diseñados para la edición de partituras, en la mayoría de casos sencillos, la impresión obtenida directamente a partir del secuenciador puede resultar suficiente. Algunos secuenciadores sencillos no soportan sin embargo esta opción de impresión de partituras.
13.8.4. Otras formas de visualización Algunos secuenciadores ofrecen alternativas adicionales para visualizar y modificar la información. Una forma muy cómoda incluida en el secuenciador Cakewalk es la visualización de controles, que aparece en la figura 13.9, y que permite definir, con la ayuda del ratón, la evolución temporal de cualquier control. Esto es por ejemplo de gran utilidad para establecer fundidos (variación progresiva del volumen).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 13.9. Ventana de edición de controles En la misma línea, muchos programas permiten dibujar mapas de tempo, permitiendo que el tempo varíe de forma progresiva en diferentes fragmentos de la pieza. Muchos secuenciadores incorporan también una ventana mezclador como el que aparece en la figura 13.10 que emula a una mesa de mezclas de 16 canales (uno para cada canal MIDI), y desde la cual es posible introducir cambios de volumen (control 7) y de posición panorámica (control 10) en tiempo real.
Figura 13.10. Ventana mezclador
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
13.9. Funciones básicas de edición Todos sabemos lo complicado que puede resultar a veces programar un vídeo o una impresora, debido principalmente a los pocos botones de que disponen y al reducido tamaño de sus interfaces gráficos. En los secuenciadores por hardware, las posibilidades de edición se encontraban muy limitadas por estas mismas razones; limitaciones que desaparecen lógicamente ante un programa bien diseñado y con un buen interfaz gráfico. Para aplicar cualquier proceso de modificación, primero es necesario seleccionar un fragmento de la pieza. En un secuenciador, esto se puede conseguir desde diferentes lugares del programa. Desde la ventana principal, es posible seleccionar determinado número de compases, o una o varias pistas enteras. Si se precisa mayor precisión temporal (por ejemplo solo los dos últimos tiempos de un compás dado) normalmente se deberá llevar a cabo la selección desde una de las tres ventanas de visualización tratadas en el apartado anterior. Muchos secuenciadores disponen también de filtros que permiten seleccionar solo determinado tipo de eventos dentro del fragmento seleccionado (sólo las notas, o solo los controles de volumen, o las notas por encima de determinado valor, etc.). Realizada la selección se podrá proceder a aplicar el tratamiento deseado. Veamos algunos de los más frecuentes : • Copiar, cortar y pegar : los secuenciadores MIDI no podían ser menos que cualquier otro tipo de aplicación software. El pegar requiere sin embargo de algunas aclaraciones adicionales. Tras seleccionar y copiar (o cortar) un fragmento, colocar el cursor en el lugar de destino y activar pegar, la mayoría de los secuenciadores nos plantean varias disyuntivas : ¿sobreescribir, mezclar o insertar ? En efecto, si bien superponer capas de texto no tiene ningún sentido, la información MIDI que deseemos añadir puede convivir perfectamente con la que se encuentra ya en la posición destino. Esta sería la alternativa mezclar. Insertar es lo que hace un procesador de texto cuando pegamos sin tener seleccionado ningún fragmento en destino; en este caso, todos los eventos situados a la derecha se desplazan para ceder espacio para la inserción. Sobreescribir es lo que hace el mismo procesador de texto, cuando en destino sí se ha seleccionado un fragmento. Hay que tener en cuenta que tanto el desplazamiento como la sobreescritura afectan únicamente a la pista en la que se está trabajando. • Desplazar, permite adelantar o atrasar en el tiempo el fragmento seleccionado. • Modificar duración, permite comprimir o expandir temporalmente el fragmento. Dado que se maneja únicamente información MIDI, a diferencia de lo que sucede con el audio digital, esta modificación no conlleva ninguna variación de altura. • Transportar, desplaza todas las notas del fragmento en el número indicado de semitonos. • Cambiar velocidad, se puede utilizar normalmente tanto para asignar velocidades constantes, como para modificar proporcionalmente las velocidades del fragmento.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Cuantizar, permite corregir de diferentes formas el inicio y la duración de las notas del fragmento. Por su particular importancia y su versatilidad, le dedicamos un apartado completo.
13.10. Cuantización Errar es humano, e incluso el instrumentista más diestro, al interpretar una pieza desplaza ligeramente las notas de su teórica posición perfecta. En muchos casos, estas pequeñas desviaciones no sólo no molestan, sino que enriquecen la música, humanizándola. En otros casos, sin embargo, ya sea porque el error es demasiado notorio, o porque el tipo de música aconseja un tiempo rígido y exacto, es recomendable cuantizar.
Figuras 13.11a y 11b. Colocación de varias notas en la pianola, antes y después de cuantizar a negras el fragmento Cuantizar supone, tal como se aprecia en la figura 13.11, desplazar las posiciones iniciales y finales de cada nota para que coincidan con una rejilla temporal preestablecida. En este caso se ha optado por cuantizar a negras. Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Los secuenciadores ofrecen sin embargo varias opciones a la hora de aplicar este comando. En la figura 13.12, se muestra la caja de dialogo con las opciones de cuantización del programa Cakewalk.
Figura 13.12. Opciones de cuantización en el programa Cakewalk • El valor de cuantización (A) determina el tamaño de la retícula, y suele indicarse con valores musicales (blanca, negra, corchea, semicorchea, tresillo de corchea, etc.). • Cuantizar ataque y/o duración (B y C) nos permite modificar solo la posición inicial de la nota o también su posición final. • El porcentaje de cuantización (D) produce, para valores inferiores a 100, cuantizaciones no perfectas, que aunque mejoran el material original, no lo deshumanizan totalmente. Algunos secuenciadores ofrecen opciones adicionales más avanzadas como pueden ser cuantizar con swing (E), cuantizar con retículas irregulares que el usuario puede definir o cargar a partir de ficheros5 (Groove Quantize), márgenes máximos y mínimos fuera de los cuales la nota no es corregida, etc. En cualquier caso, la cuantización es una herramienta muy potente, con la que conviene experimentar y probar diferentes ajustes.
13.11. El Standard MIDI File
5 En este sentido, se comercializan ficheros especiales (suelen tener la extensión .dna) que contienen
retículas de cuantización predefinidas para diversos estilos musicales y que han sido programadas por músicos de estudio.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Llegada la hora de salvar el trabajo realizado, todos los secuenciadores disponen de dos formatos alternativos : el nativo de la aplicación y el Standard MIDI File6. Utilice el formato nativo mientras trabaje únicamente con su secuenciador. Sálvelo en el formato estándar cuando desee llevarlo a otra aplicación MIDI, reproducirlo desde el reproductor multimedia de Windows, entregárselo a otra persona o bien distribuirlo. Cuando en 1983 se creó la especificación MIDI no se definió ningún formato de fichero de intercambio, por lo que cada secuenciador optó por definir el suyo propio. Por este motivo, durante los primeros años era prácticamente imposible pasar la información generada en un secuenciador a otro programa aunque compartieran la misma plataforma. La única alternativa consistía en conectar dos ordenadores vía MIDI, colocando el primero en posición de reproducción y el segundo en posición de grabación7. Dado que ningún programa, por completo que éste sea, es capaz de incluir todas las prestaciones posibles, en 1988 se decidió crear un formato de intercambio. Así surge el Standard MIDI File o fichero MIDI estándar. Hoy en día todos los secuenciadores lo soportan, aunque dadas las peculiaridades de cada paquete, casi todos optan por seguir utilizando también un formato nativo, que se adapte mejor a su personalidad. El formato estándar incorpora también en el fichero información no intrínsecamente MIDI, como pueda ser los nombres de las pistas, el tempo variable, etc., pero aún así, es posible que cierta información contenida en el formato nativo desaparezca en el proceso de conversión. Por ello, no es aconsejable utilizarlo hasta que una pieza esté totalmente terminada. El Standard MIDI File facilita el intercambio de ficheros MIDI entre usuarios, e Internet cuenta con miles de estos ficheros, de todos los tipos y para todos los gustos. Composiciones originales, versiones de temas famosos (pop, rock, jazz, clásicos, etc.) están esperando a que los encontremos con la ayuda de un buen buscador. ¡Tenga en cuenta que comenzar con un nuevo “remix” de nuestra pieza favorita, puede ser una de las formas menos traumáticas de iniciarse en el mundo del MIDI!
13.12. Algunos trucos de secuenciación El lector habrá sin duda comenzado a intuir que los secuenciadores son programas completísimos que no se pueden sintetizar en pocas páginas, máxime teniendo en cuenta que nos estamos refiriendo aquí a un secuenciador ideal que engloba características de los principales modelos del mercado. En lugar de saturarle con más opciones y posibilidades, en este apartado aconsejamos algunos trucos y consejos que puede aplicar con lo que ya conoce.
6 En Windows, los ficheros en formato Standard MIDI File utilizan la extensión .mid u ocasionalmente .smf.
Existen en realidad, tres variantes de fichero standard, denominadas formato 0, formato 1 y formato 2. El formato 0, guarda toda la información en una única pista multicanal, mientras que el formato 1, que soporta la estructura multipistas, es el más extendido y el que todos los programas utilizan por defecto. El formato 2, más sofisticado, no es utilizado de momento por casi ningún programa. 7 En este caso, el programa grabador se coloca en posición de esclavo. Consultar el capítulo referente a
sincronía MIDI, para más detalles.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• Guarde las tomas alternativas. Aunque una toma no sea perfecta y se disponga a regrabarla, siempre es aconsejable guardar la anterior y desactivarla. Más adelante, la pista definitiva tal vez se componga de fragmentos de las diferentes tomas. • Duplique las pistas que va a modificar. Si se dispone a efectuar exhaustivos procesos de edición, es conveniente guardar la pista original, y no borrarla hasta que esté convencido del resultado obtenido. • Experimente con diferentes cuantizaciones. En ocasiones, diferentes cuantizaciones aportan caracteres insospechados a un fragmento. En pistas de percusión, la superposición de una misma pista cuantizada a diferentes valores (por ejemplo, con y sin tresillos) produce a veces resultados sorprendentes. • Divida la batería en varias pistas. Si secuencia la batería en varias fases (primero el bombo, después la caja, etc.) el mantener estas pistas separadas facilita la edición y los retoques (cuantizar sólo el bombo, etc.) • Cuidado con la polifonía. Tanto las tarjetas de sonido como los sintetizadores, disponen de un número limitado de notas simultáneas, que es fácil superar si nos despistamos. Dado que la mayoría de estos aparatos, en caso de saturación, dan prioridad a la batería y después a los canales más bajos (1,2,3…), es aconsejable asignar estos canales a los instrumentos más importantes (la melodía, la línea de bajo, etc.) de modo que, si alguna nota no se pudiera reproducir, no sea una de las fundamentales. • Utilice bucles. Si un fragmento de pocos compases se repite muchas veces, no es necesario que copie y pegue la información. La mayoría de secuenciadores permiten aplicar bucles o loops a algunas de las pistas, ahorrando así tiempo y memoria. • Utilice controles. Los controles MIDI (volumen, panorámica, reverberación, etc.), enriquecen cualquier secuencia y le añaden expresividad. Aproveche las opciones de edición de controles de su secuenciador. • Guarde estos controles en pistas independientes. No es necesario que los controles compartan pista con las notas a las que se aplican (basta con que ambas pistas compartan el canal), y el tenerlos separados agiliza la modificación de cualquier pieza. Recuerde además que si varias pistas que contienen controles, son asignadas a un único canal es fácil que se produzcan mensajes contradictorios. • Estudie, copie, manipule, "triture" ficheros estándar que le parezcan interesantes8. Aprenderá sin darse cuenta, música y MIDI a la vez. • Utilice la imaginación. El conocimiento del código MIDI y de las posibilidades de su secuenciador ayudan a disparar la imaginación y la creatividad. Por ejemplo, si duplica una pista, la retarda ligeramente (unas décimas de segundos) y disminuye su velocidad, al combinarla con la original puede obtener interesantes efectos de eco. Experimente. Esperamos que este capítulo le haya ayudado a comprender el funcionamiento de estos programas y a desvanecer el aura misteriosa que los rodea así como el temor que suelen infundir a los principiantes. Antes de terminar le daremos algunos consejos a tener en cuenta a la hora de adquirir un programa secuenciador.
8Estos consejos tan sólo son válidos si su trabajo no ha de ser publicado. En caso contrario, tendrá que ir
con cuidado con los copyrights.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
13.13. Como elegir un secuenciador Actualmente existe en el mercado un amplio número de secuenciadores para Windows (aunque no todos cuenten con actualizaciones de 32 bits para Windows 95), de precios y prestaciones variados. Si usted dispone ya de una tarjeta de sonido de gama media o alta, es posible que en el software que la acompañaba se incluyera también un secuenciador. En este caso, aunque obviamente no será uno de los programas más sofisticados, será sin duda suficiente para comenzar. Más adelante podrá calibrar con mayor conocimiento de causa la conveniencia de adquirir otro programa más potente. Tres programas nada despreciables que acostumbran a venir con algunas tarjetas de sonido son MIDI Orchestrator Plus de Voyectra, Cakewalk Express de Cakewalk y Cubasis de Steinberg. Los tres constituyen opciones muy dignas que incluyen además la posibilidad de actualización a sus respectivos hermanos mayores por un precio razonable. Si no dispone todavía de ningún secuenciador, existen algunos más que entrarían en este mismo sector, como Master Tracks Pro de Passport, Micro Logic de Emagic o el nuevo Procyon Pro de Goldstar (junto con MIDI Orchestrator Pro, el más económico del grupo). Estos seis secuenciadores pueden de hecho satisfacer sobradamente las necesidades de cualquier músico informático aficionado, y aunque cada uno tiene sus peculiaridades, sus diferencias no son demasiado importantes. Los productos de Voyectra y de Steinberg son tal vez los más sencillos, mientras que el de Emagic es el que dispone de un edición de partituras más completa, que lo acerca a los editores de partituras tratados en el próximo capítulo. Sus precios oscilan aproximadamente entre las 15.000 y las 25.000 ptas., lo cual sin ser demasiado, no deja de plantearnos una duda : existen tarjetas de sonido de gama media-alta que incluyen alguno de estos paquetes por precios no superiores a las 30.000 ó 35.000 ptas. Una alternativa a tener muy en cuenta en este caso, es la adquisición de un secuenciador como Winjammer, que dispone de una versión shareware, fácilmente localizable en Internet, y que se puede registrar por unos 50 $ USA. En los secuenciadores de gama más alta, los precios iniciales se sitúan alrededor de las 40.000 ptas. A diferencia de los programas citados previamente, todas las nuevas versiones están actualizadas a Windows 95, y, lo que es más importante, todos ellos permiten, desde principios de 1996, la integración de MIDI y audio digital, lo que abre nuevas y excitantes posibilidades. Por este motivo hablaremos de ellos en el apartado 18.6.4, del capítulo dedicado a la “Integración del MIDI y el audio digital". Dado que ya están comenzando a aparecer programas que integran estas posibilidades a precios bastante asequibles, le aconsejamos de hecho que espere a leer ese capítulo, antes de tomar ninguna decisión.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
14. Otros tipos de software MIDI
14.1. Introducción Aunque el secuenciador sea la piedra angular de todo sistema MIDI, la potencia y versatilidad de los ordenadores ha promovido muchos otros tipos de aplicaciones. En este capítulo describiremos algunas de ellas, relacionadas todas con el MIDI.
14.2. Programas de aprendizaje y educación musical La enseñanza asistida por ordenador ofrece inmensas posibilidades, y sin duda el terreno musical es uno de sus campos más notorios. Existen muchos programas que aprovechan el MIDI para enseñar conceptos musicales, desde los niveles más básicos a los más avanzados. En el nivel más básico, un programa de educación del oído nos puede enseñar a reconocer intervalos musicales, acordes, o escalas (el ordenador emite una serie de notas correlativas o simultáneas y el alumno debe indicar el intervalo o el acorde emitido). Muchos de estos programas permiten guardar bases de datos con los perfiles y los avances de los usuarios, para poder ir aumentando la dificultad de forma paulatina y adaptarse al ritmo de aprendizaje de cada uno. Aunque la mayoría pueden funcionar sin teclado MIDI, el disponer de uno, aumenta el número de posibilidades, con, por ejemplo, ejercicios de ritmo, de lectura o de reconocimiento y reproducción de frases musicales. Otros programas están más orientados al aprendizaje del instrumento, con ejercicios progresivos sobre el teclado. En el nivel inicial, es por ejemplo frecuente que la partitura que aparezca en pantalla se acompañe con la imagen de un teclado al que se le van encendiendo las notas que se deben pulsar, pero no existe límite teórico a la posible complejidad de estos ejercicios. Tras nuestra interpretación, estos programas indican los errores e imprecisiones cometidos, incitándonos a repetir determinadas partes o ejercicios. La figura 14.1 muestra un aspecto del programa The Miracle Teacher. Si desea mejorar sus aptitudes musicales, este tipo de aplicaciones le serán sin duda de gran ayuda, y dado que existen muchas versiones shareware no se verá obligado a realizar un gran desembolso.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 14.1. The Miracle Teacher
14.3. Edición de partituras Aunque la mayoría de secuenciadores actuales permiten mostrar la información MIDI en forma de notación tradicional, hace unos años esto no era tan frecuente, por lo que había que utilizar programas especializados. Aún hoy, cuando se necesita producir partituras con calidad profesional para su posterior impresión, es imprescindible recurrir a ellos. Los primeros intentos por escribir partituras con la ayuda del ordenador son bastante anteriores al MIDI, y las primeras utilizaciones para la producción de partituras comerciales datan de finales de los setenta. Hoy en día, todos estos programas aceptan ficheros MIDI estándar, pero también permiten trabajar directamente sobre la partitura con la ayuda del ratón, como si de un programa de diseño se tratara. En cierta forma, los programas de edición de partituras son al secuenciador, lo que los programas de autoedición son al procesador de textos (los programas de autoedición pueden partir de un texto inicial, para enriquecerlo y disponerlo sobre la página de muy variadas formas). Y al igual que ocurre en el campo del texto y la imagen, cada editor de partituras presenta un enfoque un tanto particular. Algunos se alejan mucho del secuenciador, y no son ni siquiera capaces de reproducir la partitura vía MIDI, mientras que otros incluyen realmente los dos enfoques en un único programa. No podemos considerar que unos sean mejores que los otros; cubren simplemente necesidades diferentes. En cualquier caso, la conversión de MIDI a partitura presenta muchas dificultades, especialmente si el fichero MIDI no está convenientemente cuantizado. Y aun así, no espere que el tema que acaba de secuenciar, ofrezca automáticamente un aspecto óptimo sobre el
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
papel: si desea una calidad profesional serán necesarios muchos retoques. Otro problema con que se enfrentan este tipo de programas es la variedad de símbolos, notaciones y matices interpretativos o expresivos que se utilizan en la escritura musical, la mayoría de los cuales no tienen una clara contrapartida MIDI. Estas carencias se acrecientan en el caso de la música clásica contemporánea, que utiliza un conjunto de símbolos muy superior, a veces incluso, propios de cada compositor. El programa idóneo a utilizar dependerá de las necesidades de cada uno. Si desea hacer una transcripción sencilla de una pieza, secuenciada o no, en un estilo próximo al pop o al jazz, los programas más sencillos serán suficientes; incluso bastará en muchos casos, los pequeños editores que hoy incorporan la mayoría de los secuenciadores. Si por el contrario, se trata de una composición orquestal o de cámara, necesitará alguno de los programas más sofisticados. Dada la complejidad de estos programas, no es frecuente encontrar aplicaciones shareware; más bien acostumbran a ser bastante caros. En la figura 14.2 se muestra el aspecto de dos de los editores de partituras más completos, Encore de Passport Designs y Finale de Coda.
Figura 14.2. Encore y Finale, dos editores de partituras
14.4. Librerías de sonido y editores de sintetizadores Aunque todos los sintetizadores actuales disponen de un amplio banco de sonidos preprogramados, muchos permiten también modificar algunos de los parámetros de estos sonidos (envolvente, modulación, etc.) y almacenar en su memoria estos nuevos programas modificados por el usuario.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Si no se dispone de ordenador, la edición de nuevos sonidos (programas) debe forzosamente llevarse a cabo desde los escasos botones del sintetizador, en una ventana de edición alfanumérica frecuentemente tan pequeña como la de una calculadora. Para simplificar esta tediosa labor existen programas especialmente diseñados para modelos específicos de sintetizadores, que permiten realizar la edición desde el propio ordenador, enviando al sintetizador mensajes de sistema exclusivo, con todas las ventajas y comodidades que comportan los interfaces gráficos. Si dispone de un sintetizador pero no de su correspondiente editor por software, Internet suele ser un buen coto de caza, ya que muchos de estos editores han sido realizados por programadores particulares para satisfacer sus necesidades personales. Otras aplicaciones relacionadas con los sintetizadores son las que permiten almacenar y gestionar en el ordenador estos nuevos bancos de sonidos, ya que bastantes sintetizadores no disponen de disquetera, ni permiten salvar estos nuevos programas de forma permanente en su memoria y los que lo permiten disponen de un número limitado de memorias libres. Mediante este tipo de software de gestión de librerías, se consigue, también por mensajes de sistema exclusivo, intercambiar bancos enteros de sonidos entre el ordenador y el sintetizador, a través de los cables MIDI. Muchos de estos programas son configurables para varios modelos de sintetizadores. Como en el caso anterior, Internet ha fomentado el intercambio de bancos de sonido, entre usuarios de un mismo modelo de sintetizador. Dentro de este apartado podríamos incluir también los programas de edición de audio que ofrecen soluciones para los usuarios de samplers externos. Aunque ya estudiamos este tipo de software en la primera parte del libro, programas como Sound Forge, ofrecen la posibilidad añadida de importar y exportar sonidos con un sampler externo, a través de un cable MIDI o de una conexión SCSI. Esto permite editar los sonidos con comodidad, superando las limitaciones impuestas por las pequeñas pantallas gráficas y los escasos botones que suelen incorporar los samplers. Hemos tratado en este apartado, programas que flexibilizan y agilizan el uso de dispositivos MIDI externos. En el caso de las tarjetas de sonido, que ofrecen de antemano una absoluta integración con el ordenador, es muy probable que el paquete de software incluido con la tarjeta ya incorpore un programa para modificar y almacenar sus sonidos. A continuación describimos de forma genérica, el uso de los programas para edición de sampler que acompañan las tarjetas con ampliación de RAM.
14.5. Editores de bancos de sonidos En el apartado 12.4,"Los bancos de sonidos", comentábamos la necesidad de agrupar y organizar en ficheros los sonidos adicionales de las tarjetas con ampliación de RAM. Cada tarjeta de estas características dispone de un formato de ficheros diferente y de un programa dedicado que los gestiona. Aunque cada uno de estos programas editores guarda sus peculiaridades, los conceptos básicos y las directrices no difieren demasiado de uno a otro. Si dispone ya de una tarjeta con ampliación de RAM, el programa necesario y su correspondiente manual le habrán venido incluidos con la tarjeta. En caso negativo, estas líneas le ayudarán a comprender mejor el funcionamiento y las peculiaridades de estas tarjetas sampler.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
14.5.1. Descripción de algunos formatos Los tres formatos más extendidos son los utilizados respectivamente por toda la familia AWE, las Gravis Ultrasound, y las Turtle Beach, tal como se indica en la tabla 14.1. Tipo de tarjeta AWE32 y AWE64 AWE32 y AWE64 Gravis Ultrasound Turtle Beach
formato SoundFont 1.0 SoundFont 2.0 Gus bank file WaveFront
extensión .sbk .sf2 .fff y .dat .wfb y .wfp
editor Vienna 1.0 Vienna 2.0 WavePatch
Tabla 14.1. Principales formatos de bancos de sonidos para tarjetas de sonido En el caso de la AWE, la utilización de uno u otro formato, depende exclusivamente de la versión del driver de que dispongamos. El SoundFont 2.0 se hizo público a principios de 1996 e intenta convertirse en el formato universal para tarjetas con memoria RAM. Si ya dispone de una AWE es aconsejable que actualice sus drivers, ya que este nuevo formato ofrece substanciales mejoras. Estos drivers y los programas editores son fácilmente obtenibles en Internet.
14.5.2. Funcionamiento de un editor de bancos Independientemente del formato involucrado, los pasos a seguir para crear un nuevo banco de sonidos, pueden simplificarse en las siguientes líneas: 1. Seleccionar los ficheros de sonido de tipo .wav que integrarán el banco. Estos sonidos pueden ser de orígenes diversos: digitalizados o sintetizados y, en cualquier caso, modificados con un programa de edición de audio como Cool Edit o GoldWave (véase el capítulo 5,"Edición de sonido por ordenador"). Recuerde que no deberá crear bancos de tamaño superior a la memoria RAM incorporada a su tarjeta. 2. Asignar estos sonidos a los instrumentos del banco. Normalmente, los bancos pueden incluir hasta 127 instrumentos o programas MIDI (posteriormente accesibles mediante mensajes de cambio de programa). Tal como se explica en el apartado 9.6.3, en el que se describe someramente la creación de instrumentos en un sampler, cada uno de estos instrumentos podrá a su vez incluir varios sonidos diferentes, ya sea en capas superpuestas o bien distribuidos entre diferentes notas o tesituras. 3. Aplicar un loop a cada sonido (esto es opcional, pues muchos sonidos no tienen por que tener loop). 4. Aplicar y configurar para cada sonido los diferentes parámetros disponibles, de acuerdo con el chip sintetizador de la tarjeta. Estos parámetros pueden variar ligeramente de un modelo a otro pero, a grosso modo, suelen incluir: • una o más envolventes para controlar la evolución de la amplitud (y en algunos casos de la altura).
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• una o más LFOs para crear efectos de trémolo, vibrato o wah-wah. • filtros para modificar dinámicamente el timbre de los sonidos. En la figura 14.3 se muestran las ventanas correspondientes a la creación de instrumentos, envolventes y loops en el programa Vienna que acompaña a la tarjeta AEW32, y en la figura 14.4 la de edición de parámetros en el mismo programa. 5. Salvar el banco creado.
Figura 14.3. Creación de instrumentos y definición de envolvente y loop en Vienna 1.0 • • • •
A Sonidos utilizados B Tesitura de cada sonido C Envolvente D Loop
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 14.4. Edición de parámetros en Vienna 1.0
14.5.3. Obtención y modificación de bancos adicionales Hemos indicado los pasos necesarios para la creación de un banco de sonidos nuevo, pero también es posible utilizar y modificar bancos ya existentes. En algunos casos, estos bancos adicionales pueden venir con el software que acompaña a la tarjeta. Algunos fabricantes venden también CD-ROMs con ficheros adicionales, normalmente de gran calidad. Este es el caso de E-mu (que dispone de un amplio catálogo de sonidos para la AWE) o de Turtle Beach. Una tercera fuente de material puede ser Internet. La mayoría de tarjetas disponen de páginas web oficiales y otras creadas por grupos de usuarios. En este último caso los bancos de sonido que pueda conseguir no serán siempre correctos, pero sí gratuitos, y entre muchos de dudosa calidad podrá encontrar pequeñas joyas sonoras. Los programas editores suelen permitir la importación de instrumentos, por lo que podrá también crear sus propios bancos recombinando o reduciendo otros ya existentes. Esto es especialmente útil para adaptar ficheros excesivamente grandes al tamaño máximo tolerado por nuestra tarjeta. Existen, por último, programas especializados que permiten la conversión entre bancos de sonidos de formatos diferentes. Aunque estos programas no pueden reconvertir todos los parámetros, ya que muchos son exclusivos de un único formato, simplifican mucho el trabajo y permiten la utilización de bancos de sonidos creados para los más potentes samplers profesionales, como los Kurzweil, Akai o E-mu. Un programa shareware excelente es Awave, que puede encontrarse en Internet, y que permite trabajar con decenas de formatos diferentes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
14.5.4. Acceso a los sonidos desde un secuenciador Para poder utilizar bancos de sonido adicionales desde el secuenciador, es necesario utilizar el software de control de la tarjeta. Estos programas, que se incluyen con la compra de la tarjeta, permiten normalmente la carga de hasta 128 bancos de sonido, numerados del 0 al 127 o del 1 al 127 (el banco número 0 suele corresponder a los sonidos GM almacenados en ROM ). El número de bancos que se pueden cargar simultáneamente vendrá determinado por la memoria RAM disponible, de forma que la suma de sus respectivos tamaños no exceda esta cantidad de memoria. No es necesario ocupar los bancos correlativamente. De hecho, es mejor no hacerlo si nuestra tarjeta es compatible General Standard, pues el GS utiliza parcialmente los ocho primeros bancos (del 1 al 8) para variaciones instrumentales y efectos de sonido (ver tablas 7.2 y 7.3). Una vez ocupados los números de bancos deseados con los correspondientes ficheros, desde el secuenciador será posible acceder a sus sonidos, anteponiendo el mensaje de cambio de banco al de cambio de programa (ver apartados 8.6.1 y 13.8.1). En la figura 14.5 se muestra el panel de control de la AWE32, en el momento de cargar un fichero de banco de sonidos (.sbk) en el banco número 12.
Figura 14.5. Panel de control de la AWE32
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
14.6. Programas de composición algorítmica y de ayuda a la composición 14.6.1. ¿Que es la composición algorítmica? La estrecha relación que une a la música con las matemáticas ha sido sobradamente tratada desde Pitágoras, y no insistiremos aquí sobre ello. En cualquier caso, la composición musical, sea en el estilo que sea, se ha apoyado siempre sobre una serie de reglas, variables a lo largo de la historia, más o menos estrictas, conscientes o intuitivas, incluso contradictorias, pero reglas al fin y al cabo. Y la mera existencia de reglas, posibilita el hecho de que los procesos compositivos puedan automatizarse. De hecho, uno de los primeros sistemas algorítmicos de composición musical, que permitía generar pequeños valses con la ayuda de unos dados, fue ideado por el propio Mozart, y no ha sido desde luego el único1. Centrándonos en la informática, la primera obra musical “compuesta” por un ordenador, la Suite Illiac, data de 1955, y fue programada por el químico y compositor Lejaren Hiller en la universidad de Illinois (dadas las limitaciones tecnológicas de aquella época, el ordenador generó una ristra de números que Hiller tuvo que pasar a notación musical convencional, para que fuera interpretada posteriormente por un cuarteto de cuerdas). Hoy en día, el MIDI permite que “estas ristras de números” generadas por un ordenador, puedan sonar de forma inmediata. Por ello existen multitud de programas que ofrecen enfoques muy diferentes, desde el “superórgano” para acompañamiento automático, a la composición con fractales, pasando por el programa que genera música a partir de imágenes o el que compone standards de jazz.
14.6.2. Posibilidades de estos programas Al ser éste un campo tan abierto, los enfoques adoptados son tan numerosos como los propios programas. A nivel experimental existen muchos programas de shareware o de dominio público, desarrollados normalmente para el uso personal del propio programadorcompositor y pensados, por lo tanto, para resolver problemáticas, inquietudes y planteamientos particulares, que pueden o no adaptarse a su forma de hacer y de entender la música. En Internet puede encontrar bastantes (pruebe por ejemplo los términos “algorithmic composition MIDI” en un buscador como el de Altavista). Los programas comerciales tratan lógicamente de ser más “universales”. En este apartado podríamos citar aplicaciones como Band in a Box, más orientado a crear composiciones de jazz , The Jammer y Super Jam de Blue Ribbon SoundWorks, que se defienden bien con cualquier tipo de música tonal (basada en acordes), Koan, programa especializado en música ambient y new age, apadrinado por el músico Brian Eno (productor de U2 y Talking Heads), o el Visual Arranger de Yamaha, que funciona como un extenso catálogo de géneros y estilos musicales. En las figuras 14.6 y 14.7 se muestran sendas pantallas de los programas The Jammer y Koan.
1
En realidad, sistemas como el de Guido d’Arrezo, se remontan al siglo XI.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 14.6. Ventanas de The Jammer
Figura 14.7. Koan, un programa de composición algorítmica
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Podríamos considerar una tercera vía de programas, a mitad de camino entre el software educacional y el de ayuda a la composición. Un ejemplo de este tipo lo constituye Power Chords, de Howling Dog Software, especialmente destinado a usuarios con ciertos conocimientos de guitarra. Este programa, que se puede apreciar en la figura 14.8, es útil tanto para profundizar en el dominio de los acordes, como para realizar composiciones a partir de las prácticas y los conocimientos intuitivos de un guitarrista. En una línea lúdica y didáctica a la vez, la compañía Blue Ribbon, creadora del ya citado programa SuperJam, ofrece varios paquetes más sencillos, como Mi Primer Sintetizador (que aparece en la figura 14.9) destinado a los más jóvenes, o Super Composer pensado para usuarios sin demasiados conocimientos musicales que deseen iniciarse en la composición, y todos ellos distribuidos por Anaya Interactiva. Este tipo de programas puede constituir un buen trampolín MIDI para usuarios con inquietudes musicales que se encuentren intimidados ante la idea de componer.
Figura 14.8. Power Chords, una ayuda a los guitarristas
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 14.9. Mi Primer Sintetizador despierta las inquietudes musicales de los más pequeños
14.6.3. Consideraciones adicionales Independientemente de sus características más individuales, la mayoría de programas de ayuda a la composición ofrecen la posibilidad de modificar parámetros en tiempo real, de forma que podremos ir ajustando la pieza mientras la vamos escuchando. Muchos permiten también salvar los resultados en forma de ficheros MIDI estándar, que posteriormente podrán ser abiertos desde un secuenciador convencional para realizar correcciones o añadir detalles, o desde un editor de partituras. En tales casos, las partes algorítmicas generadas por estos programas pueden servir de punto de partida o inspiración para una composición más compleja. Estableciendo un paralelismo con los programas de imagen, podríamos equiparar la primera categoría de software más experimental con los programas que generan imágenes a partir de procesos matemáticos como, por ejemplo, los fractales. En este tipo de programas el usuario debe experimentar con los parámetros disponibles, para ir afinando los resultados mediante tentativas sucesivas. Los programas comerciales más ortodoxos, podrían compararse con los programas de 3D, donde el usuario crea figuras y espacios, no a partir del dibujo, sino de la descripción de los objetos, que son posteriormente generados por el ordenador de acuerdo a ciertas leyes ópticas (perspectiva, reflexión de la luz, etc.). En el caso de los programas de composición
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
que nos ocupan, este leyes no vendrán impuestas por la física, sino por el estilo de música que pretendamos crear.
14.7. Programas de conversión MIDI Se describen aquí algunos tipos de aplicaciones que no encajan en ninguno de los anteriores apartados. No se tratan los programas relacionados directamente con el audio digital, que ya han sido comentados en la primera parte de este libro, ni los que integran MIDI y audio digital, que tienen su lugar en el capítulo 19,”Integración de MIDI, audio y vídeo”. Tampoco se comentan los más relacionados con la programación MIDI, que serán estudiados en el capítulo 16,”Programación MIDI en Windows”. • Programas de conversión tono a MIDI. Estos programas, de muy reciente aparición (por la potencia de calculo que requieren), permiten convertir un micrófono conectado a la entrada de una tarjeta de sonido cualquiera, en un instrumento MIDI, capaz de enviar las notas cantadas a un secuenciador. Los algoritmos necesarios para calcular la altura de un sonido en tiempo real son complejos y presentan un inevitable margen de error. Conociendo estas limitaciones, este tipo de software puede ser, no obstante, muy útil para desarrollar algunas ideas en el secuenciador. Dos nuevos paquetes que realizan estas funciones son Autoscore de la compañía Wildcat Canyon’s y Sound2MIDI, de AudioWorks. • Programas de conversión de partitura a MIDI. Estos programas son la antítesis de los editores de partituras, ya que partiendo de una partitura escaneada (en formato .tif por ejemplo) generan un fichero MIDI. Son el equivalente de los OCR pero para notación musical, en lugar de texto. Los ficheros resultantes no suelen estar exentos de errores, pero su uso simplifica bastante la tarea de secuenciar un arreglo musical cuando disponemos de la partitura impresa, aunque, eso si, para aprovecharlos es necesario un scanner.
14.8. Conclusión Llegados a este punto, esperamos que haya quedado plenamente convencido de las inmensas posibilidades creativas que ofrece el MIDI, pero desde luego, éstas no terminan con los programas comerciales. Por su relativa sencillez (“unos cuantos mensajes de unos cuantos bytes”) el MIDI ofrece al programador multimedia un sinfín de nuevas alternativas. Por ello, en el próximo capítulo estudiaremos la organización y la configuración de todos los dispositivos MIDI (drivers, puertos, etc.) en Windows 95.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
15. El MIDI en Windows 95
15.1. Introducción Una vez vistas las especificaciones, posibilidades y usos más frecuentes del protocolo MIDI, en este capítulo veremos cómo organiza y gestiona el MIDI Windows 95, aunque la mayoría de lo indicado sería fácilmente extrapolable a Windows 3.1. Esperamos que esta información le sea de utilidad para comprender y configurar su sistema de forma óptima. Este capítulo, es asimismo imprescindible para los que deseen abordar la programación MIDI que se estudia en los dos próximos capítulos.
15.2. Dispositivos MIDI en Windows 95 En este apartado volveremos a hurgar en el panel de control y otras utilidades de Windows 95; si es necesario, repase lo mencionado en los apartados 4.5 a 4.8. Para comenzar, nada nuevo hay que añadir a lo comentado en el apartado 4.5, sobre la información referente a los dispositivos de sonido accesibles desde la opción Controladores de sonido, vídeo y juegos del icono de sistema en el panel de control, ya que en él, Windows no distingue entre los dispositivos MIDI y los de audio digital. Esta información tan sólo le será de utilidad si su sistema presenta alguna incompatibilidad o conflicto a nivel de IRQs o direcciones de memoria. Suponiendo que todas las tarjetas hayan instalado correctamente sus drivers, la información realmente útil es accesible desde el icono multimedia.
15.2.1. Información MIDI en el icono multimedia - multiplicidad de los dispositivos MIDI internos Si en el apartado 4.5, estudiamos ya los componentes de audio digital y del CD Audio incluidos en esta caja de dialogo, ahora le toca el turno al MIDI. La novedad, es que aunque sólo disponga de una tarjeta de sonido, es posible que al seleccionar la pestaña correspondiente, le aparezcan varios dispositivos MIDI. La comprensión de este punto es fundamental para entender la gestión que hace Windows de los dispositivos MIDI internos. Cada uno de estos dispositivos está asociado a un driver diferente. Un driver no es más que un programa que no se ejecuta directamente, sino que se activa de forma automática y responde a peticiones formuladas por el sistema u otros programas. En el caso del MIDI, cada uno de estos drivers corresponde a un puerto MIDI independiente. Supongamos que disponemos de una tarjeta con tecnología de tablas de onda, que incluye además síntesis FM para compatibilidad con modelos anteriores. Dicha tarjeta incorpora en realidad dos sintetizadores en uno, y si cada uno de ellos posee su propio driver, ambos podrán ser accesibles de forma simultánea. En la figura 15.1, que muestra esta ventana para un ordenador equipado con una Sound Blaster AWE32, se observa que los dispositivos son en realidad tres.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Figura 15.1. Ventana de dispositivos MIDI El MIDI de Creative Advanced Wave Effects Synthesis para AWE 32 es un nombre muy largo para designar al sintetizador de tabla de ondas, el Sintetizador FM interno OPL2/OPL3 corresponde lógicamente al chip FM, y el MIDI de puerto MIDI externo al MIDI OUT. Dado que cada uno es capaz de direccionar 16 canales, un sistema de estas características podrá reproducir 16 canales con sonidos de tabla de ondas, 16 canales FM y podrá gestionar también, a través del conector de MIDI OUT, 16 canales más para controlar sintetizadores externos.
15.2.2. Elección del dispositivo MIDI por defecto - el mapeador MIDI En algunas aplicaciones MIDI sencillas, como el reproductor de multimedia (y la gran mayoría de programas reproductores de ficheros MIDI), no es posible seleccionar entre los diversos puertos MIDI de salida. Estos programas envían toda la información a un único un puerto defecto, denominado mapeador MIDI (o MIDI mapper) que se configura en la ventana que nos ocupa. Si dispone de varios dispositivos MIDI, lo normal será asignar el valor defecto a aquél que mejor suene, pero no está obligado a elegir uno en su totalidad, ya que el dispositivo defecto puede ser una combinación de todos los disponibles. Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Configuración personalizada Supongamos que dispone de dos sintetizadores internos A y B. El A suena mejor, pero siente cierta debilidad por los sonidos de percusión del B. En este caso, tal vez le interese configurar el dispositivo defecto, de forma que utilice el sintetizador A en todos los canales, salvo en el 10 (reservado para la percusión en General MIDI), que se asignará al sintetizador B. El proceso a seguir es el siguiente: 1. Seleccione Configuración personalizada (A) y pulse el botón Configurar (B) en la ventana de Propiedades Multimedia de la figura 15.2. Aparecerá una nueva ventana con el instrumento asociado a cada uno de los dieciséis canales (C ). 2. Sitúese en el instrumento del canal 10 (D), y pulse Cambiar (E). Se activará una lista desplegable con los dispositivos disponibles en el sistema (F). 3. Seleccione el sintetizador B y pulse Aceptar (G). El cambio aparecerá reflejado en la lista de canales de la ventana anterior (C ). 4. Pulse de nuevo Aceptar (H), si desea guardar esta configuración como la Predeterminada, o bien escriba un nuevo nombre en la parte superior de la ventana (I) y pulse Guardar Como (J). 5. La nueva configuración estará siempre accesible desde la lista de Configuración personalizada (A). Repitiendo este proceso, podrá cuando lo desee, añadir una nueva configuración, y modificar o eliminar una ya existente.
Figura 15.2. Configuración de un dispositivo MIDI personalizado Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Selección de un instrumento único En el caso de que desee utilizar un solo dispositivo como sintetizador defecto, tan sólo tendrá que seleccionarlo en la ventana principal y activar la opción instrumento único. De todas formas, tenga en cuenta que la definición de este mapeado tan solo es útil para aplicaciones sencillas, normalmente reproductores (players). Los secuenciadores permiten, como se vio en el capítulo 13,”El secuenciador” y volveremos a tratar en el apartado 15.4, un control individual sobre cada uno de los dispositivos.
15.3. El mapeador MIDI en Windows 3.1 Incluimos este apartado, porque el mapeador MIDI de Windows 3.1 era paradójicamente bastante más versátil que el de Windows 95. La justificación puede radicar en el hecho de que, hace unos años, las tarjetas de sonido estaban mucho menos estandarizadas, y presentaban frecuentemente capacidades multitímbricas muy restringidas. Tal como se indicaba en el apartado 11.6.2, a las tarjetas compatibles con la especificación MPC1, tan solo se les exigía que respondieran a los canales 13, 14, 15 y 16. ¿Qué sucedía cuando intentábamos reproducir con una de estas tarjetas, un fichero MIDI estándar (standard MIDI file) que sólo contuviese información en los diez primeros canales? Sencillamente, nada sonaba. Y aun en el caso de que el tema utilizase los 16 canales, nuestra antigua tarjeta sólo estaría reproduciendo una cuarta parte de la música y, para colmo, posiblemente de forma incorrecta. Para paliar esta y otras deficiencias, el mapeador permitía configurar los tres niveles de corrección, que aparecen en la figura 15.3.
15.3.1. Mapa de canales El General MIDI establece que el canal 10 se reserva para la percusión, mientras que en los sintetizadores MIDI básicos (así se denominan los que sólo son compatibles con la especificación MPC1), el canal de percusión es el 16. En este caso, la solución pasa por establecer un mapa de canales, que asigne a cada uno de los dieciséis posibles canales de entrada, alguno de los canales realmente disponibles. Si queremos que una tarjeta básica reproduzca correctamente las pistas de percusión de un fichero MIDI estándar, el canal 10 deberá estar asignado al 16, mientras que los 15 restantes deberán distribuirse de alguna forma entre los canales 11 a 15 de la tarjeta. Este primer nivel de corrección, correspondiente a la ventana Configuración MIDI de la figura 15.3, es el único que permanece en Windows 95.
15.3.2. Mapa de instrumentos En muchas tarjetas de sonido antiguas, el mapa de instrumentos no era compatible General MIDI (el programa 1 podía corresponder a una flauta, en lugar de a un piano). En este caso, el proceso de mapeo necesario es bastante más tedioso, ya que consiste en establecer una correspondencia entre los 128 programas General MIDI (véase la tabla 7.1) y los programas
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
asignados en la tarjeta, intentando buscar los sonidos más equivalentes. Corresponde a la ventana Mapa de sonidos MIDI, en la figura 15.3. Afortunadamente, la casi totalidad de tarjetas actuales es compatible GM, por lo que este mapeo ya no es necesario.
15.3.3. Mapa de sonidos de percusión Otra de las especificaciones que establece el General MIDI es un mapa de sonidos de percusión (véase la tabla 10.1). Si una tarjeta no fuera compatible con este mapa, Windows 3.1 ofrece la posibilidad de establecer una nueva correspondencia entre notas. Esta es la ventana Mapa de claves de la figura 15.3.
Figura 15.3. Configuración del mapeador MIDI en Windows 3.1
15.4. Acceso a los diferentes puertos desde un secuenciador Indicábamos en el apartado 15.2.2 que la correcta configuración del mapeador MIDI sólo es útil para aquellos programas que no admiten un control superior sobre todos los dispositivos instalados. Afortunadamente, los secuenciadores para Windows (incluso los más sencillos), así como otros tipos de programas (composición algorítmica, etc.), permiten acceder a cada uno de los puertos. La figura 15.4 muestra la ventana de dispositivos en los programas Cakewalk
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
y MIDI Orchestrator Plus (suele activarse con una opción de menú denominada MIDI devices).
Figura 15.4. Ventanas de dispositivos en Cakewalk y MIDI Orchestrator Plus
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
La primera figura (Cakewalk) corresponde a un ordenador que solo posee una AWE32, mientras que el ordenador de la segunda figura (Orchestrator) incorpora muchos más dispositivos. En ambos casos, la información aparece dividida en dos secciones, MIDI IN y MIDI OUT. Observe que en ambas, la sección MIDI OUT incluye el dispositivo MIDI mapper, que corresponde al dispositivo por defecto. Los dispositivos que aparecen en oscuro son aquellos que el usuario ha decidido seleccionar para la sesión con el secuenciador. Si selecciona el MIDI mapper, el programa no le dejará seleccionar ninguno que esté incluido total o parcialmente en el mapeador. Si lo intenta le aparecerá un mensaje de conflicto de puertos abiertos, por lo que siempre es preferible no seleccionar el MIDI mapper. Dado que cada pista del secuenciador presenta, tal como se aprecia en la figura 15.5, una columna denominada port, el usuario puede indicar para cada una de ellas el puerto o dispositivo, de entre los seleccionados, al que se dirigirán sus mensajes MIDI. De esta forma se supera fácilmente la barrera de los dieciséis canales, ya que el número de canales disponibles podrá ser de 16 x número de dispositivos.
Figura 15.5. Asignación de puertos en las pistas de un secuenciador
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
15.5. Dispositivos MIDI virtuales Uno de los sistemas de la figura 15.4 presentaba seis dispositivos de entrada (de los cuales sólo se aprecian cuatro) y ocho de salida. Aunque en varias ocasiones hemos puntualizado que es posible disponer de varias tarjetas de sonido en un único ordenador, es obvio que pocas placas base permitirían la inclusión de semejante número de tarjetas. El ordenador del que hemos capturado la imagen tiene en realidad instaladas dos tarjetas de sonido: una Sound Blaster AWE 32 (que añade los mismos drivers de la figura anterior) y una Roland RAP10. Los restantes corresponden todos a dispositivos MIDI virtuales, o drivers MIDI no vinculados a ninguna tarjeta en particular. ¿Cual puede ser la utilidad de un dispositivo de estas características? Observemos de nuevo los nombres de los dispositivos de esa figura.
15.5.1. El teclado virtual Entre los de entrada, figura el TTS Virtual Piano IN, un driver asociado a un pequeño programa que emula gráficamente a un teclado MIDI (véase figura 15.6). Su función consiste en permitir la entrada de notas sin la necesidad de un teclado externo. Aunque sus prestaciones no pueden compararse a las de un dispositivo real (por ejemplo sólo permite introducir una nota a la vez), puede ser útil en determinadas circunstancias, como en un ordenador portátil. Es importante constatar que al ser un driver, y no una mera extensión del software secuenciador, este tecladito puede ser utilizado con cualquier programa MIDI que admita la elección de los dispositivos de entrada.
Figura 15.6. Aspecto del teclado virtual TTS
15.5.2. El sintetizador virtual Entre los dispositivos de salida figura el Roland VSC-55. Este driver corresponde al sintetizador virtual Virtual Sound Canvas mencionado en el apartado 12.9. Este dispositivo no está relacionado con ninguna tarjeta MIDI (debe asignarse eso sí, al dispositivo de audio digital de alguna tarjeta, que será la que emita el sonido, pero esta es otra historia), pero al disponer de su driver particular, para el usuario esto no presenta ninguna diferencia. Desde el secuenciador o cualquier otro programa, podrá activar este puerto en algunas pistas, como si de un sintetizador más se tratara. Los restantes dispositivos que aparecen en la figura merecen una explicación más detallada.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
15.5.3. La matriz MIDI virtual En el capítulo 10,"El hardware MIDI", comentábamos la existencia de los patchbays, dispositivos externos que incluyen varias entradas y varias salidas MIDI y que permiten redireccionar cómodamente las conexiones entre varios dispositivos externos, sin tener que estar enchufando y desenchufando cables. La matriz MIDI por software que aparece en la figura 15.7 puede realizar una función similar, pero a nivel interno, conectando entre si diversas aplicaciones MIDI.
Figura 15.7. Hubi’s Loopback: Una matriz virtual MIDI La figura, que corresponde al programa shareware Hubi’s Loopback, muestra una matriz cuadrada de 4x4, ya que la aplicación dispone de cuatro entradas (LB1-LB4) y cuatro salidas (LBA-LBD). Si consideramos que cada una de estas entradas y salidas corresponde a un puerto MIDI, es fácil deducir que la instalación de esta pequeña aplicación, añadirá al sistema cuatro drivers MIDI de entrada, y cuatro de salida. Estos se corresponden con los restantes drivers que completan la lista. En la figura se aprecian cruces en algunas casillas; su función es la de interconectar entradas y salidas. Una cruz en la posición A1 significa que toda información MIDI recibida en el puerto de salida A será redireccionada al puerto de entrada 1 (tal vez crea que nos hemos confundido utilizando los términos entrada y salida, en el siguiente apartado comprenderá su utilización).
15.5.4. Aplicaciones de las matrices virtuales Supongamos que hemos escrito (o encontrado en Internet) un pequeño programa que realiza un arpegio cada vez que recibe una nota MIDI. Una aplicación de estas características puede tenernos un rato distraídos haciendo "new age de pacotilla", pero si no incorpora un secuenciador, pocas aplicaciones reales le podremos sacar. La solución la brinda nuestra matriz virtual.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
1. En el arpegiador seleccionamos el puerto estándar MIDI IN como dispositivo de entrada. Esto nos permitirá tocar desde el teclado externo conectado a este puerto. 2. En el arpegiador, seleccionamos también el puerto A de la matriz como puerto de salida. 3. En la matriz, activamos la posición A1 (por ejemplo), de forma que todos los mensajes recibidos en el puerto A serán enviados al puerto 1. 4. En nuestro secuenciador, seleccionamos el puerto 3 de la matriz como puerto de entrada. A partir de ahora, las notas generadas por nuestro arpegiador serán automáticamente enviadas a la entrada del secuenciador. Veamos algunas otras posibilidades de esta mágica matriz. • Sound Forge, el editor gráfico de audio estudiado en el capítulo 5, puede activar la reproducción de ficheros de tipo .wav, a partir de la recepción de diversos mensajes MIDI. Para sincronizar Sound Forge con un secuenciador como Cakewalk, basta con direccionar una pista del secuenciador (será la pista encargada de disparar los ficheros de onda) a la entrada MIDI de Sound Forge. • MIDI Joystick es un pequeño programa de dominio público que permite generar mensajes MIDI, totalmente configurables, con el simple movimiento de un joystick. La gracia de este "instrumento" es que, a diferencia de las ruedas de modulación que incorporan los teclados MIDI que son normalmente unidimensionales (véase apartado 8.5.5), con el joystick es posible controlar dos parámetros MIDI de forma simultánea. Podemos asignar por ejemplo, el volumen (CC7) al desplazamiento en el eje Y, y la panorámica (CC10) al desplazamiento en el eje X. Nuevamente, bastará con conectar virtualmente la salida de este programa a la entrada del secuenciador, para disponer de un expresivo y económico controlador.
15.5.5. Instalación de los dispositivos virtuales Aunque la instalación de estos dispositivos puede variar ligeramente (especialmente si no están preparados para Windows 95), lo normal es instalarlos con la opción añadir nuevo hardware accesible desde el panel de control de Windows 95 (aunque no estén vinculados a ningún hardware real, se comportan como si lo estuvieran).
15.6. Conclusión Tras esta información sobre la configuración MIDI en Windows 95, sin duda podrán, los más atrevidos, adentrarse en el estimulante terreno de la programación MIDI bajo Windows, a la cual dedicamos los dos próximos capítulos.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
16. Programación de sonido con los comandos MCI
16.1. Introducción La programación de sonido bajo Windows se puede llevar a cabo con dos herramientas diferentes, los comandos MCI y las funciones de bajo nivel del API de Windows. En este capítulo estudiaremos la primera forma, dejando la programación de bajo nivel para el próximo capítulo. Aunque nos centraremos en Windows 95, la mayoría de lo indicado es directamente extrapolable a Windows 3.1. En ambos capítulos asumimos ciertos conocimientos de programación por parte del lector, por lo que si carece de ellos, o sencillamente no le interesa este tema puede pasar directamente al capítulo 18.
16.2. Programación en Windows La programación en Windows tenía fama (justificada) de ser complicada, pero los temores comenzaron a desvanecerse con la llegada de los lenguajes de programación visual. Hoy en día existen varias alternativas para afrontar estas tareas sin excesivos quebraderos de cabeza. A continuación exponemos las más utilizadas, por orden creciente de complejidad (y de prestaciones). 1. Los lenguajes de autor, como Director o Toolbook, son excelentes herramientas para iniciarse en la programación multimedia en Windows sin necesidad de un gran bagaje informático. Su fuerte es la realización de interactivos, pero poseen enormes limitaciones para la realización de programas de propósito más general. 2. Visual Basic es un entorno de programación de Microsoft basado en el popular lenguaje BASIC, que se ha convertido, por su excelente relación entre esfuerzo y prestaciones, en el favorito de muchos programadores. Con Visual Basic se puede escribir casi cualquier programa para Windows, si bien con entornos más complejos los resultados podrán ser más eficientes. 3. Delphi es un entorno de Borland, basado en el lenguaje Pascal. La curva de aprendizaje no es muy superior a la de Visual Basic, y sus prestaciones son algo mejores. Goza sin embargo de una menor difusión. 4. Los entornos basados en C++ (Microsoft Visual C++ y Borland C++), pueden ser considerados como los pesos pesados de la programación para Windows. Si un programa no puede realizarse con cualquiera de ellos, será sencillamente un programa irrealizable. Aunque las prestaciones superan a las de cualquier otro entorno, la curva de aprendizaje y el tiempo de desarrollo cobran cara esta superioridad. A raíz de lo expuesto, y en la medida de lo posible, hemos optado por utilizar Visual Basic en los ejemplos de este capítulo, con la certeza de que quien quiera llevarlos a cabo en un entorno basado en el lenguaje C no tendrá ninguna dificultad. En último término, e independientemente del lenguaje utilizado, serán frecuentes las llamadas a funciones C, ya que Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
gran parte de la programación de sonido (como de la programación multimedia en general), se realiza a través de llamadas a funciones de las API de Windows (que como el resto del sistema, están escritas en este lenguaje).
16.3. La programación multimedia en Windows La programación de sonido (tanto de audio digital como de MIDI) es un caso particular de la programación multimedia. Existen actualmente numerosas obras que tratan este tema en profundidad, y sería absurdo pretender competir con ellas desde las limitadas páginas de este capítulo, por lo que, si desea ahondar en esta cuestión, sin duda hará bien en adquirir alguno de estos libros1. A pesar de ello, la información que aquí se da es autocontenida, e incluso en algunos puntos (especialmente en los referentes a la programación MIDI de bajo nivel, abordada en el próximo capítulo), trata cuestiones que no suelen aparecer en la mayoría de manuales. Si tal como indicábamos, la programación en Windows era hasta hace poco bastante compleja, lo cierto es que comparativamente, la programación multimedia ha sido, desde el principio, relativamente sencilla. La razón de ello, está en la normalización y la simplificación que supusieron las extensiones multimedia añadidas a la versión 3.0 de Windows, e integradas definitivamente en la versión 3.1. Estas extensiones posiblemente fueran lo mejor de un sistema un tanto precario (16 bits, multitarea cooperativa, etc.), si lo comparamos con otros entornos GUI2 coetáneos, y constituyeron probablemente una de las principales puntas de lanza para el imparable avance de Windows. En este sentido, Windows 95, que puede ya competir sin vergüenza con cualquier sistema operativo actual, ha aportado mejoras internas, pero muy pocas modificaciones substanciales en el tema del multimedia. A grosso modo, el programador de Windows puede abordar el multimedia a través de dos enfoques diferentes: el MCI y las funciones de bajo nivel. El MCI es el método más sencillo (y también el más documentado) y será el que trataremos primero. Cuando sus posibilidades se queden cortas, habrá que recurrir a las funciones de bajo nivel, que estudiaremos en el próximo capítulo.
16.4. Introducción a los comandos MCI Las siglas MCI corresponden a Media Control Interface, un conjunto de herramientas de programación con las que se logra una funcionalidad muy similar a la del reproductor de medios de Windows (de hecho, esta aplicación las utiliza casi exclusivamente). Uno de los puntos más relevantes del MCI, es que trata del mismo modo todos los dispositivos multimedia (reproductor de CD, vídeo analógico y digital, videodisco, audio
1 Le recomendamos Microsoft Windows Multimedia Programmer´s Reference y Microsoft Windows
Multimedia Programmer´s Workbook, de Microsoft Press, ambos absolutamente exhaustivos, o el más accesible Programación Multimedia de Anaya Multimedia. 2 Graphical User Interface, o Interfaz gráfico de usuario.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
digital y MIDI). Esto supone una simplificación pero también es una importante fuente de confusiones, ya que muchos de los dispositivos involucrados guardan poca relación entre sí. Para acabar de liar al neófito, diremos que existen dos interfaces de uso de los comandos MCI (es como si dispusiéramos de dos gramáticas para un único vocabulario), el interfaz de cadenas de comandos (command-string interface) y el interfaz de mensajes de comandos (command-message interface). Ambos pueden además mezclarse en una misma aplicación, aunque en aras de una mayor claridad, es preferible no hacerlo.
16.5. Los dispositivos MCI La lista de dispositivos MCI disponibles, varía de un ordenador a otro en función de los drivers instalados. Consulte el icono Multimedia en el panel de control para comprobar los que incorpora su sistema. Active la pestaña de modo de visualización Avanzado y seleccione Dispositivos de control multimedia; le aparecerá una lista similar a la de la figura 16.1.
Figura 16.1. Lista de dispositivos MCI instalados.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
La lista de dispositivos disponibles coincidirá con las entradas de la sección [mci] en el fichero system.ini, que puede ofrecer un aspecto similar al siguiente: [mci] cdaudio=mcicda.drv sequencer=mciseq.drv waveaudio=mciwave.drv avivideo=mciavi.drv
La lista del ejemplo es una lista básica que el instalador de Windows coloca, si detecta la presencia de una tarjeta de sonido y de una unidad de CD-ROM. En el caso de otros dispositivos menos frecuentes, como lectores de videodisco, scanners, etc. la instalación de los drivers y la modificación del system.ini, se llevará a cabo desde el software que acompañe al aparato. A continuación se muestra en la tabla 16.1, la lista completa de todos los posibles dispositivos MCI: Dispositivo Constante
Descripción
animation
MCI_DEVTYPE_ANIMATION
cdaudio dat digitalvideo overlay scanner sequencer vcr videodisk waveaudio
MCI_DEVTYPE_CD_AUDIO MCI_DEVTYPE_DAT MCI_DEVTYPE_DIGITAL_VIDEO MCI_DEVTYPE_OVERLAY MCI_DEVTYPE_SCANNER MCI_DEVTYPE_SEQUENCER MCI_DEVTYPE_VCR MCI_DEVTYPE_VIDEODISC MCI_DEVTYPE_WAVEFORM
Dispositivo de animación (Video for Windows o Quick Time) Reproductor de CD audio Reproductor de cintas DAT Vídeo digital en una ventana Vídeo analógico en una ventana Scanner de imágenes Secuenciador MIDI Magnetoscopio de vídeo Reproductor de vídeo disco Ficheros de onda
Tabla 16.1. Dispositivos MCI Los nombres de la columna dispositivo son los que utilizaremos en las cadenas de comandos, mientras que las constantes se utilizan en los mensajes de comandos (véase 16.7). Aunque no comentaremos nada sobre los dispositivos no-sonoros, se puede comprobar que las posibilidades de control que ofrecen los comandos MCI son poco desdeñables.
16.6. El interfaz de cadenas de comandos 16.6.1. Introducción Este interfaz es el más sencillo de los dos, y el utilizado en lenguajes como Visual Basic. La estructura típica de una cadena de comandos es de la forma: comando objeto [modificadores adicionales] • comando indica la acción a ejecutar,
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• objeto es el nombre de un dispositivo o un fichero asociado, • y los modificadores adicionales, varía en número y tipo, en función del comando y del objeto al que se aplican. A continuación se indican en la tabla 16.2 algunos de los comandos MCI de uso más frecuente3. Los nombres de la segunda columna corresponden a las constantes utilizadas por la interfaz de mensajes (véase 16.7). Comando open close play record stop pause resume set status capability
Constante MCI_OPEN MCI_CLOSE MCI_PLAY MCI_RECORD MCI_STOP MCI_PAUSE MCI_RESUME MCI_SET MCI_STATUS MCI_GETDEVCAPS
Descripción abre un dispositivo MCI cierra un dispositivo MCI inicia la reproducción inicia la grabación finaliza la reproducción o la grabación pausa en reproducción o en grabación reinicia la reproducción o la grabación asigna un valor a un modificador pide información sobre el estado del dispositivo pide información sobre las posibilidades dispositivo
del
Tabla 16.2. Comandos MCI más frecuentes Aunque la estructura de las cadenas sea la misma, no todos los comandos son aplicables a todos los dispositivos. Un CD Audio no puede, por ejemplo, grabar, por lo que la cadena record cdaudio, es incorrecta. Veamos un ejemplo con el dispositivo de CD audio open cdaudio set cdaudio timeformat tmsf play cdaudio from 6 to 7 ...... close cdaudio
//Abre el dispositivo de CD audio. //El formato será //pista:min:seg:frame //Reproduce la pista 6 entera //Cierra el dispositivo
• Las cadenas no tienen por qué ir seguidas, ya que podrían estar activadas, por ejemplo, por acciones del ratón, pero algunas sí que deben estar separadas (en este caso play y close). • Cada dispositivo tiene un formato de tiempo por defecto. En realidad la segunda línea, no es necesaria puesto que el formato por defecto del CD audio ya es éste, pero utilizaríamos esta instrucción si quisiéramos modificarlo (directamente a segundos, por ejemplo). • Asimismo, si no pusiésemos ningún rango en la instrucción play, el CD se reproduciría de principio a fin. • En los dispositivos que como animation, sequencer o waveaudio utilizan ficheros, el nombre del fichero se debe indicar en algún comando (normalmente open). Veamos un ejemplo con un fichero de onda:
3 Existen más de 40 comandos diferentes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
open c:\waves\cascabel.wav type waveaudio alias cascabel //Abre un fichero, se le indica que es de tipo waveaudio, y se le //asigna un alias para podernos referir a él en comandos sucesivos. set cascabel time format samples //Se indica un formato de tiempo play cascabel from 1 to 1000 //Reproduce de la muestra 1 a la 1000 ........... close cascabel //Cierra el dispositivo
Esta es la forma más general, pero se puede simplificar enormemente. El tipo de dispositivo no es necesario cuando se trabaja con ficheros, ya que el sistema es capaz de detectar el tipo automáticamente, pero sólo si la extensión está definida en la sección [mci extensions] del fichero system.ini, en la forma: [mci extensions] wav=waveaudio mid=sequencer
El alias tampoco es imprescindible, aunque nos permitirá trabajar con varios dispositivos del mismo tipo (varios ficheros de sonido). El formato de tiempo tampoco es necesario en este caso, pues éste es el formato defecto del dispositivo waveaudio. Si no indicamos inicio y final de la reproducción, el fichero se reproducirá entero. En muchos casos, si un comando play no viene precedido de un comando open, MCI intenta abrir el dispositivo directamente, lo que significa que las cinco cadenas del ejemplo anterior podrían simplificarse hasta: play c:\waves\cascabel.wav
16.6.2. Posibilidades de audio de las cadenas de comandos Básicamente, las acciones realizables en el campo del sonido son las siguientes: • • • • • • • •
acceder a cualquier punto de un CD audio reproducir total o parcialmente un CD audio reproducir total o parcialmente ficheros de forma de onda grabar ficheros de forma de onda obtener información sobre el dispositivo de forma de onda reproducir total o parcialmente ficheros MIDI obtener información sobre el dispositivo de MIDI obtener información de retorno sobre el éxito de las operaciones
Reproducción parcial de ficheros La reproducción parcial de ficheros es especialmente útil en el caso de los ficheros de onda. Supongamos que un programa que ha diseñado debe disparar varios efectos sonoros. La manera más directa de gestionarlos es abriendo y cerrando distintos ficheros, pero también puede incluir todos los efectos en un único fichero, utilizando un programa editor de audio. En este caso tan sólo serán necesarias una instrucción open al inicio de la aplicación y una instrucción close al final; para disparar los diferentes sonidos deberá utilizar instrucciones play
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
con diferentes valores de inicio y final. Esta forma de trabajo es más rápida y eficaz, siempre que el fichero con todos los sonidos no sea excesivamente grande. Grabación de audio Mediante comandos MCI, también es posible grabar ficheros de audio. Los comandos a utilizar podrían ser los siguientes: open new type waveaudio alias grabacion record grabacion ........................... stop grabacion save grabacion nombre.wav close grabacion
En el caso del MIDI, no es lamentablemente posible realizar grabaciones (véase el apartado 16.10,”Limitaciones de los comandos MCI”). El porqué de esta restricción, deberíamos preguntárselo a Microsoft. Obtención de información Utilizando cadenas MCI, podemos conocer datos sobre el dispositivo de audio digital (resolución máxima, posibles frecuencias de muestreo, número de canales, etc.) así como sobre el dispositivo MIDI (síntesis utilizada, polifonía, número de voces, etc.). Estas consultas son de gran utilidad a la hora de escribir programas flexibles, que se adapten a las posibilidades del hardware instalado. Otras posibilidades El número total de comandos supera la cuarentena (muchos únicamente son aplicables a determinados dispositivos), y aunque tan sólo hemos arañado la superficie, esperamos que esta introducción le haya dado una idea sobre las posibilidades y el manejo básico de las cadenas MCI. Para obtener una información más detallada, podrá consultar la información que suele venir con el paquete de programación que vaya a utilizar. En cualquier caso, antes de escribir ninguna línea, lea detenidamente el siguiente apartado, pues lo indicado hasta el momento es absolutamente genérico y no forma parte de ningún lenguaje en particular.
16.6.3. Uso de las cadenas MCI desde Visual Basic El interfaz de mensajes de comandos utiliza estructuras del lenguaje C, lo cual dificulta su uso desde otros que no sean el C y el C++. Por ello, en Visual Basic o los lenguajes de autor que soporten MCI (Macromind Director, Asymetrix Toolbook, etc.), el interfaz a utilizar es normalmente el de cadenas de comandos. Desde Lingo4 (el lenguaje de programación de Director), por ejemplo, la sintaxis sería la siguiente: mci "cadena de comando". Desde Visual Basic, en lugar de utilizar la palabra clave mci, se debe utilizar una de las dos funciones C del API de Windows: mciExecute() o mciSendString().
4 Puede consultar Director 4.0 y Programación en Lingo, ambos en la serie Guías Prácticas de Anaya
Multimedia.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• La función mciSendString() es más completa por cuanto permite enviar un mensaje de retorno a la ventana indicada por el programador, con información sobre la ejecución de la orden, pero también requiere un mayor número de parámetros. • La función mciExecute(), es más sencilla, ya que recibe un único parámetro con la cadena a ejecutar, aunque si se produjera algún error no le avisará; simplemente no realizará la instrucción. Cuando desde Visual Basic se realiza una llamada a una función C, se debe indicar su prototipo en la sección (declarations) de un fichero tipo .bas. Si dispone de Visual Basic 4.0 o superior, puede utilizar la utilidad API text Viewer para copiar estos prototipos. En el caso de que este programando una aplicación de 32 bits en Windows 955 , la línea a añadir para la función mciExecute() tendría el siguiente aspecto: Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Al realizar la llamada, simplemente tendrá que utilizar como argumento una cadena MCI. Un ejemplo sencillo podría ser: mciExecute(“play c:\waves\cascabel.wav”) Tenga en cuenta que si desea utilizar variables en la instrucción (nombres de ficheros, puntos de inicio o final, etc.) deberá formatear previamente la cadena. Estas líneas podrían escribirse en Visual Basic: Dim Dim Dim Dim
cadena as String fichero as String inicio as Integer final as Integer
...fichero, inicio necesarios... cadena = "play "+ CStr(final) mciExecute(cadena)
y
final
fichero+
"
deberán
from
"+
tomar
los
CStr(inicio)+
valores
"
to
"+
¡Observe los espacios que rodean los literales entrecomillados!
16.7. La interfaz de mensajes de comandos desde el lenguaje C Lo que sigue es especialmente útil para programadores en C o C++, por lo que si no es éste su lenguaje, puede pasar directamente al siguiente apartado. Cuando se utiliza el interfaz de cadenas, una llamada a las funciones mciSendString() o mciExecute(), fuerza al sistema a interpretar la cadena y desglosar cada uno de los parámetros que la componen. Con estos valores el sistema realiza internamente una nueva
5 En el caso de que trabaje con Windows 3.1 o con Windows 95 a 16 bits, sería ligeramente diferentes.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
llamada, esta vez a la función mciSendCommand(), que es la función utilizada directamente por el interfaz de mensajes. La alternativa del interfaz de mensajes es por lo tanto más directa, aunque también más difícil de utilizar si no se programa en C, dado que utiliza estructuras propias de este lenguaje. Ambos interfaces ofrecen la misma funcionalidad y poseen, por así decirlo, el mismo "vocabulario", pero donde el interfaz de cadenas, utiliza cadenas de texto, el de mensajes, utiliza datos estructurados y constantes predefinidas en el fichero de cabecera “mmsystem.h”. Cada uno de los comandos, dispositivos o modificadores que pueden formar parte de una cadena MCI, tienen un valor numérico asociado, accesible desde una constante de C. Así por ejemplo, el comando open tiene asociada la constante MCI_OPEN, y el dispositivo waveaudio, la constante MCI_DEVTYPE_WAVEFORM (véase las tablas 16.1 y 16.2). En un principio, el uso del interfaz de mensajes puede resultar menos inmediato pues requiere el conocimiento de decenas de nombres poco mnemotécnicos. A la larga, es más sencillo para el programador en C, pues le evita el uso exhaustivo de funciones de manejo de cadenas, a la hora de formatear los mensajes. Este interfaz ofrece asimismo al programador una mayor información sobre el estado de las operaciones, ya que permite el uso de funciones de tipo callback, que mandan automáticamente mensaje de seguimiento a una ventana de nuestra elección. El prototipo de la función mciSendCommand() es el siguiente: DWORD mciSendCommand(UINT wIDDispositivo, UINT wComando, DWORD dwParam1, DWORD dwParam2);
• wIDDispositivo, es un entero sin signo, que identifica al dispositivo. • wComando, indica el comando a realizar, mediante una de las constante del tipo MCI_XXX, como las mostradas en la tabla 16.2. • dwParam1 es un entero largo en el que se colocan constantes de tipo bandera (flags) que indican diferentes formas de llevar a cabo la acción (esperar, avisar, etc.) • dwParam2 está definido como entero largo, pero contiene en realidad la dirección de una estructura C con información adicional para el comando (inicio, final, etc.). El tipo de estructura varía con el valor de wComando, ya que cada uno posee una estructura asociada. El siguiente fragmento en C ilustra la apertura y reproducción de un fichero de audio. Este es un ejemplo más completo que los expuestos en 16.6, ya que incluye un control absoluto sobre los resultados de las operaciones. // Abre y reproduce un fichero de audio en forma de onda. // La función retorna tras el inicio de la reproducción. // Devuelve 0L si todo ha ido bien, o un código de error. DWORD playWaveFile(HWND hWndNotifica, LPSTR lpstrNombreFichero) // hWndNotifica es el Handle a la ventana que recibe la notificación // lpstrNombreFichero es una cadena con el nombre del fichero { UINT wIDDispositivo; DWORD dwRetorno; MCI_OPEN_PARMS mciOpenParams;
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
MCI_PLAY_PARMS mciPlayParams; //Abrimos dispositivo, indicando tipo y fichero mciOpenParams.lpstrDeviceType = "waveaudio"; mciOpenParams.lpstrElementName = lpstrNombreFichero; if (dwRetorno = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOpenParams)) return (dwRetorno); //Error en la apertura //Apertura correcta. Obtenemos el identificador wIDDispositivo = mciOpenParms.wDeviceID; //Se inicia la reproducción. Cuando ésta termine, la ventana //recibirá un mensaje MM_MCINOTIFY mciPlayParams.dwCallback = (DWORD) hWndNotify; if (dwRetorno = mciSendCommand(wIDDispositivo, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&mciPlayParams)) { //Error en reproducción mciSendCommand(wIDDispositivo, MCI_CLOSE, 0, NULL); return (dwRetorno); } return (0L); }
En este ejemplo aparecen dos tipos de estructuras, MCI_OPEN_PARMS y MCI_PLAY_PARMS, de las que sólo hemos utilizado tres campos de la primera. En la segunda, podríamos haber indicado los puntos de inicio y final de la reproducción. Aunque el fragmento parece bastante más complejo que las líneas escritas en ejemplos anteriores, los programadores en C sin duda admitirán que esta complejidad no es exagerada. Resumen de su manejo La forma de trabajo es siempre parecida, por lo que, una vez haya escrito un par de funciones, la codificación se volverá bastante rutinaria. A continuación indicamos algunas de las acciones más frecuentes y la forma de llevarlas a cabo: 1. Abrir un dispositivo con el comando MCI_OPEN y los parámetros necesarios (dispositivo y fichero) en la estructura MCI_OPEN_PARMS. En este caso, el parámetro wIDDispositivo se deja a cero. 2. Almacenar en una variable, el identificador del dispositivo abierto, retornado en el campo wDeviceID de MCI_OPEN_PARMS, en la llamada anterior. 3. A partir de la obtención de este identificador, lo podremos utilizar para cualquier otra operación, como por ejemplo: 4. Consultar el estado del dispositivo, con el comando MCI_STATUS y la estructura MCI_STATUS_PARMS. 5. Modificar algún parámetro del dispositivo, con el comando MCI_SET y la estructura MCI_SET_PARMS. 6. Reproducir un fichero con el comando MCI_PLAY y la estructura MCI_PLAY_PARMS. 7. Grabar un fragmento (sólo aplicable al dispositivo de onda) con el comando MCI_RECORD y la estructura MCI_RECORD_PARMS.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
8. También se pueden utilizar los comandos MCI_PAUSE, MCI_RESUME y MCI_STOP, para parar temporalmente, reanudar, o parar definitivamente la reproducción o la grabación. En este caso no se utiliza ninguna estructura, dejando por lo tanto a cero el último parámetro de la función. 9. Salvar un fichero a disco con el comando MCI_SAVE y la estructura MCI_SAVE_PARMS. 10.Cerrar un dispositivo con el comando MCI_CLOSE. No se utiliza ninguna estructura, por lo que el último parámetro se deja a cero. En caso de que se produzca algún error, se puede utilizar la función mciGetError(), que devuelve una cadena con el mensaje de error correspondiente al código numérico. Una descripción exhaustiva de todas los comandos y estructuras involucradas en la interfaz de mensajes excede las pretensiones de este capítulo, por lo que si desease profundizar en esta línea, podrá consultar la información que acompaña a su compilador6. Conviene recordar por último que, aunque menos eficaz, el interfaz de cadenas sigue siendo accesible desde el lenguaje C, a través de las funciones mciSendString() o mciExecute(),
16.8. El MMControl de Visual Basic 16.8.1. Descripción Visual Basic ofrece una alternativa adicional al uso de cadenas de comandos. Se trata del control multimedia MMControl, incluido en la versión 3.0 como mci.vbx, o como mci32.ocx a partir de la versión 4.0. Este control es accesible desde la barra de herramientas de Visual Basic. Si al abrir esta ventana, no le apareciera el icono marcado en la figura 16.2, posiblemente tenga que modificar la configuración del programa mediante la opción de menú Tools | Custom Controls.
Figura 16.2. Control multimedia en la barra de herramientas de Visual Basic 6 En la ayuda "on line" de Visual C figuran decenas de páginas relacionadas con los comandos MCI.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Cuando incluya este control en una Form, el aspecto que mostrará por defecto será similar al de la figura 16.3. Sus botones, que siguen el paradigma de las pletinas de casetes, nos dan una idea intuitiva de sus posibilidades, entre las que se incluyen las de rebobinar, reproducir, parar, avance rápido, etc. La funcionalidad de este control es muy similar a la del reproductor de medios de Windows, aunque a diferencia de éste último, permite además grabar ficheros de audio de forma de onda. Su elección frente a las cadenas MCI es aconsejable cuando en el programa a realizar desee incluir un interfaz de usuario interactiva para el control de los diferentes dispositivos multimedia.
Figura 16.3. Aspecto del control multimedia • • • • • • • • •
Prev (previo) Next (siguiente) Play (reproducción) Pause (pausa) Back (atrás) Step (adelante) Stop (parada) Record (grabación) Eject (expulsar)
16.8.2. Manejo del control multimedia Como sabemos, no todos los dispositivos multimedia permiten las mismas acciones, por lo que dependiendo del tipo de dispositivo al que se aplique el control, algunos botones se desactivarán automáticamente. ¿De que forma indicarle al control el tipo de dispositivo al que se deberá asociar? Como todo elemento de este lenguaje, este control tiene unas propiedades, unos métodos, y es capaz de responder a determinados eventos. Si observásemos la lista de propiedades en la ayuda que presenta Visual Basic, descubriríamos inicialmente con pavor que posee más de 60. Pero tras un repaso más detallado nos percataremos de que la mayoría hacen referencia al aspecto del control (tamaño, posición, etc.) y son comunes a la mayoría de los objetos del
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
lenguaje. A continuación enumeramos algunas de las principales propiedades específicas de este control: • • • • • •
Command DeviceType Filename TimeFormat From To
Como es frecuente en Visual Basic, muchas de ellas son asignables en la fase de diseño, desde la ventana de propiedades (véase figura 16.4), o bien desde el propio código, lo cual permite la modificación dinámica de muchos parámetros durante la ejecución del programa.
Figura 16.4. Ventana de propiedades del control multimedia Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
De la lista anterior, las propiedades más importantes son las tres primeras, que se corresponden directamente con los componentes de una cadena de comandos MCI básica. Supongamos que nuestro control recién añadido a la Form, se llama MMControl1 (este es el nombre que VB le asigna por defecto). La instrucción mciExecute("play c:\waves\cascabel.wav¨) que mostramos como ejemplo en 16.6.3, podría llevarse a cabo con el control multimedia, escribiendo las siguientes líneas: MMControl1.DeviceType = "WaveAudio" MMControl1.Filename = "c:\waves\cascabel.wav" MMControl1.Command = “open” MMControl1.Command = “play”
16.8.3. Uso de varios controles simultáneos Windows prohíbe la apertura simultánea de varios dispositivos idénticos, pero esta restricción no es aplicable a dispositivos diferentes, por lo que es perfectamente posible incluir y abrir varios controles multimedia en una misma Form de Visual Basic, si cada uno de ellos se asigna a un dispositivo diferente (audio digital, MIDI, vídeo, etc.). De esta forma el máximo número de controles accesibles simultáneamente se corresponderá con el número de dispositivos MCI instalados en el sistema.
16.8.4. Consideraciones adicionales • La lista de posibles comandos es algo más reducida que en el interfaz de cadenas, ya que algunos han pasado a constituir directamente una propiedad del control. Para una descripción detallada de las propiedades y de los comandos puede consultar la ayuda interactiva de Visual Basic. • Igual que sucedía con las cadenas MCI, la primera línea que indica el tipo de dispositivo, no será normalmente necesaria, si la extensión .wav figura como entrada en el apartado [mci extensions] del system.ini. • Algo similar ocurre con TimeFormat.; cada dispositivo tiene un formato de tiempo por defecto, por lo que si no deseamos modificarlo, no será necesaria la especificación de esta propiedad. • Tampoco será necesario especificar siempre todos los campos que componían una cadena MCI. Todas las propiedades se mantienen vigentes hasta que no se modifiquen, por lo que mientras trabaje con un mismo fichero, podrá escribir varios comandos correlativos, como por ejemplo: MMControl1.Command = "play" ....... MMControl1.Command = "pause" ....... MMControl1.Command = "resume"
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
16.8.5. El interfaz de usuario El control multimedia es especialmente interesante en el desarrollo de aplicaciones interactivas en las que se desee brindar al usuario cierto control sobre los dispositivos multimedia. De acuerdo con la filosofía de Visual Basic, la acción sobre un determinado botón genera un evento, y cada uno de estos eventos realiza una llamada a una subrutina que el programador puede completar como desee. Cada botón incluye cuatro subrutinas, que se activan automáticamente, dependiendo de la acción que sobre él se realice. Para el botón Play, por ejemplo, las subrutinas asociadas son: PlayClick, PlayCompleted, PlayGotFocus y PlayLostFocus. Cada una de estas rutinas (en particular la de tipo XXClick, donde XX es el nombre de un botón de entre los indicados en la figura 16.3) produce la acción esperada sin necesidad de escribir una sola línea de código, por lo que para poner a punto un programa reproductor de CD audio totalmente operativo (con avance, retroceso, parada, etc.), ¡bastaría con escribir las tres líneas indicadas en la figura 16.5!
Figura 16.5. Un sencillo reproductor de CD audio Si deseáramos personalizar un poco la aplicación podríamos añadir nuevo código en algunas de las subrutinas de los botones. Pero hay también ocasiones en las que el programador desea limitar la acción del usuario; para ello, es posible inhabilitar determinados botones o incluso hacerlos invisibles, modificando las propiedades, ButtonEnabled o ButtonVisible, donde Button es el nombre de cualquiera de los botones de la figura 16.3. Un ejemplo podría ser: MMControl1.EjectEnabled = False MMControl1.EjectVisible = False
También posible ocultar todo el control, mediante la instrucción: MMControl1.Visible = False
Un control totalmente "invisible" ofrece de hecho la misma funcionalidad que el interfaz de cadenas de comandos, lo que plantea una pregunta obligada: ¿qué interfaz es más conveniente para el programador? La respuesta debe ser matizada, ya que depende en gran parte de las preferencias de cada uno, aunque conviene tener en cuenta que el control utiliza bastantes más recursos del sistema que unas pocas instrucciones de cadenas, por lo que, si la aplicación no utiliza exhaustivamente las posibilidades MCI, la alternativa de cadenas será más eficaz.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
16.9. La MCIWnd de Visual C++ Junto al uso de las cadenas de comandos o los mensajes de comandos, accesibles ambos a través de las funciones C indicadas anteriormente, a partir de la versión 2.0 de Visual C++ existe una nueva clase incluida en las MFC7, la MCIWnd que ofrece una operatividad (que no un aspecto) similar al control multimedia de Visual Basic. Las consideraciones sobre su uso son similares a las indicadas para el control de Visual Basic, en el párrafo anterior. Si desea utiliza esta clase consulte la documentación que acompaña al paquete.
16.10. Limitaciones de los comandos MCI El uso de los comandos MCI (desde cualquiera de los interfaces descritos), permite enriquecer notablemente cualquier aplicación para Windows con un coste bastante razonable. En el tema del sonido, que es el que nos ocupa, las posibilidades MCI son especialmente notables para los dispositivos de onda y el CD audio. En ambos casos, difícilmente necesitará mayores prestaciones. No se puede afirmar lo mismo con respecto al MIDI. Veamos cuales son las principales restricciones: • Imposibilidad de grabar mensajes MIDI. Esta es una limitación importante, y en cierta forma, misteriosa. ¿Que impulsó a Microsoft a no contemplar la grabación de secuencias MIDI, cuando el dispositivo de ondas permite la grabación? • Imposibilidad de elección del puerto de salida. Como se ha comentado anteriormente, incluso en sistemas con una sola tarjeta de sonido, es frecuente encontrar más de un puerto MIDI de salida. Esta limitación, aunque molesta, es totalmente coherente con la filosofía de las MCI que utilizan un único driver para cada tipo de dispositivo. En el caso del MIDI el driver utilizado es siempre el Predeterminado (o lo que es lo mismo, el MIDI mapper). • Imposibilidad de enviar mensajes individuales. Sin necesidad de entrar en la creación de programas MIDI especializados (secuenciadores, etc.) que exceden las pretensiones de esta obra, la posibilidad de enviar mensajes MIDI independientes podría ser muy beneficiosa. Supongamos que una aplicación interactiva (o un juego) necesita cierto tipo de efectos sonoros (risas, gritos, portazos, lluvia, explosiones, etc.). Los cinco efectos indicados están todos incluidos en la especificación General MIDI, por lo que para activarlos bastaría con enviar tres mensajes (un cambio de programa, un note on y un note off) de dos y tres bytes respectivamente. Esta limitación obliga en su lugar a disparar ficheros de sonido de varios centenares de Kb. Por ello, creemos oportuno tratar la programación MIDI de bajo nivel con funciones del API de Windows, en el próximo capítulo, en el que escribiremos un programa MIDI completo.
7 Las Microsoft Foundation Classes, son las clases C++ que incorpora Microsoft Visual C++, y que
constituyen la piedra angular de la programación en este lenguaje.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
17. Programación MIDI de bajo nivel
17.1. Introducción Al final del capítulo anterior exponíamos las limitaciones de los comandos MCI en lo que al MIDI se refiere. En este capítulo estudiaremos unas cuantas funciones incluidas en el API de Windows (tanto en la versión 3.1 como en Windows 95), que permiten superar esas restricciones. Verá como a pesar de que esta información queda excluida de la mayoría de manuales de programación multimedia, no implica dificultades muy superiores. Tras unos apartados introductorios y más teóricos, realizaremos un pequeño programa que a pesar de su sencillez, pondrá en práctica la mayoría de conceptos y mensajes MIDI tratados en esta obra. La programación con el API de Windows termina inevitablemente con llamadas a funciones C incluidas en el sistema. Por ello, el lenguaje C sería el más indicado para completar el código. Sin embargo, siguiendo la filosofía expuesta en el anterior capítulo, creemos que la exposición de los ejemplos en Visual Basic puede ser de utilidad para un mayor número de programadores, con la certeza de que para quien lo desee, la traducción al lenguaje C (o C++) no revestirá ninguna dificultad. Asimismo, bastantes de los conceptos explicados podrán ser de utilidad para programadores de otras plataformas (aunque el esfuerzo requerido para llevar cualquier idea a la práctica será bastante superior).
17.2. El API multimedia de Windows En Windows, las siglas API (Application Programming Interface) hacen referencia a las librerías de funciones utilizadas por el sistema, documentadas y utilizables desde cualquier lenguaje que permita realizar llamadas externas a funciones C. Uno de estos API es el de multimedia, incluido con Windows desde la versión 3.1. Para trabajar con él es necesario incluir el fichero de cabecera “mmsystem.h”1. Sus funciones permiten trabajar con varios tipos de dispositivos, con un control muy superior al ofrecido por los comandos MCI. Los dispositivos accesibles son el de audio digital (o de ficheros de onda), el MIDI, el joystick, el reloj de tiempo y, desde la versión 95, el video digital y el mezclador de audio. Un estudio detallado de todas estas funciones requeriría un espacio superior al de toda esta obra. Microsoft dispone de varios voluminosos manuales de referencia 2, y también es posible acceder a casi toda la información desde la biblioteca de ayuda interactiva de Visual C++.
1 En Visual Basic no se utilizan ficheros de cabecera, por lo que será necesario incluir los prototipos de las
funciones y la definición de las estructuras que vayamos a utilizar, con la ayuda del API Text Viewer. 2 Microsoft Windows Multimedia Programmer´s Reference y Microsoft Windows Multimedia Programmer´s Workbook, de Microsoft Press.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
17.2.1. Dispositivos accesibles desde el API multimedia En este capítulo nos limitaremos a estudiar el MIDI y, aunque no lo haremos en su totalidad, llegaremos a escribir un programa completo y operativo. Antes de comenzar, daremos algunas indicaciones sobre los restantes dispositivos. • El dispositivo de ficheros de onda. En este caso, el uso de las funciones de bajo nivel sólo será necesario cuando se desee un control sobre los ficheros de onda, similar al que puede ofrecer un editor gráfico de audio, como los estudiados en el capítulo 5,“Edición de sonido por ordenador”. Para aplicaciones más sencillas, los comandos MCI son normalmente suficientes, aunque algo más lentos. • El joystick es un dispositivo simple y también lo es (y mucho) su programación, por lo que si siente tentaciones y dispone un entorno de programación como Visual C++, no dude en consultar la ayuda interactiva, ¡verá lo sencillo que resulta! Básicamente, la programación del joystick consiste en poco más que abrir el dispositivo, y consultar periódicamente sus coordenadas y el estado de sus botones. Lo que sí que puede resultar muy complicado, es ¡que hacer después con esta información! • El timer (reloj) multimedia, es imprescindible para toda programación que requiera un control del tiempo preciso (como un secuenciador MIDI). Visual Basic incorpora también un control timer, pero su resolución es de aproximadamente 50 ms (aunque en sus propiedades, el intervalo se puede ajustar aparentemente en milisegundos), lo cual es insuficiente para muchas aplicaciones rigurosas. A título informativo, diremos también que el reloj por defecto de Visual C++ ofrece esta misma resolución. Si deseará programar un secuenciador, o sincronizar eventos MIDI con un fichero de video, necesitará controlar el timer especializado. En nuestro ejemplo no lo utilizaremos (no escribiremos un secuenciador). • El video digital. Lo comentado para el dispositivo de ficheros de onda es aplicable también a este dispositivo. Si no pretende escribir una nueva versión de Adobe Premiere , las prestaciones de los comandos MCI serán más que suficientes. • El mezclador ofrece un control directo sobre cualquier dispositivo de tipo mixer instalado por el software de una tarjeta de sonido. Esta posibilidad es nueva de Windows 95, y no reviste mayores complicaciones que el dispositivo MIDI que trataremos a continuación.
17.3. Introducción a las funciones MIDI de bajo nivel A grandes rasgos, las posibilidades del API multimedia no difieren demasiado de un dispositivo a otro, por lo que, aunque nos centraremos en las funciones y estructuras utilizadas con los dispositivos MIDI, gran parte de la información es aplicable a otros dispositivos, cambiando unas pocas letras en los nombres de las funciones y las estructuras. Las funciones disponibles pueden agruparse en los siguientes temas o familias: • • • •
petición de información sobre dispositivos disponibles apertura y cierre de dispositivos envío de eventos individuales recepción de eventos individuales
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• creación y manejo de bloques de memoria con formato • gestión de errores • grabación Una aplicación MIDI profesional posiblemente tenga que utilizar funciones de todos estos grupos, pero en nuestro ejemplo nos limitaremos a detectar los dispositivos, abrir uno de ellos y enviarle mensajes individuales, por lo que tan sólo utilizaremos funciones de los tres primeros grupos.
17.4. Petición de información sobre los dispositivos disponibles A diferencia de los comandos MCI, mediante las funciones de bajo nivel es posible acceder a cualquiera de los dispositivos o puertos disponibles en el sistema. Para detectar estos dispositivos accesibles se utilizan dos funciones de manejo muy simple: UINT midiInGetNumDevs(void) UINT midiOutGetNumDevs(void) que devuelven respectivamente el número de dispositivos MIDI disponibles, de entrada y de salida. Entre los dispositivos de salida se incluye también el MIDI Mapper.
17.5. Prestaciones de los dispositivos disponibles Una vez conocido el número de dispositivos instalados en el sistema, es posible determinar las prestaciones de cada uno de ellos. Para ello se utilizan dos funciones y dos estructuras en las que se almacena la información solicitada. Las dos estructuras se definen (en C) como: typedef struct { WORD wMid; //identificador fabricante WORD wPid; //identificador producto MMVERSION vDriverVersion; //versión del driver CHAR szPname[MAXPNAMELEN];//nombre del producto DWORD dwSupport; //reservado } MIDIINCAPS; typedef struct { WORD wMid; //identificador fabricante WORD wPid; //identificador producto MMVERSION vDriverVersion; //versión del driver CHAR szPname[MAXPNAMELEN];//nombre del producto WORD wTechnology; //tecnología (FM,Wavetable,etc.) WORD wVoices; //num. voces (multitímbrica) WORD wNotes; //num. notas (polifonía) WORD wChannelMask; //canales a los que responde DWORD dwSupport; //posibilidades adicionales } MIDIOUTCAPS;
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• wTechnology y dwSupport utilizan constantes definidas también en “mmsystem.h”. • En wChannelMask, cada bit representa uno de los 16 posibles canales MIDI. Para definir éstas en Visual Basic, basta con consultar y copiar la información que ofrece la utilidad API Text Viewer, incluida con la versión 4.0. Si dispone de una versión anterior, puede copiar las definiciones del código ejemplo, incluidas en el apartado 17.10. De toda la información contenida en estas estructuras, en el ejemplo utilizaremos únicamente el campo szPname para obtener el nombre del dispositivo. Las dos funciones utilizadas para acceder a esta información son: • •
ULONG midiInGetDevCaps(UINT uDeviceID, LPMIDIINCAPS lpMidiInCaps, UINT cbMidiInCaps); ULONG midiOutGetDevCaps(UINT uDeviceID, LPMIDIOUTCAPS lpMidiOutCaps, UINT cbMidiOutCaps);
En ambos casos: • Las funciones devuelven cero si no se ha producido ningún error. • uDeviceID es el identificador del dispositivo a consultar, y varía entre cero y el número total de dispositivos menos uno. • La información se almacena en cada una de las estructuras, pasadas por referencia. • El último parámetro corresponde al tamaño (en bytes) de esta estructura. Si quisiéramos acceder a todos los dispositivos MIDI instalados, utilizaríamos un bucle desde cero hasta el valor obtenido con las funciones del apartado anterior menos uno (véase la subrutina PreparaMidi() en el apartado 17.11).
17.6. Apertura y cierre de dispositivos Antes de utilizar cualquier dispositivo de entrada o de salida, es necesario abrirlo utilizando las funciones: • •
ULONG midiInOpen(LPHMIDIIN lphMidiIn, UINT uDeviceID, dwCallback, DWORD dwCallbackInstance, DWORD dwFlags); ULONG midiOutOpen(LPHMIDIOUT lphmo, UINT uDeviceID, dwCallback, DWORD dwCallbackInstance, DWORD dwFlags);
DWORD DWORD
En ambos casos: • Las funciones retornan cero si no se han producido errores • Las funciones cargan el handle del dispositivo abierto, en el segundo parámetro. A partir de este momento, ésta será la variable con la cual accederemos al dispositivo. • El segundo parámetro es el índice correspondiente al dispositivo que deseamos abrir. • El tercer parámetro es el handle de la ventana que recibirá los mensajes. • El cuarto parámetro no se utiliza en Visual Basic, por lo que pondremos un cero.
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
• El quinto parámetro indica la forma en que queremos recibir los mensajes de retorno a la ventana. En Visual Basic es conveniente poner &H10000 La apertura dará error si el dispositivo ya estuviera abierto previamente (si lo estuviera utilizando otra aplicación, o la aplicación anterior hubiese olvidado cerrarlo). Para cerrar un dispositivo se utilizan simplemente las dos funciones. • •
ULONG midiInClose(HMIDIIN hmi); ULONG midiOutClose(HMIDIOUT hmo);
pasándoles el handle del dispositivo a cerrar.
17.7. Envío de mensajes individuales Una vez abierto un dispositivo de salida, una de las operaciones más sencillas a realizar, pero a la vez más operativas, consiste en enviar mensajes MIDI. El envío de cada mensaje (un Note On, un Note Off, un cambio de programa, etc.) requerirá una nueva llamada a la función ULONG midiOutShortMsg(HMIDIOUT hmo, DWORD dwMsg);
• Si el envío se realizó con éxito, la función retorna un cero. • dwMsg contendrá el mensaje que deseemos mandar. Dado que esta variable tiene cuatro bytes, podremos utilizar esta función para mandar cualquier tipo de mensaje MIDI (todos tienen dos o tres bytes), salvo los de sistema exclusivo. Los mensajes se deben formatear de modo que el primer byte del mensaje ocupe el byte menos significativo de la variable. Esto se podría conseguir en C utilizando uniones u operadores de bits. En Visual Basic habrá que hacer un poco de “aritmética” binaria.
17.8. Formateo de mensajes en Visual Basic Note On Supongamos que deseamos enviar un mensaje de Note On. Recuerde que este mensaje está formado por tres bytes, donde el primero tiene un valor hexadecimal de 9N, siendo N el número de canal (véase 8.4), mientras que el segundo indicará la nota y el tercero la velocidad. Una rutina de Visual Basic encargada de enviar este tipo de mensajes, podría ser como la de la figura 17.1.
Figura 17.1. Rutina NoteOn en Visual Basic Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
En este ejemplo hemos optado por utilizar una variable global hMidiOut, para almacenar el handle al dispositivo de salida elegido. La rutina recibe tres parámetros (canal, nota y velocidad) y los agrupa, calculando la posición correcta de cada byte. Tenga en cuenta que al multiplicar por distintas potencias de dos (256 y 65536), estamos desplazando de 8 y 16 bits respectivamente cada uno de los parámetros recibidos. A continuación, al combinarlos con el operador lógico OR, cada uno de estos valores ocupará su byte correspondiente. Si no lo ve directamente, realice algunos cálculos binarios para convencerse. A partir de aquí, para enviar cualquier otro mensaje de tres bytes (cambio de control, etc.), bastaría con cambiar el valor de la constante hexadecimal que indica el tipo de mensaje. Veamos un ejemplo más con un mensaje de dos bytes. Cambio de programa Este mensaje utiliza sólo dos bytes. El código hexadecimal asociado es el CN (donde N indica el canal deseado), y el segundo byte corresponde al número de programa MIDI elegido. Por consiguiente, la rutina PChange podría ser como la de la figura 17.2.
Figura 17.2. Rutina Program Change en Visual Basic A partir de aquí, está ya en posesión de toda la información necesaria para realizar el programa de ejemplo.
17.9. Descripción del programa ejemplo El programa que vamos a realizar, cuyo aspecto se puede apreciar en la figura 17.3, nos va a permitir: 1. 2. 3. 4. 5.
Elegir un dispositivo MIDI de salida de entre todos los instalados en el sistema. Elegir un canal MIDI de salida. Disparar notas y acordes desplazando el ratón sobre la ventana. Enviar cambios de volumen y de afinación (pitch bend) continuos, también con el ratón. Modificar el programa elegido (instrumento).
En la lista descriptiva del interfaz gráfico, hemos indicado la función de cada elemento junto con los controles de Visual Basic utilizados. Las propiedades de todos estos controles son las predeterminadas, por lo que no es necesario especificar mayores detalles. Si acaso, recordar que para que varios botones de opción funcionen de forma exclusiva, deben estar Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
superpuestos a un control. En este caso hemos utilizado el control Frame. Por último, si programa en C pero no conoce Visual Basic, ¡no puede imaginarse lo sencillo que resulta hacer aplicaciones con este lenguaje!
Figura 17.3. Aspecto del programa ejemplo A. Lista desplegable (control ComboBox) con todos los dispositivos disponibles B. Lista desplegable (control ComboBox) con los 16 canales MIDI C. Selección de tonalidad (2 controles OptionButton) a elegir entre todas las notas o Do Mayor (teclas blancas del piano) D. Selección de instrumento a elegir entre tres posibles (3 controles OptionButton) E. Salida del programa (control CommandButton) F. Apagar todas las notas (control CommandButton) G. Visualización de la posición del ratón (2 controles TextBox) H. “Pizarra” o zona sensible al movimiento del ratón (control PictureBox)
17.10. Definición de constantes Este proyecto Visual Basic constará de dos ficheros, ejemplo.frm (el principal de tipo Form) y constants.bas. En este módulo auxiliar incluiremos únicamente las declaraciones de funciones y estructuras C del API de Windows, utilizadas en el programa, por lo que el
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
fichero contendrá únicamente la sección (General) (Declarations ), que mostramos a continuación. 'Declaraciones funciones MIDI (Versión 32 bits) Declare Function midiOutClose Lib "winmm.dll" (ByVal hMidiOut As Long) As Long Declare Function midiOutOpen Lib "winmm.dll" (lphMidiOut As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long Declare Function midiOutShortMsg Lib "winmm.dll" (ByVal hMidiOut As Long, ByVal dwMsg As Long) As Long Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long Declare Function midiOutGetNumDevs Lib "winmm" () As Integer Declare Function midiOutGetDevCaps Lib "winmm.dll" Alias "midiOutGetDevCapsA" (ByVal uDeviceID As Long, lpCaps As MIDIOUTCAPS, ByVal uSize As Long) As Long Const MAXPNAMELEN = 32
' max product name length (including NULL)
Type MIDIOUTCAPS wMid As Integer wPid As Integer vDriverVersion As Integer szPname As String * MAXPNAMELEN wTechnology As Integer wVoices As Integer wNotes As Integer wChannelMask As Integer dwSupport As Long End Type
' ' ' ' ' ' ' ' '
manufacturer ID product ID version of the driver product name string) type of device # of voices max # of notes channels used functionality supported
A continuación incluimos el código correspondiente a la declaración de variables globales y constantes en la sección (General) (Declarations ) del fichero principal (ejemplo.frm). 'código correspondiente a (General)(Declarations) Option Explicit 'variables globales '================== Dim nota As Integer Dim canal As Integer Dim modo As Integer Dim hMidiOut As Long
'nota MIDI activa 'canal MIDI seleccionado 'modo seleccionado (7 ó 12 notas) 'handle al puerto MIDI de salida abierto
'constantes '========== 'modos de funcionamiento Const Notas7 = 0 'modo 7 notas (Do Mayor) Const Notas12 = 1 'modo 12 notas “libre" 'cambios de programa: los valores de estas constantes 'vienen dados por el General MIDI (véase tabla 7.1) Const Flauta = 73 Const Trompeta = 56 Const Organo = 16 'tipos de mensajes MIDI (en hexadecimal) Const NOTE = &H90
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Const PC = &HC0 Const CC = &HB0 Const PB = &HE0 'otras constantes Const Tamano = 4 Const BOTIZQ = 1 Const BOTDER = 2 Const NOBOTN = 0
'multiplica tamaño pizarra 'pulsado botón izquierdo ratón 'pulsado botón derecho ratón 'ningún botón pulsado
17.11. Inicio de la aplicación Al iniciarse, el programa: 1. Ajusta el tamaño de la zona sensible. 2. Consulta todos los dispositivos de salida disponibles y crea una lista desplegable, para que el usuario pueda elegir uno de ellos. Por ello, llamamos a dos rutinas en la carga de la ventana principal (Form Load). Private Sub Form_Load() PreparaPizarra PreparaMIDI End Sub
PreparaPizarra() ajusta el tamaño del PictureBox que utilizaremos para capturar la posición del ratón. Al asignarle un tamaño múltiplo de 127, se simplifica el cambio de escala. Public Sub PreparaPizarra() Pizarra.Left = 5 Pizarra.Top = 5 Pizarra.Height = Pizarra.Top + (127 * Tamano) Pizarra.Width = Pizarra.Left + (127 * Tamano) End Sub
PreparaMIDI()comprueba el número de dispositivos MIDI de salida disponibles, consulta las propiedades de cada uno, y guarda sus nombres en una lista de tipo ComboBox. Public Sub PreparaMIDI() Dim PrestacionesMO As MIDIOUTCAPS Dim i As Integer Dim n As Integer CombDisp.ListIndex = -1 CombChan.ListIndex = 0 n = midiOutGetNumDevs() For i = 0 To n - 1 midiOutGetDevCaps i, PrestacionesMO, 50 CombDisp.AddItem CStr(i + 1) + Strip(PrestacionesMO.szPname) Next i CombDisp.ListIndex = 0
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
End Sub
Strip() es una pequeña rutina que se utiliza para adaptar las cadenas C a las que necesita la lista. Public Function Strip(cadena As String) As String Dim i As Integer 'apaño para convertir las cadenas, de forma que sean 'visualizables en el combo i = InStr(3, cadena, Chr$(0)) Strip = Mid$(cadena, 3, 16) End Function
Tras esta inicialización el programa comienza ya a funcionar.
17.12. Funcionamiento y prestaciones del programa Una vez iniciada la ejecución, el usuario podrá en cualquier momento: 1. Seleccionar un nuevo puerto de salida MIDI, mediante la lista desplegable. Esta acción cerrará el puerto anterior, abrirá el nuevo puerto y almacenará el nuevo valor del handle en una variable global. 2. Seleccionar un nuevo canal MIDI, mediante la lista desplegable con opciones del 1 al 16. Esta acción tan sólo modificará la variable global canal, que se utiliza en todas las funciones de envío de mensajes MIDI. (estas dos selecciones se representan en la figura 17.4). 3. Seleccionar la tonalidad. Las dos posibles elecciones son Do Mayor o todas las doce notas (no hay tonalidad). Hemos incluido esta posibilidad para mostrar un muy sencillo ejemplo de “instrumento inteligente”, ya que en modo Do Mayor, el programa deberá hacer correcciones permanentes para que las notas emitidas al desplazar y hacer clic sobre el ratón, sean las correctas. 4. Aplicar un nuevo programa MIDI. Aunque una forma “seria” de cambiar de programa podría mostrar una lista desplegable o una nueva ventana con los nombres de todos los 128 instrumentos General MIDI, hemos simplificado la opción dejando elegir entre tan solo tres programas, mediante botones de opción. La implementación a nivel MIDI es la misma en ambos casos y consiste simplemente en enviar un mensaje de cambio de programa con el número correspondiente a la opción elegida. 5. Cancelar todas las notas. En alguna ocasión, puede suceder que alguna nota se quede colgada porque se perdiera un mensaje de Note Off. Para esta emergencia, todos los secuenciadores incluyen un botón denominado frecuentemente Panic, que manda un mensaje de All Notes Off. 6. Activar notas y controles con el ratón. En este caso, la explicación es un poco más larga. Al hacer un clic sobre la pizarra, se activa una nota MIDI. La altura de esta nota, depende de la posición horizontal del ratón (izquierda-grave, derecha-aguda), mientras que su velocidad depende de la posición vertical (arriba-fuerte). Al soltar el botón del ratón la nota se desactiva. Si la tonalidad elegida es Do Mayor, al hacer clic con el botón derecho, en lugar de una sola nota, se dispara el acorde correspondiente a esta nota. Además, mientras la nota se mantiene sonando (es decir mientras el ratón está Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
apretado), el desplazamiento del ratón envía controles de volumen (arriba-fuerte) y de pitch bend (derecha-agudo), de forma continua. Esta aplicación no es un alarde de musicalidad, pero permite estudiar bastantes puntos de la programación MIDI, así como aspectos muy triviales de la composición algorítmica. A continuación, comentaremos con mayor detalle cada uno de los bloques junto con su correspondiente código.
Figura 17.4. Listas de selección de dispositivo y de canal
17.13. Estudio del código 17.13.1. Selección de un nuevo puerto de salida MIDI Esta rutina se activa automáticamente cuando hacemos clic sobre un elemento de la lista de dispositivos. Se obtiene el valor ordinal seleccionado y se manda a la rutina MidiOpen(), que se encarga de cerrar el puerto ya abierto, y abrir el nuevo. MidiOpen() hace una llamada a la función del API midiOutOpen() (véase 17.6). Al terminar la llamada, la variable global hMidiOut, posee ya un nuevo valor. 'código asociado al clic sobre la lista de dispositivos Private Sub CombDisp_Click() If CombDisp.ListIndex >= 0 Then MidiOpen (CombDisp.ListIndex) End If End Sub Sub MidiOpen(i As Integer) 'cierra el puerto que estuviera abierto midiOutClose hMidiOut 'abre un nuevo puerto midiOutOpen hMidiOut, i, Ejemplo.hWnd, 0&, &H10000 End Sub
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
17.13.2. Selección del canal MIDI Este código requiere pocas explicaciones. La variable canal es global, y la utilizan todas las funciones encargadas de enviar mensajes MIDI al puerto de salida. Private Sub CombChan_Click() canal = CombChan.ListIndex End Sub
17.13.3. Selección de tonalidad La selección de una tonalidad no reviste ninguna complicación en si, ya que tan solo se debe guardar una variable global, con el valor de la opción elegida. Lo que, como veremos más adelante, no va a resultar tan sencillo será controlar la altura de las notas en función de esta tonalidad. Private Sub Opcion_Click(Index As Integer) modo = Index End Sub
17.13.4. Cambio de programa Tampoco esta rutina presenta complicación alguna, aunque supone la primera llamada a una de nuestras funciones de mensajes MIDI (véase 17.12). las tres constantes, están definidas en la sección (General) (Declaratives) y sus valores corresponden con los del estándar General MIDI (tabla 7.1). Private Sub OpPrograma_Click(Index As Integer) Dim programa As Integer Select Case Index Case 0: programa = Flauta Case 1: programa = Trompeta Case 2: programa = Organo End Select PChange canal, programa End Sub
17.13.5. Anular todas las notas Como indicábamos en el anterior apartado, todo programa MIDI que se precie debería, por pequeño que fuera, incluir esta opción de emergencia. Para ello hemos incluido un botón de comando que envía un mensaje de allnotesoff. En caso de que su tarjeta no respondiera correctamente a este mensaje, mostramos también la codificación alternativa, lenta pero segura, que consiste en mandar mediante dos bucles, mensajes de Note Off a todas las notas de todos los canales. Private Sub ComPanic_Click() AllNotesOff End Sub
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
Public Sub AllNotesOff() 'desactiva todas las notas CChange 0, 123, 127 End Sub Public Sub AllNotesOffAlternativo() 'desactiva todas las notas alternativa lenta Dim c As Integer Dim n As Integer For c = 0 To 15 For n = 0 To 127 NoteOff c, n Next n Next c End Sub
17.13.6. Envío de mensajes MIDI Este bloque constituye el corazón de la aplicación y requiere una explicación mucho más detallada. Los eventos del ratón que capta el control Pizarra (de tipo PictureBox) son MouseDown, MouseUp y MouseMove. En cada uno de ellos, extrae las coordenadas x e y del ratón, y las divide por la constante Tamano, para obtener valores comprendidos entre 0 y 127, que son los que nos interesan para el MIDI. Mouse Down - Note ON Como indicábamos, al disparar notas, la posición x determinará la altura de la nota y la posición y su velocidad MIDI. Dado que parece razonable que las velocidades superiores correspondan a la parte superior de la ventana, y que sin embargo Visual Basic coloca el origen de coordenadas en el extremo superior, realizamos un sencillo cambio de coordenadas, mediante la operación velocity = 127 - y. Si la “tonalidad” seleccionada fuese de 12 notas (es decir, no hay tonalidad), envía un mensaje de NoteOn directamente, pasándole el canal, la nota y la velocidad. Si la tonalidad fuese en cambio la de Do Mayor, antes de enviar la nota, realiza una corrección mediante la función CorrecNota() que recibe la nota original y devuelve la nota corregida. En este caso y si el botón apretado fuese el derecho, no enviará una sola nota, sino que tocará el acorde correspondiente. Esta prestación se incluye como propina y se deja a la curiosidad del lector, ya que en ella intervienen algunos conceptos muy básicos de armonía que no discutiremos aquí. Recordemos que la variable nota es global. Esto nos permite guardar el valor de la nota activa, para después anularla con un mensaje de NoteOff. Private Sub Pizarra_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) Dim velocity As Integer velocity = 127 - Int(Y / Tamano) ‘cambio de coordenadas If modo = Notas12 Then nota = Int(x / Tamano) NoteOn canal, nota, velocity ElseIf modo = Notas7 Then
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
nota = CorrecNota(Int(x / Tamano)) If Button = BOTDER Then Acorde canal, nota, velocity Else NoteOn canal, nota, velocity End If End If End Sub
La función CorrecNota() corrige la nota recibida como argumento y la adapta a la nota de la escala de Do Mayor inmediatamente anterior. Para ello, calcula el resto de dividir por 12 la nota original. Esto nos permite saber el nombre de la nota (0:do, 1:do#, 2:re, 3:re#….), independientemente de su octava, y es un truco que se utiliza bastante en música algorítmica. Si la nota no perteneciera a la escala de Do Mayor, simplemente se le resta uno. Public Function CorrecNota(nota As Integer) As Integer Dim grado As Integer grado = nota Mod 12 If grado = 1 Or grado = 3 Or grado = 6 Or grado = 8 Or grado = 10 Then CorrecNota = nota - 1 Else CorrecNota = nota End If End Function
La función Acorde() se deja a la curiosidad del lector. Cuando la velocidad no es nula, calcula un acorde triada y guarda como variables estáticas (que mantienen su valor) las dos notas adicionales. Cuando la velocidad es nula, envía tres mensaje de NoteOff, correspondientes a la nota original y a las dos adicionales. Public Sub Acorde(ch As Integer, nota As Integer, vel As Integer) 'esta función calcula la tercera y la quinta de la nota 'recibida (se supone que ésta pertenece a la escala de Do Mayor) 'para crear el acorde correspondiente 'son static, para guardar el valor cuando le toca hacer 'note off (es decir cuando velocity llega con valor nulo) Static tercera As Integer Static quinta As Integer If vel = 0 Then NoteOff ch, NoteOff ch, NoteOff ch, Else Select Case Case 0: Case 2: Case 4: Case 5: Case 7:
nota tercera quinta (nota Mod 12) tercera = 4 quinta = 7 tercera = 5 quinta = 9 tercera = 7 quinta = 11 tercera = 9 quinta = 12 tercera = 11
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
quinta = 14 Case 9: tercera = 12 quinta = 16 Case 11: tercera = 14 quinta = 17 End Select tercera = nota + tercera quinta = nota + quinta While tercera > 127 tercera = tercera - 12 Wend While quinta > 127 quinta = quinta - 12 Wend NoteOn ch, nota, vel NoteOn ch, tercera, vel NoteOn ch, quinta, vel End If End Sub
Mouse Up - Note OFF Al soltar el ratón se desactiva la nota, guardada como variable global, mediante un mensaje de NoteOff. Si hubiésemos disparado un acorde, no bastará con callar una nota, ya que habrá que anular también todas las del acorde. En este caso, se realiza una llamada a la función Acorde() pasándole una velocidad nula. Private Sub Pizarra_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single) If modo = Notas12 Then NoteOff canal, nota ElseIf modo = Notas7 Then If Button = BOTDER Then Acorde canal, nota, 0 Else NoteOff canal, nota End If End If End Sub
Mouse Move - Envío de controles Esta rutina normaliza las coordenadas del ratón, de forma similar a la rutina MouseDown. Si el ratón estuviera pulsado, manda mensaje de volumen y de pitch bend. En Visual Basic, cuando se hace clic sobre un control, éste sigue poseyendo al ratón, aun cuando se salga de su zona. Este implica que las coordenadas pueden dispararse a valores negativos o por encima de 127, por lo que debemos realizar una corrección. En cualquier caso, aunque no hubiera ningún botón pulsado, muestra por pantalla la posición actual del ratón en dos controles de texto. Private Sub Pizarra_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim xi As Integer Dim yi As Integer xi = Int(X / Tamano) yi = 127 - Int(Y / Tamano) 'invertimos sentido de ordenadas
Sergi Jordà Puig, Audio digital y MIDI, Guías Monográficas Anaya Multimedia, Madrid 1997
If Button NOBOTN Then 'cuando el ratón está pulsado, el control sigue controlando el 'movimiento, aunque el ratón salga de su área. Por ello, ' se deben acotar correctamente los valores If xi >= 0 And xi = 0 And yi > y