segunda-feira, 6 de outubro de 2008

ASIO4ALL - Áudio de baixa latência para todos

O primeiro passo para a utilização de um computador (ou notebook) como ferramenta de criação/geração/manipulação de áudio em tempo real é uma interface de áudio ou placa de som que possua baixa "latência".


A latência, numa placa de som, refere-se ao atraso entre a conversão do sinal digital produzido pelo computador e a saída ou entrada do som pela placa de som.
Por exemplo, quando se usa um computador como sintetizador controlado via teclado MIDI, o tempo que leva para se ouvir o som de uma nota após tocada no teclado é a latência. Ou quando utilizamos o computador como ferramenta de manipulação do áudio vindo de um microfone conectado à placa de som. A latência então pode ser percebida como a diferença do tempo entre a captação do áudio no microfone e o resultado do áudio manipulado pelo computador.


Latências inferiores a 7ms (milissegundos ou 0,007s) são consideradas de "tempo real". Acima desse valor já é possível ouvir um atraso entre a execução de uma nota e o seu som.


O áudio no Windows sempre sofreu com problemas de latência, pois os drivers padrão da plataforma (WDM, DirectSound e o antigo MME dos Windows 95/98/ME) não foram desenvolvidos para aplicações de tempo real.


Uma forma de driblar essa deficiência foi proposta pela Steinberg (desenvolvedora do Cubase e Nuendo - softwares sequenciadoes e de gravação de áudio multicanal) com o ASIO (Audio Stream Input/Output), que "pula" as camadas e os drivers padrão da plataforma e conecta os sinais de áudio vindo dos softwares direto com o hardware da placa de som, permitindo o trabalho com o áudio em tempo real.


O problema é que o ASIO só está disponível para placas de som profissionais. Para quem começa no mundo do áudio, nem sempre é possível adquirir tais placas e a única alternativa é utilizar as interfaces "on-board" presentes nos computadores e notebooks.


O ASIO4ALL contorna esse problema, fornecendo interface ASIO para qualquer placa de som que possua driver no padrão WDM (Windows XP/2000 ou superior).


O driver pode ser baixado de www.asio4all.com


Instalando


A instalação é simples, bastando tomar cuidado apenas na tela abaixo. Marque as opções como demonstrado na figura:

Configurando


Ao clicar no ícone que o instalador colocou no desktop "ASIO4ALL Off-line Settings" a seguinte interface aparece. Se a placa de som eh compatível com o ASIO4ALL, ela aparecerá na lista, marcada em azul no ícone da esquerda, ao lado da seta e do nome da interface. O modo de configuração padrão permite apenas a escolha do tamanho do buffer ASIO.



O tamanho do buffer (medido em samples) eh quem define a latência do áudio, em operações de áudio em tempo real. Quanto menor o valor em samples da latência, maior o processamento necessário para a reprodução do áudio. Na configuração abaixo para a minha placa de som (uma simples SoudBlaster Live CT4870) utilizei um buffer de 256 samples, que me possibilitou uma latência de aproximadamente 7ms, no limite do aceitável.
Um indicativo de que a latência possa estar baixa demais e sobrecarregando a CPU é a reprodução de "plocs" no áudio, ou interrupções intermitentes no som, como se o áudio estivesse "pulando" ou "pipocando".
O ideal eh descobrir um ajuste que possibilite baixa latência e ao mesmo tempo um uso com relativa folga da CPU. Um uso intenso da CPU por um determinado software ou plug-in também pode causar falhas no áudio.


Clicando no botão Advanced da configuração (com a figura da chave) temos mais opções de sintonia fina da configuração. Nessa opção podemos habilitar a interface ASIO4ALL para as entradas e saídas individuais da placa (para placas de som com mais de 1 entrada e mais de 2 saídas). Na configuração abaixo pode-se ver que minha placa de som possui 4 pares de saídas e que apenas habilitei as saídas 0/1. Se quisesse habilitar as demais, bastava clicar na saída presente na lista "WDM Device List" e clicar no botão ao lado da seta e do nome de cada uma das saídas da interface (com o desenho de um pequeno "Power"). Cada saída ou entrada habilitada aparece no software a ser utilizado (Ex: Ableton Live) como uma saída ou entrada ASIO. Não esquecendo de ajustar o tamanho do buffer no controle "ASIO Buffer Size", que abaixo foi ajustado em 256 samples.


