segunda-feira, 2 de novembro de 2009

Gravando MIDI (1)

(Essa MSG do Alex Saba pra ajudar o Helvécio com o uso de um software de gravação)

Gente, não precisa de latência pra mexer com MIDI. MIDI não tem latência.
Vejam o post anterior do Ricardo sobre o assunto

O que é a latência? De modo bem simples, é o tempo que leva entre vc pressionar uma tecla e o som de um VST ser ouvido.

Como já se comentou aqui é uma questão de combinação. Placa de audio, VSTs, HOST (que é o programa que hospeda o VST, como Sonar, Cubase, VSTHost, etc), configuração do micro desde a capacidade de memória até a quantidade de programas rodando na memória, incluídos anti-virus e todas as traquitandas que a MS empurra pra gente e as que instalamos.
Eu uso muito um programa chamado VSTHost, que é grátis. Com ele posso abrir vários VSTs e configura-los para tocarem junto ou não e brincar, testar ou só tocar. Quando vou compor, invariavelmente vou para o Sonar sem VSTs. Uso só pra MIDI.

(O que vem a seguir serve pra qualquer programa)
Em uma configuração com só uma porta de saída e uma de entrada, os synths ficam plugados em série. MIDI OUT do micro no MIDI IN do SYNTH1; MIDI THRU do SYNTH1 no MIDI IN do SYNTH2 e assim sucessivamente. O limite é de 16 synths para que eles sejam tocados de maneira independente. Cada um deve ser configurado para responder ao canal MIDI correspondente, portanto o SYNTH1 fica configurado para CHANEL1, o 2 para o CHANEL2 e assim por diante.

O synth/teclado que for usado para gravar as informações MIDI, não necessáriamente do mesmo canal, tem seu MIDI OUT conectado ao MIDI IN do micro.
Para gravar uma música: supondo que eu comece pelo piano, que é do SYNTH1. Coloco o programa para gravar o CANAL1 (não importa em qual track esteja: as tracks do programa não são os canais de MIDI) seleciono o timbre do teclado pelo programa (alguns já conhecem os synths mais comuns do mercado, senão tem como configurar isso), escolho o andamento (100, 110, 120, etc) e a divisão (3/4, 4/4, 7/4, etc) e aciono GRAVAR. Se o programa tiver um metronomo ele será acionado e gravo o piano.

Depois eu passo para outra TRACK, configuro para o CANAL2, SYNTH2 e procedo da mesma forma para gravar o baixo. Vou estar ouvindo o piano que é tocado pelo programa no SYNTH1, mas ele deve estar em modo LOCAL OFF para que ao tocar o baixo do SYNTH2 eu não ouça o piano em uníssono.
Feito isso, seleciono outra TRACK, outro CANAL (3 por exemplo) outro SYNTH e gravo o bumbo. Terminado ele, seleciono outra TRACK, coloco o mesmo CANAL (3 no exemplo), o mesmo SYNTH e gravo a caixa. Outra TRACK, mesmo SYNTH, mesmo CANAL e gravo o contratempo e pratos. Desse jeito a bateria fica em 3 TRACKS mas no mesmo SYNTH. Posso modificar alguns parametros como VELOCITY da TRACK sem afetar as outras peças da bateria.
Faço o mesmo procedimento para cada instrumento que queira adicionar.

Parece complicado no início, mas é assim mesmo. Depois fica claro que TRACK e CHANEL são duas coisas diferentes. A TRACK1 pode estar enviando sinal para o CHANEL4 onde está o SYNTH2.
Quando a placa de MIDI tem várias saídas e entradas é possível usar teclados ou controladores diferentes. Vejam só como é a minha configuração com em uma interface com 4 portas MIDI:

