sexta-feira, 15 de julho de 2011

Convertendo MIDI em Wav e vice versa. Um mito?

Os arquivos WAV e MIDI não são formatos conversíveis entre si; tem tanto a ver um com o outro como o sol e a lua. Mas não se assuste, porque logo daremos solução para isso; no entanto é vital marcar diferenças e conceitos antes de iniciar esse processo. 
Quando falamos em converter formatos em informática estamos querendo dizer adaptar um arquivo que foi projetado para um programa de forma que possa ser lido em outro programa corretamente. Para que isso possa ser feito, devem existir algumas semelhanças fundamentais entre os formatos que usam esses dois programas; por exemplo, podemos converter um arquivo do WordPerfect em um do Word. Isto é assim porque ambos são formatos de texto, e as únicas diferenças reais entre os dois se deve à forma que cada um dos programas os lêem e os tratam. O mesmo acontece com formato de imagens digitais, BPM, JPG ou GIF. Todos compartilham algo, uma semelhança: são imagens digitais. Alguns formatos são comprimidos, outro usam mais ou menos cores, mas na realidade todos estão lendo informação digital de um gráfico.
Dando um exemplo ainda mais palpável, converter um documento do WordPerfect para Word seria como pegar uma camisa verde e tingi-la de vermelho. Mas "converter" MIDI para WAV, ou o inverso, seria pura alquimia, seria como transforma a camisa em calças. Mas, no que se diferem tanto WAV e MIDI? Se reproduzimos um MIDI ouvimos sons, e se reproduzo WAV também ouço sons! Vejamos então...
98.jpg· O MIDI é um protocolo de comunicação entre dispositivos, equipamentos musicais. O MIDI por si só não produz som algum; ele é constituído de mensagens ou comandos que são dirigidos de algum dispositivo MIDI para outros, indicando que nota deve soar, em qual volume, etc. Por exemplo, um sequenciador manda mensagens de notas para um sintetizador e este obedece e reproduz a nota. Aqui entra outro elemento para confundir ainda mais. Muita gente acredita que um arquivo MIDI soa sozinho, que carrega consigo os sons, visto que eles não possuem um sintetizador em casa, somente o computador. Pois tampouco é verdade. Todos os computadores atuais possuem sintetizadores-samplers incorporados, seja em sua placa de som ou virtuais (como o que a Microsoft implanta em seus sistemas operacionais mais recentes). Quando reproduzimos um midifile, este indica ao sintetizador do computador como deverá ser soado o arquivo, igualmente que no exemplo anterior com os synths em hardware. Essa é a razão pela qual quando trocamos a placa de som ou usamos outro sintetizador virtual, os arquivos midi soam diferentes. [Acima e à direita, dados MIDI de notas apresentadas pelo sequenciador Logic Audio).


99.jpg· O WAV é um formato de áudio digital. Se colocarmos um microscópio sobre um arquivo WAV (no sentido figurado, claro), somente iremos ver cadeias de zero e uns; o WAV é uma fotografia digital do som real. O computador converte os impulsos elétricos de um sinal em dados que possa ler. Sendo assim, qualquer reprodutor de WAVs fará soar a mesma imagem do som original. Aqui não existe nenhum protocolo ou linguagem que diga a algum dispositivo como deve soar; o WAV por si só é o próprio som capturado, e não uma cadeia de mensagens que se envia para um sintetizador ou sampler, como no caso do MIDI. Alertamos que tudo o que dissermos arqui sobre WAV também se aplica ao MP3 (que é um WAV comprimido) [À esquerda temos uma representação gráfica de um WAV vista no editor de áudio Wavelab]

Então como não existem semelhanças, não podemos converter WAVs e MIDI entre si. Mas, existem formas de fazer algo muito parecido. Continue lendo...
O fácil: gravando um arquivo MIDI em formato de áudio
Já dissemos que um WAV é uma captura digital do som real, e que o MIDI faz soar um sintetizador ou sampler mediante um protocolo de mensagens. Pois bem, para ter os sons que são produzidos por um arquivo MIDI em formato WAV, a coisa é muito simples... somente temos que gravar digitalmente esses sons.

Se tivermos um sintetizador ou sampler externo que reproduza os arquivos MIDI, a coisa fica muito fácil: basta encaminhar as saídas de áudio do sintetizador para a entrada de linha do nosso computador, e utiliza um gravador para registrar esse sinal. Muitos programas podem gravar áudio; qualquer sequenciador MIDI-Audio também faz isso, e editores como Wavelab ou Sound Forge, Cool Edit ou Goldwave também cumprem essa tarefa. Somente temos que selecionar no programa a entrada de linha da placa de som, e gravá-la.

Se somente tivermos um sintetizador-sampler do computador (seja virtual, por software, ou incorporado à placa de som), a solução continua sendo fácil.

