Convertir WAV (o MP3) a MIDI y viceversa
Aclarando las ideas
Los archivos WAV y MIDI no son formatos convertibles; tienen tanto que ver entre sí como el sol y la luna. Que nadie se asuste, porque luego daremos solución a esto; pero es vital marcar diferencias y conceptos antes de empezar.
Cuando hablamos de convertir formatos en informática nos referimos a adaptar un archivo diseñado para una aplicación, de manera que pueda leerse en otra correctamente. Para que esto pueda hacerse, deben darse unas similitudes fundamentales entre los formatos que usan esas dos aplicaciones; por ejemplo, podemos convertir un archivo de WordPerfect en uno de Word. Esto es así porque ambos son formatos de texto, y las únicas diferencias reales entre los dos se deben a la manera que tiene cada programa de leerlos y tratarlos. Lo mismo sucede con formatos de imágenes digitales, como BPM, JPG o GIF. Todos comparten algo: son imágenes digitales. Unos formatos son comprimidos, otros usan más o menos colores, pero en realidad todos están leyendo información digital de un gráfico.
Dando un ejemplo aún mas palpable, convertir un documento de WordPerfect a Word sería como coger una camisa verde y teñirla de rojo. Pero "convertir" MIDI a WAV, o al revés, sería pura alquimia, como transformar la camisa en unos pantalones. Alguien dirá "pero ¿en qué se diferencian tanto el WAV y el MIDI? ¡Si reproduzco un MIDI escucho sonidos, y si pincho un WAV también!". Pues no es del todo cierto...
MIDI es un protocolo de comunicación entre aparatos musicales
El MIDI en sí mismo no produce sonido alguno; consiste en mensajes que se dirigen unos dispositivos MIDI a otros, indicando qué nota debe sonar, a qué volumen, etc. Por ejemplo, un secuenciador manda mensajes de notas a un sintetizador y este obedece y suena. Aquí entra otro elemento de confusión. Mucha gente cree que un midifile suena porque sí, que lleva los sonidos "dentro", dado que ellos "no tienen un sintetizador en casa, sólo el ordenador". Pues tampoco es verdad. Todos los ordenadores actuales llevan sintetizadores-samplers incorporados, ya sea en su tarjeta de sonido o virtuales (como el que implanta Microsoft en sus últimos sistemas operativos). Cuando reproduces un midifile, éste le indica al sintetizador de tu ordenador cómo debe sonar, al igual que en el ejemplo anterior con los sintes hardware. Por eso, si cambias de tarjeta de sonido, o usas otro sintetizador virtual diferente, los midifiles sonarán diferentes. [Arriba a la derecha, datos MIDI de notas presentados por el secuenciador Logic Audio).
WAV es un formato de audio digital
Si colocaras un microscopio sobre un WAV (figuradamente, claro), sólo verías cadenas de ceros y unos; el WAV es una fotografía digital del sonido real. El ordenador convierte los impulsos eléctricos de una señal sonora en datos que él pueda leer. Así pues, cualquier reproductor de WAVs hará sonar la misma imagen del sonido original. Aquí no hay ningún protocolo o lenguaje que le diga a ningún dispositivo cómo debe sonar; el WAV en sí mismo es el propio sonido capturado, no una cadena de mensajes que se envían a un sintetizador o sampler, como el MIDI. Avisamos ya aquí que todo lo que diremos sobre el WAV se aplica al MP3 (que es un simplemente un WAV comprimido) [A la izquierda, representación gráfica de un WAV en el editor de audio Wavelab]
Hemos sido tajantes: no se pueden convertir WAVs y midifiles entre ellos. Pero sí hay maneras de hacer algo muy parecido. Sigue leyendo...
Lo fácil: grabando un midifile en formato audio
Hemos dicho que un WAV es una captura digital del sonido real, y que el MIDI hace sonar un sintetizador o sampler mediante un protocolo de mensajes. Pues bien, para tener los sonidos que produce un midifile en formato WAV, la cosa es sencilla... sólo tenemos que grabar digitalmente esos sonidos.
Si tenemos un sintetizador o sampler externo que reproduce los midifiles, la cosa está bien clara: sólo hay que encaminar las salidas de audio del aparato a la entrada de línea de nuestro ordenador, y utilizar un grabador para registrar esa señal. Muchos programas pueden grabar audio; cualquier secuenciador MIDI-Audio lo hace, y editores como Wavelab o Sound Forge, Cool Edit o Goldwave también cumplirán la tarea. Solo hay que seleccionar en el programa la entrada de línea de la tarjeta de sonido, y grabarla.
Si sólo dispones del sintetizador-sampler de tu ordenador (ya sea virtual, por software, o incorporado a la tarjeta de sonido), sigue siendo fácil la solución.
Si tu tarjeta no puede "autograbarse", tendrás que hacer una pequeña chapucilla: une la salida de audio de la tarjeta con su entrada de línea usando un cable de audio apropiado, y elige como fuente de grabación esa misma entrada de línea. Ten cuidado aquí con los volúmenes de salida y entrada; ya no estás en el dominio digital y puedes distorsionar la señal si te pasas.
· Para grabar la señal de un sintetizador o sampler virtual, el procedimiento es análogo: si la tarjeta dispone de un circuito que permita grabar internamente la señal de audio que ella misma produce, solo has de elegir la fuente adecuada para la grabación (suele ser la fuente "WAV" o "Directsound" en muchos casos). Si careces de esta posibilidad, tendrás que hacerte con el cable ya citado y realimentar a la tarjeta con su propio sonido.
Lo difícil: descomponiendo un WAV en mensajes MIDI
Esto es otro cantar. Grabar la salida de un sinte o sampler (hardware, software o de tu tarjeta de sonido) es un procedimiento obvio y sencillo. Pero si queremos obtener un midifile a partir de un WAV, las cosas se complican hasta el extremo...
La razón para esto es que un WAV reúne información muy compleja sobre frecuencias, volúmenes, resolución, etc, y toda ella aparece mezclada, especialmente si el WAV es de una canción normal, en la que puede haber percusión, bajo, voces, acompañamientos... El WAV no entiende de notas ni de escalas, sólo de frecuencias y de sonido puro. Ya sabemos que el MIDI consiste precisamente en mensajes que indican a un dispositivo cómo interpretar música, así que convertir un WAV en un midifile sería algo así como cocinar una tarta y luego pretender separar los huevos, la leche y la harina.
Así pues, estamos en un atolladero. Pero hay alguna esperanza. Al igual que existen programas de reconocimiento de caracteres (OCR) que intentan "leer" un gráfico de un texto y convertirlo en datos reconocibles para un procesador de textos, existen programas que identifican los tonos de un WAV y, a partir de ellos, generan un archivo MIDI. Por desgracia, esta técnica tiene mucho más éxito con las letras que con el sonido ya que, como habrás imaginado, un WAV es algo mucho más complejo que una foto de la página de un libro, donde sólo hay caracteres de color negro sobre un fondo blanco, nítidos y fáciles de identificar para un programa de reconocimiento mínimamente inteligente. Identificar todos los tonos de un WAV, sus volúmenes, y aún más allá, los tonos y volúmenes de todos los instrumentos por separado, es una tarea imposible. Además, ¿cómo un programa de ordenador podría diferenciar entre el timbre de un violín y el de una guitarra?