MIDI OUT 1: C 1 (canal 1) = TX81z, C2 = Juno Alpha 2. C3 a C12 = SC88MkII (MIDI IN 1), C13 a C15 = Wavestation SR, C16 = GR50
MIDI OUT 2: C1 a C16 = SC88MkII (MIDI IN 2)
MIDI OUT 3: C1 a C16 - QS 7.1
MIDI OUT 4: C1= Z1; C2=SPD20; C3 a C16 = JV1080
MIDI IN 1: QS7.1
MIDI IN 2: Juno 2
MIDI IN 3: SPD20 ou GR50
MIDI IN 4: Z1
Além disso tenho um KeyRig49 em uma porta USB que serve para tocar qualquer synth em qualquer porta e funciona só como controlador (não teria como ser diferente)
Depois de colocados esses instrumentos em MIDI, passo a gravar o audio, que pode ser uma guitarra, flauta, qualquer outro instrumento ou voz. Configuro a TRACK para AUDIO e gravo enquanto ouço os teclados. Aqui sim pode aparecer a latência, mas só no que está sendo gravado.
A vantagem disso é que os synths estarão sempre em primeira geração. Lembrem-se que mesmo gravando em digital, uma gravação pode ser ruim. Podem aparecer ruídos dos cabos das fontes, do ventilador de teto, do ar condicionado do quarto ao lado, da geladeira, máquina de lavar, etc. Gravando em MIDI não há ruído.

Com a música pronta, faço uma primeira mixagem, acertando os volumes de cada instrumento no programa, depois vou para a mesa de som e equalizo os timbres, acerto os PANs e os volumes da mesa. Alguns timbres precisam ficar mais altos em seu volune MIDI do que outros e a mesa é pra dar um acerto final.
Tudo tocando do jeito que eu quero, uso um gravador digital externo no qual gravo a música na sua versão em stereo. Volto ao computador e com o Sound Forge faço os ajustes de masterização necessários, preferencialmente mínimos.

Pronto, mais um sucesso das paradas está pronto.
Será que isso ficou claro?
Forte abraço
Saba
Nota: esse é um roteiro básico e o mais importante a destacar aqui é a configuração das portas MIDI e não como o Alex gera o audio. Esse é o modo como ELE faz. Você pode fazer diferente, gostar ou não.

Latência MIDI e DAW