100.jpg· No caso da placa de som, o sistema que utilizaremos dependerá se a placa pode "autogravar-se", ou seja, se ela dispõe de um circuito especial que reenvie todo o sinal que passa por ela novamente para o computador. Muitas placas têm esse recurso; por exemplo, a famosa Sound Blaster Live! (figura ao lado) ou a Audigy. Vamos ver como se faz com a Live!, e caso você possua outra placa, a mesma técnica poderá ser empregada. O que deve ser feito é abrir o mixer do Windows (o controle de volume), acessar Opções e selecionar "gravação". Isso permitirá que os níveis de gravação sejam vistos das diferentes fontes possíveis, por fim selecione a fonte a ser gravada. Observe que somente deve ser escolhido como fonte o sintetizador da Live!, e, como no canso anterior, usar um programa gravador para capturar o sinal.

Caso a placa que você utiliza não possua o recurso de "autogravar-se", você terá que fazer o seguinte: conecte a saída de áudio da placa com a entrada de linha usando um cabo apropriado, escolha como fonte de gravação essa mesma entrada de linha. Tenha cuidado com os volumes de saída e de entrada; aqui você não está mais no domínio digital, logo um volume áudio ocasionará distorções.

· Para gravar o sinal de um sintetizador ou sampler virtual, o procedimento é análogo: caso a placa disponha de um circuito que permita gravar internamente o sinal de áudio que ela mesma produz, será necessário somente escolher a fonte adequada para a gravação (pode ser a fonte "WAV" ou "Directsound" em muitos casos). Caso não exista essa possibilidade, a conexão deverá ser feita através  cabo, como já foi dito, e realimentar a placa com o seu próprio sinal.

O difícil: decompondo um WAV em mensagens MIDI
Agora o bicho pega! Gravar a saída de um synth ou sampler (hardware, software ou da placa de som) é um procedimento óbvio e simples. Mas se quisermos obter um arquivo MIDI a partir de um WAV, as coisas se complicam muito...

A razão para isso é que um WAV reúne informação muito complexa sobre frequências, volumes, resolução, etc, e toda essa informação aparece mesclada, especialmente se o WAV for de uma música com vários instrumentos, percussão, baixo, vozes e acompanhamentos... O WAV não entende de notas nem de escalas musicais, somente de frequências e de som puro. Já sabemos que o MIDI consiste precisamente de mensagens que indicam a um dispositivo como ele deve interpretar música, sendo assim converter um WAV em um arquivo MIDI seria assim como assar o bolo e depois querer desmembrá-lo em farinha, leite e ovos.

Sendo assim, estamos num atoleiro. Mas há esperança. Assim como existem programas de reconhecimento de caracteres em texto, os chamados OCRs, que tentam ler um gráfico de um texto e o converte em dados reconhecíveis para um processador de textos, existem programas que identifican os tons de um WAV e, a partir deles, geram um arquivo MIDI. Infelizmente essa técnica tem mais êxito com letras do que com sons, como você já deve ter imaginado, um WAV é algo muito mais complexo que uma foto de página de um livro, onde somente existem caracteres de cor preta sobre um fundo quase sempre branco, nítidos e fáceis de identificar para um programa de reconhecimento minimamente inteligente. Identificar todos os tons de um WAV, seus volumes, e ainda por cima, os tons e volumes de todos os instrumentos em separado, é uma tarefa impossível. Além disso, como um programa de computador poderia diferenciar os timbres de um violão e de um violino para identificar corretamente os instrumentos?

101.jpgNo entanto, muito se tem avançado nesse terreno nos últimos anos. Atualmente podemos conseguir um MIDI mais ou menos aceitável a partir de um WAV monofônico não muito complicado. Por monofônico devemos entender aquele som que contém somente uma nota por vez, por exemplo a voz humana ou uma flauta (nenhum desses dois pode entoar mais de uma nota por vez). Ao existir somente uma linha melódica sem acordes nem notas sobrepostas, fica fácil identificar os tons e com eles gerar um arquivo MIDI a partir deles. Alguns programas tentam identificar inclusive acordes e linhas melódicas mais complexas, mas o resultado ainda é muito duvidoso. Por isso recomendamos que ao invés de complicar a vida com conversores ainda impossíveis, crie você mesmo, ouvindo o WAV e sequenciando o MIDI, o arquivo MIDI que você desejar. Outra coisa, se a música for conhecida, é muito provável que alguém em algum lugar do mundo, já a tenha sequenciado.

Existe uma variedade de programas especializados em "converter" WAV em MIDI:

 Digital Ear (figura acima)

· Sound2MIDI y Wav2MIDI da Audioworks· Intelliscore

· TS-AudioToMIDI (freeware).

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.