Convertir WAV (o MP3) a MIDI y viceversa

11/02/2002 por Soyuz
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...

98_640.jpg · El 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)

99_640.jpg · El 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.

100_640.jpg · En el caso de la tarjeta de sonido, el sistema que utilizaremos dependerá de si ésta puede "autograbarse", es decir, si dispone de un circuito especial que reenvíe toda la señal que genera de nuevo hacia el ordenador. Muchas tarjetas hacen esto; por ejemplo, la famosa Sound Blaster Live! (en la foto) o la Audigy. Diremos como se hace con la Live!, y si tienes otra tarjeta, seguro que no te será difícil trasladar la técnica. Lo que debes hacer es abrir el mixer de Windows (el control de volúmenes), ir a las opciones y ponerlo en modo "grabación". Eso hará que veas los niveles de grabación de las distintas fuentes posibles, y cuál está seleccionada para ser grabada en ese momento. Pues bien; sólo debes escoger como fuente el sintetizador de la Live!, y usar (como en el caso anterior) un grabador para recoger la señal.

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?

101_640.jpg Sin embargo, algo se ha avanzado en los últimos años. Actualmente uno puede conseguir un MIDI más o menos aceptable a partir de un WAV monofónico no muy complicado. Por monófonico entendemos aquel sonido que sólo contiene un tono a la vez, por ejemplo la voz humana o una flauta (ninguna de las dos puede hacer sonar dos notas al mismo tiempo). Al haber sólo una línea melódica sin acordes ni notas superpuestas se hace más fácil identificar los tonos y crear mensajes MIDI a partir de ellos. Algunos programas presumen de identificar incluso acordes y líneas más complejas, pero su eficacia es bastante dudosa. Por ello te recomendamos que en vez de complicarte la vida con conversiones imposibles, busques directamente el midifile de la canción que desees; seguro que alguien en alguna parte ha secuenciado ese MIDI para que lo puedas bajar.

Hay una variedad de programas especializados en "convertir" WAV a MIDI (pulsa sobre ellos para visitar sus webs):

· Digital Ear (en la foto de arriba)

· Sound2MIDI y Wav2MIDI de Audioworks· Intelliscore

· TS-AudioToMIDI (freeware).

Por Xabier Blanco

2
Comentarios
  • #1 por Mikolópez el 15/04/2008
    Parece que los de Neuratron, avanzan en el desarrollo de un nuevo programa de reconocimiento de audio:
    http://www.neuratron.com/audioscore.htm
  • #2 por skatelanks el 19/02/2009
    ninguno de los links funcionan...alguno de estos software que trabajen con mac ?
  • #3 por NMK el 14/12/2010
    http://ts-audiotomidi.programas-gratis.net/

    este es el ts audio to midi voy a bajarlo a ver que tal
    el link funciona
  • #4 por inspiracion86 el 18/12/2010
    como que me enrede mas no se supone que se graba por track cada melodia esta dividida por cada instrumento por que ya no se puede separar?
  • #5 por robertorod el 28/06/2012
    no funcionan los links amigo, pero de todas formas muchas gracias por la explicacion exelente
  • #6 por fenixgrup el 08/02/2013
    En definitiva, para poder hacer un midi de una canción, y con los programas que ahora existen, deberiamos tener acceso a la grabación original, antes de la mezcla, en donde las "pistas" (instrumentos) estan separadas unas de otras, y convertir cada una de las pistas en un midi individual. Y finalmente diferenciar estas midis con un canal distinto i unirlas...
    Tarea mastodóntica, vaya...