Lembrando que a interface de configuração deve ser sempre fechada após os ajustes e antes de se iniciar o software a ser usado.


Essa configuração deve também ser acessada de dentro do software de áudio. Geralmente os softwares de áudio possuem uma interface de escolha de driver de áudio a ser utilizada. Na figura abaixo esta demonstrada a interface de configuração de áudio do software Ableton Live.



O tipo de driver ("Driver Type") foi selecionado como "ASIO". Na guia "Audio Device" está marcado a interface "ASIO4ALL v2". A configuração dessa interface pode ser acessada pela opção "Hardware Setup". Verifique também o tamanho da latência para um buffer de 256 samples: 7.28ms.


Abaixo a configuração do Usine:


Abaixo a configuração do Reason:



Qualquer software compatível com ASIO pode ser usado para o teste de latência da interface. Entre eles:


- Ableton Live
- Plogue Bidule
- Usine
- Cakewalk Sonar
- Cubase
- Reason


Mas o ASIO4ALL não serve apenas para interfaces "on-board" mais baratas. Pode ser utilizado como substituto do drive ASIO presente em interfaces profissionais e muitas vezes com desempenho superior ao driver fornecido pelo fabricante. Tive experiência em utilizar o drive ASIO4ALL substituindo com sucesso e com melhor latência o drive fornecido pela M-Audio em um de seus modelos de interface de som USB.



Alguns outros artigos desse blog, que podem ser uteis:


Interconectando Aplicativos de Áudio - JACK Audio Connection Kit
Utilizando JACK no Processing
Interconexão de Sistemas de Controle de Áudio - Parte 1
MIDI e OSC: Interconexão de Sistemas de Controle de Áudio - Parte 2


Referências:
http://www.asio4all.com/
http://en.wikipedia.org/wiki/Audio_Stream_Input/Output
http://en.wikipedia.org/wiki/Latency_(audio)

26 comentários:

G.A. disse...

muito bom...

acho que está fazendo um trabalho
incrível.!

Já está nos meus links...

muita gente vai se beneficiar dessas informações.

Um Abraço!

Simão disse...

Oi tudo bem?? A informação está bem organizada e os conceitos bem explicados mas o meu ableton ficou lento e agora deixei de conseguir gravar e ouvir a minha guitarra!!! Abraço

Anônimo disse...

boas, eu no guitar rig 3, já instalei o asio4all tudo ok. Quando abro o guitar rig3 , clico em audio & midi settings e simplesmente não abre nada. Alguém me pode ajudar?

eric disse...

PUTS CARA ESSA PARADA ME AJUDOU MUUIITOO!!!! VALEW!!!!

Eurico disse...

Exelente material! meus PARABÈNS!
é de informação limpa e bem organizada q precisamos na internet.
Me ajudou muito! abraço.

Anônimo disse...

CARA, TU É O MESTRE... VLW

Anônimo disse...

CARA, TU É O MESTRE!!! VLW

merO perfiL disse...

se a placa de som não der compatível? o que eu faço ?

Anônimo disse...

Valeu cara!

remanescente disse...

valeu ajudou muito recomendo

remanescente disse...
Este comentário foi removido pelo autor.
ADM Nikolas QSD disse...

kra no meu aparece um negocio amarelo e os outros ficam normal "status - Beyond Logic"

Som Apparatus - DJ MARCELO disse...

olá amigo, tudo bom, blz, olha só pergunta esses note book I3 I5 com windows 7 precisa baixar este software de baixa latência que você postou? ou estes computadores e sistemas operacionais já estão com este problema resolvido, pergunto pois tenho um I3 que fica trancando o audio e já reinstalei drives, etc... obrigado pela atenção, abraço marcelo@djapparatus.com.br

Banda LHEMUS disse...