(MSG do Ricardo Tolomelli em resposta ao problema e dúvidas sobre latência ao Rodolfo em 18/8/2009)
- O padrão MIDI foi criado no comecinho dos anos 80 (ou fim dos 70, não sei direito) e até hj é basicamente a mesma coisa. Foi criado pra que um instrumento digital pudesse conversar com outro em termos digitais, basicamente notas e controles, e não áudio digital. Por serem só informações BEM pequenas, ele funciona bem, mesmo nos primórdios. Então, esqueça a latência por causa da interface MIDI, ela trabalha com folga larga (MUITO LARGA) nos sistemas de hoje.
- Os software DAW (Digital Audio Workstation), como o Sonar, usam o termo MIDI pra simbolizar as trilhas que não possuem áudio digital, mas sim mensagens MIDI, tipo notas e controles. Estes sofwtares evoluíram do sequencer, que era, exclusivamente, um software MIDI, como num sequencer de um teclado workstation, onde as trilhas só contem informações MIDI e o som era gerado por um hardware separado (ou junto, no casos dos teclados, mas em engines distintos dentro do sistema). Quando os sequencer passaram a gravar trilhas de audio tb, no formato digital (como samplers ou gravadores de rolo, só que no computador), precisou-se fazer a distinção dos tipos de trilha, e convencionou-se que as tipo sequencer seriam chamadas de MIDI e as de audio digital de audio. Isso é parte da culpa por sua confusão de latência achando que estava relacionada à interface MIDI.
- Junto com a evolução dos DAW, surgiu o tratamento do audio digital dentro do próprio software ou através de plug ins, dando origem aos efeitos e também aos famosos softsynths, que são versão software do engine de síntese dos teclados digitais ou workstation. Todos estes plug ins ou soft-synths são geradores ou alteradores de som, e utilizam o processamento da máquina ou das placas de som para rodar, e isso é BEM importante saber. Tudo o que vc roda dentro de uma DAW como plug in, sampler ou sintetizador, ou ainda o próprio mixer (mesa de som) do software, utiliza o processamento da máquina ou da placa de som. Aqui mora a culpa da latência, conforme explico mais abaixo.
- Quando vc grava e roda uma trilha MIDI ela praticamente não consome nenhum processamento da sua placa mãe, menos ainda da sua placa de som, porém, ela, sozinha, não gera som nenhum. Se vc roteia o sinal MIDI da referida trilha para tocar um instrumento externo, tipo um módulo ou um teclado, ligado ao seu micro pela interface MIDI, quem vai produzir o som é o módulo ou teclado, e vc não vai perceber latência nenhuma, a interface MIDI dá conta do recado, como eu disse, com folga. Porém, se vc roteia o sinal da sua track MIDI para um soft-synth, por exemplo, vc passa a usar o seu micro e sua placa de som para gerar o som, e aí começa a sofrer de latência conforme vc vai acumulando funções que estão sendo processadas ao mesmo tempo pelo seu computador e pela sua placa de som, imagine um soft-synth possui um algoritmo para gerar o som, outro algoritmo para manipulá-lo (filtros, envelopes, pitch), aí vc toca um acorde e multiplica por três o que está sendo processado por aquele soft-synth, então vc passa o audio dele por uma central de efeitos com delay e reverb, e estes efeitos também são calculados dinâmicamente sobre o áudio gerado dinamicamente, e por fim tudo passa por uma mesa de som virtual que também consome lá sua parcela de processamento para juntar tudo numa saída só, traduzida pela placa de som no som que vc ouve. Agora imagina 3, 4, 8 trilhas dessas rodando ao mesmo tempo?
- Pra resolver isso, o primeiro passo foi criar drivers (e padrões de drivers) mais eficientes, que conseguem aproveitar mais os recursos de hardware da placa que vc está usando, um dos padrões é o ASIO, e o ASIO4ALL é um driver genérico para prover o padrão ASIO sobre placas de som comumente encontradas em notebooks e PCs. As placas dedicadas todas vem com uma versão otimizada de driver, no padrão ASIO ou outro padrão, que permite que os DAW explorem ao máximo o hardware e com isso diminuindo a latência, que é o tempo que o computador demora para processar todas as informações.
- Mas mesmo com os drivers mais eficientes, ainda há limites que precisam ser observados, e estes são os limites impostos pelo seu PC e pela placa de som que vc usa. Os limites de um sistema (PC + placa) só serão ultrapassados se vc trocar de PC ou de placa. Se vc comprou uma placa um pouco melhor, configurou os drivers corretamente, tentou ajustar um nível de latência que seja aceitável pra vc, mas ainda assim a placa de som não está dando conta de resolver tudo o que vc quer que ela resolva naquele espaço de latência, então vc está trabalhando além do limite do seu sistema. Só há duas coisas a fazer:
1 - Comprar uma placa melhor ainda, uma que comporte um bit rate mais alto (24 nits, por exemplo) e uma taxa de asmostragem mais alta tb (96 khz ou ainda 192 khz) vai te dar mais folga, principalmente se vc estiver trabalhando com audio na casa da qualidade de CD (16 bits a 44.1 khz).
2 - "Congelar" as trilhas que vc não pretende mexer por enquanto - Congelar ou "freeze" um trilha significa renderizar o que é produzido por aquela trilha numa trilha de audio, assim, todo o processamento usado para gerar o som daquela trilha específica (soft-synths, efeitos, mixer, samplers, etc) vira uma trilha de audio que é tocada pelo DAW de forma direta, praticamente não consumindo nenhum processamento. Essa técnica é extramente útil em home studios se vc quer produzir um trabalho profissional com muitas trilhas, porém é inútil se vc está usando o computador como um módulo de som pra tocar ao vivo com um controller MIDI.

E aí, qual o seu caso?
[]'s
Ricardo Tolomelli