CAra,Parabéns,eu nunca vi nada tão Bem Explicado como esse,Parabéns mesmo,Eu uso o REALTEK HD,tenho também o ASIO4all,E uma Zoom G2 1.u,nela tem uma opção de você ao invés de usar adaptador P10/p2,Você pode Usar somente a USB da Pedaleira,achei muito interessante essa opção e achei que ficou bem mais prático,Mais quando eu uso a minha guitarra ligada na pedaleira e no pc usando o USB,Vem com Atraso (Eu toco e depois de uns 1/5 Segundos o som Sai no Home Teather,mais eu vou tentar corrigir o Erro Configurando desse Jeito que você ensinou,Valeu cara,Muito bom teu blog Parabéns Mais uma Vez!

Rafael Bihain disse...

cara nao consigo instalar no meu noot. a placa do meu é directx naooo funciona de jeito nenhum quando da alguma coisa eo microfone do noot captando o som. oque eu faço me ajudem.

André Filho disse...

Poxa, muito pertinente suas explicações e indicações. Mesmo não tendo falado no Nuendo me orientou bastante.

Só tenho a agradecer por nos disponibilizar essas dicas.

Continue com esse belo trabalho

abraços

Evandro Aparecido disse...

ola eu tenho uma duvida alguém pode me ajudar e quando se trata de uma placa de som interna de um notebook tem jeito ? no caso do meu eh microsoft (ahaudaddservice)

JOÃO BATISTA PEDROSO disse...

ola tem como usar o asio4all com duas placas? por exemplo uma sound king max200 l nos imputs e uma beringer uca222 nos outs pra reprodução? to tentando usar esse equipamento com o cubase 5 mas não sei como configurar me dê umas dicas ae por gentileza

Anônimo disse...

Muito Obrigado cara!!! ajudou e muito mesmo vlw!!! agora vou produzir tranquilo sem aquela travadeira do ableton live!!

meu pc é um 2gb, 320 HD dual core 2.1 ghz pensei q ele n aguantava o Ableton mais pegou vlw!!!

Anônimo disse...

Muito Obrigado cara!!! ajudou e muito mesmo vlw!!! agora vou produzir tranquilo sem aquela travadeira do ableton live!!

meu pc é um 2gb, 320 HD dual core 2.1 ghz pensei q ele n aguantava o Ableton mais pegou vlw!!!

Lord Wladi disse...

Cara veleu! Nota 10! pro site cara... Ajudou muito... Valeu mesmo...

Flávio disse...

Olá, Primeiramente parabéns pelo blog.
Acabei de instalar o driver Asio4All beta 2 - 2.11. Devo aumentar "Latency Compensation" para 32 (em in e out) como você demonstra em te blog?

Obrigado e aguardo.

Anônimo disse...

Cara brigado vlw msm .... outro dia fiquei igual doido tentando regular este negocio quase detonei o pc .... mas agora deu certo ... brigado msm

kkaw disse...

Olá, André, saudações!
Parabéns pelo blog e Obrigado pelas dicas de configuração, mas continuo com o problema de latência na gravação MIDI (não tenho latência no áudio). Uso Win7, Interface externa M-Audio M- Track e um Yamaha PSR S710. Já tentei os três drivers: ASIO4ALL 2.10, 2.11 Beta2.e o dedicado do site M-àudio.
Caso possa sugerir alguma coisa para ajudar-me, ficarei grato.
Abraços!
Ricardo

Andre Veloso disse...

Olah Ricardo.

Problema de latencia MIDI nao estao diretamente ligados ao Asio4All.

vc pode fazer um teste das capacidades MIDI da sua maquina com o programa abaixo:

http://www.midiox.com/

Infelizmente a Microsoft vem cortando aos poucos o suporte MIDI nos Windows. o Windows 8 por exemplo oculta o painel de escolha de dispositivo MIDI padrao presente desde o Windows 3.

Quais softwares vc usa para gravar MIDI?

Abracos,

mrborges73 disse...

Amigo ,possuo uma placa de audio musiland monitor 01 us (dac) ,e o software dela tem opçoes de ASIO e WDM ,porem nao consigo alternar para o modo ASIO, e ja tentei varias configuraçoes ,mas pelo que entendi nao ha hardware para isso ,mas como pode ser se o proprio software tem essa opçao ?Eu teria alguma melhora na qualidade do audio ,caso pudesse "ouvir" meus arquivos FLAC ,em ASIO ?
Grato