Postado por
NinjaMusic
quarta-feira, 17 de junho de 2009
Talvez o mais traumático processo
de mudança do windows pro linux em audio seja aprender a lidar com o
Jack. Muitos não entendem seu funcionamento. E nesses muitos, podemos
incluir também usuários linux antigos, que acham que mexer demais no
Jack pode ser fatal ao sistema. Mitos e dificuldades a parte, resolvi
postar aqui para todos, um guiazinho bem relax sobre as principais
características deste poderoso aplicativo que pode transformar seu
computador em um super estúdio, e simplesmente deixar você SEM LIMITES
quando o assunto for audio. Na verdade todas as informações aqui
descritas tem como base a documentação oficial do projeto, e alguns
textos interessantes que encontrei na net. Vamos nessa, porque dominar o
JACK é realmente imprescindível para maximizar nossos processos em
audio.

O que podemos fazer com o JACK?
## Trabalhar em tempo real com audio
## Ligar um programa à outros
## Pegar a saída do mesmo programa e enviá-lo aos outros dois, em seguida, gravar o resultado no primeiro programa
## Sincronizar todo um ambiente com cinco ou seis programas rodando e tocar junto e transformar tudo isso em um audio final
## RESUMINDO: Praticamente tudo é possível ao JACK
Nossa, mas o que é o JACK afinal?
JACK
é um sub-sistema de gestão em tempo real, de baixa latência de áudio e
MIDI. É um projeto seríssimo que roda em Linux, Solaris, FreeBSD, Mac
OS X e Windows (e pode ser portado para outras plataformas ainda, é
mole?) Pode ligar um número de diferentes aplicações para um dispositivo
de áudio, bem como permitindo-lhes partilhar áudio entre si. Os seus
clientes podem executar em seus próprios processos (ou seja, como
aplicações normais), ou podem eles podem ser executados usando o JACK
como servidor (ou seja, como um "plugin"). JACK foi concebido a partir
do solo para o trabalho profissional de áudio, e seu projeto
concentra-se em duas áreas fundamentais: SINCRONISMO na execução de
todos os clientes, funcionamento e BAIXA LATÊNCIA. Simplesmente o JACK é
a tesão de trabalhar DE VERDADE com audio e não ser apenas um
arrastador de mouse, ou apertador de botões.
E aí? O tróço é louco ou não é?
Então esmiuçaremos ele em breve...
PS:. O nome dos posts a seguir é uma singela homenagem ao amigo “encrenqueiro” (huahuahua) Raul Dipeas.
Postado por
NinjaMusic
quinta-feira, 18 de junho de 2009
Vamos agora a primeira parte do
nosso esclarecimento do JACK. Reza a lenda que uma vez no linux o JACK
só podia ser rodado do terminal, e nessa época obscura os usuários linux
sofriam demais com toda a complicação que era usar o JACK. Eis que
surgiu a interface gráfica do JACK e os linux user foram felizes para
sempre, ou quase (hehehe).
Pois bem o JACK é responsável pela
comunicação entre os softwares e sua placa de som e isso faz dele um
motor de audio muito útil e até por assim dizer imprescindível para
trabalhar profissionalmente. Ao abri-lo você irá se deparar com sua
interface gráfica. Vamos ao que significa cada um dos itens dele:

START – inicia o trabalho do JACK
STOP – para o trabalho do JACK (não diga...)
MESSAGES – exibe as mensagens do que vem ocorrendo com o JACK, com sua interferência e também sem ela
STATUS – mostra como está o JACK, e também como ele está se comportando
CONNECT – mostra as conexões que estão sendo feitas entre softwares e sua placa de som
PACHTBAY
– é onde você pode salvar todas as conexões para não precisar
refazê-las sempre que reabrir um projeto cheio de softs rodando ao mesmo
tempo, as para que ele funcione corretamente é necessário que todos os
aplicativos já estejam abertos antes de você abrir o patchbay salvo.
QUIT – para o JACK e o fecha instantaneamente (como você já podia imaginar)
SETUP – entra no menu de opções para suas preferências no uso deste aplicativo
ABOUT – informações sobre a versão do JACK que você está usando
Você
agora deve estar pensando, tá mas e aqueles comandos stop/play e talz
abaixo do visor o que são? Eles são usados quando você vai rodar dois ou
mais programas sincronizados como por exemplo hydrogen tocando uma
batera e o ardour tocando uma gravação de violão. Se os dois estiverm
configurados para que o jack seja servidor de comunicação entre eles,
por este comando você poderá rodar os dois ao mesmo tempo 100%
sincronizados. E não só por eles, mas também nos plays/stops dos
próprios programas, não é incrível??

O
Console logo acima traz muitas informações pertinentes a todos nós,
como se o jack está rodando e se está em realtime (RT), o samplerate com
que o jack está trabalhando, uso do CPU em porcentagem, dados de
sincronismo caso haja, e o numero de XRUNS ocorridos.
Você deve
agora ter pensado: PORRA MAS QUE DIABOS É XRUN??? Calma, vamos a uma
tradução livre do documento oficial que encontrei no site
Estudio Livre:
“Bem,
quando seu jack está devidamente configurado e você tem processador e
memória ram suficiente para conectar todos os softwares que você precisa
com ele atingimos a situação ideal e agora é só criar. Porém, existem
alguns problemas que podem ocorrer atrapalhando o bom funcionamento do
jack e dos processos de áudio em sua máquina. Os mais freqüentes são os
chamados XRUNS e o efeito colateral de tentativas de correção deste: a
alta latência.O XRUN quando muito alto, passa a inviabilizar o
procesamento de áudio na sua máquina, dando uma sonoridade "mastigada"
no processamento, pois o que acontece na verdade é que seu sistema
operacional e hardware não estão conseguindo lidar com os paramêtros que
você exigiu do jack, e você perde desempenho."
Isso já deve ser
suficiente para que você saiba que devemos evitá-lo a todo o custo e
vamos ver como evitá-los no próximo capítulo.
PS: Não esqueçam
que temos uma comunidade do orkut que pode servir de fórum para tirar
muitas dúvidas, entrem lá, o endereço está no menu ao lado...
Postado por
NinjaMusic
segunda-feira, 22 de junho de 2009
Bom, agora sim chegaremos ao
coração do Jack, é muito importante que você leia e até releia o que
está escrito aqui, por que o SETUP deste aplicativo é tão poderoso que
só realmente sabendo o que significa cada parâmetro você chegará ao
máximo do sistema de audio da distro escolhida! Saibam que as
configurações que realmente farão toda a diferença estão na primeira aba
(hehehe).
JACK SETUP / SETTINGSAqui
está a parte de configurações que realmente faz diferença neste duelo
de titãs que é travado por LATENCIA x XRUNS. Aqui todo o “tempo que
você” perder tentando configurar vai valer a pena, mas com este tutorial
fica um pouco mais fácil de saber como você deve proceder para resolver
os problemas que eventualmente possam estar ocorrendo com seu Jack.
ATENÇÃO:
O JACK se comporta muito melhor rodando sobre KERNEL-RT se você não tem
ainda, não conseguirá rodar ele em sua plenitude e em tempo real ok? (a
menos que aconteça um milagre). 
Bem vamos ao que interessa, as configurações:
1-
DRIVER = aqui você pode escolher o Driver de som que você mais goste
(ou que melhor funciona em seu sistema) eu sinceramente ainda não
conheci nenhum mais compatível que o ALSA.
2- REALTIME / PRIORITY
= Ativando o Realtime seu jack trabalhará em tempo real! Mas para que
ele funcione corretamente seu kernel deve estar configurado para
trabalhar neste modo. Caso você esteja usando uma distro customizada
para audio basta ativar o Realtime e tudo estará funcionando. Caso sua
distro não seja específica pra audio sugiro que leia “
O Estranho Mundo de Jack – Epílogo”.
Em Priority você escolhe a prioridade que o audio terá no sistema
(quando o Realtime estiver rodando), o site oficial do projeto indica
valores entre 70 e 80.
3- NO MEMORY LOCK / UNLOCK MEMORY = Aqui
você irá escolher de que maneira o JACK irá utilizar a memória nos
processos de audio. Caso for trabalhar com wine ou GTK+ ative o UNLOCK.
Nestas duas opções você também tem a possibilidade de resolver problemas
como por exemplo a tela não atualiza sincronizada com o áudio (pois o
jack estaria se atravessando em alguns acesso a memória dos processos
gráficos).
4- SOFT MODE = Habilitado ele esconde e ignora os
XRUNS do sistema. Eu sinceramente desaconselho o uso desta opção no
processo de audio profissional, por que ela acaba enganando a gente. Mas
se depois de configurado o jack seu numero de XRUNS for realmente
pequeno você pode habilitar este modo.
5- MONITOR = Esta opção
cria saídas e entradas virtuais de monitoramento para processos de áudio
em tempo real que sua máquina esteja executando. Seria uma maneira de
conseguir um retorno em tempo real, conectando os monitores aos
playbacks. Caso você não conecte nada de diferente acontecerá. Para o
monitor funcionar corretamente sua placa de som deve ter suporte para
este recurso.
6- FORCE 16BIT = O padrão do JACK é 32bits, mas
como você sabe os CDs atuais ainda usam a taxa de 16bits na masterização
final. Então, caso você tenha problemas com o desempenho do seu JACK
forçá-lo a trabalhar em 16 bits é uma boa opção.
7- H/W
MONITOR/METER/IGNORE = Suporte para monitoramento de medidas fornecidas
diretamente pelo seu hardware, claro, se sua placa tiver esta opção.
8-
VERBOSE MESSAGES = Refina a saída de mensagens, fazendo com que as
mensagens reportadas, com diagnósticos e evetos sejam comunicados em
tempo real.
9- MIDI DRIVER = Bom, pelo nome você deve saber o que é né? Hehehe
10-
CONFIGURAÇÕES DE AMOSTRA = Essas configurações (Frames/Period,
Samplerate, Periods/Buffer, WordLenght, Wait e Channels) correspondem
diretamente a velocidade da captura, tamanho dos “dados”, e mais algumas
opções que equilibram a latência.
O SAMPLERATE USADO NO JACK DEVE SER O MESMO QUE SERÀ UTILIZADO POR TODAS OS SOFTS DE AUDIO INSTALADOS NO SISTEMA, caso ele não seja o mesmo em todos, pode ocasionar estalos, xruns, e funcionamento incorreto dos softwares.
Frames/Period
e Period/Buffer baixos são rápidos e requerem mais processamento
dedicado e conseqüentemente baixam a Latência, por outro lado, não será
possivel trabalhar com latência tão baixa com processadores lentos e
sample rates muito altos. Baixas latências sempre exigem processamento
alto. Portanto, se você pode abrir mão de um pouco de latência este é um
lugar onde você pode compensar um pouco a falta de memória e
processamento de sua máquina. Teste até encontrar o ponto G do sistema
(hehe).
As outras opções ("Word Lengh", "Wait" e "Channel") não são
configuráveis pelo módulo ALSA, mas também tem relação com a manipulação
e tamanho das amostras. Para testá-las mude o Driver lá de cima, mas se
usar ALSA não precisa se preocupar (3 coisas a menos para configurar,
hehe).
11 - PORT MAXIMUM = Define o máximo de portas que o jack
vai poder lidar. Para aumentar o desempenho escolha o menor número de
portas possível, o valor recomendado pelo site do projeto é 128.
12
- TIMEOUT = Esta opção seta o tempo de saída dos processos baseado num
pequeno atraso de "sincronização" nesta saída. Você pode também fazer
alguns testes de desempenho com esta opção para ver como seu sistema
trabalha melhor com essa opção.
13 – START DELAY = define um
atraso no inicio das aplicações no JACK, ideal para o sistema se
“organizar” para “receber” as novas aplicações, o normal desde valor é 2
segundos.
14 – INTERFACE = Aqui você vai escolher a placa de som
que vai trabalhar como prioritária em seu sistema, caso tenha mais de
uma.
15 – DITHER = Dither é um processo de "suavização" matemática
que pode ser necessário no seu processamento de áudio quando existem
conversões de taxas de amostragens diferentes ou mesmo quando existem
conversões de volumes, aplicações de filtros de freqüencias. Se você
esta sentindo algum tipo de distorção em algum processamento que o jack
está transportando pode experimentar estes algoritmos.
16 – AUDIO
= Aqui você pode escolher no que sua placa vai se dedicar, se em
captar, ou reproduzir, ou ainda nas duas coisas ou seja DUPLEX, que é o
padrão.
17 – IN/OUT DEVICE e CHANNEL = Bem, aqui você define
entradas e saídas, depedendo da sua placa, ou suas placas, um recurso
bem interessante. Caso queira usar só a placa padrão escolhida
anteriormente deixe todos em DEFAULT.
18 – IN/OUT LATENCY = você já deve saber pelo nome né? Deixe em default para usar o máximo de seus recuros.
19 – LATENCY = aqui você terá o resultado direto em milisegundos.
JACK SETUP / OPTIONSAqui
estão as opções do aplicativo, sobre tudo como ficarão as conexões, o
que aparecerá nas estatísticas e os scripts que são usados por padrão,
normalmente esta aba assim como as próximas já vem em configurações
adequadas por padrão.
JACK SETUP / DISPLAYAqui
você escolhe como o Jack vai aparecer pra você, como o próprio nome já
diz, os controles são bem intuitivos e simples como você pode ver
JACK SETUP / MISCBem,
esta aba você tem acesso a opções comuns do Jack, mas relax, aqui você
pode escolher se ele vai começar minimizado na bandeja, se vai entrar
rodando, quais botões da interface dele vão aparecer, se ele vai
suportar ALSA (que é a arquitetura avançada de som pro linux) enfim,
acho que esplicar o que contém nesta aba pode ser um insulto a sua
inteligencia então paro por aqui (hehe).
Bom
se você leu até aqui e prestou a atenção devida a cada tópico,
provavelmente você conseguirá configurar seu JACK perfeitamente, e ainda
resolver quaisquer eventuais problemas que possam surgir. Agora se você
não prestou muita atenção, sugiro que releia de novo este post, para
não ter mais problemas.
Cenas do Próximo Capítulo
Na próxima iremos falar das conexões no Jack, e obrigado a todos os leitores e comentáristas!!
PS: . Algumas partes deste texto são traduções livres da documentação oficial do JACK, fui...
Postado por
NinjaMusic
terça-feira, 23 de junho de 2009
Olá amigos, hoje vou falar das conexões no jack. É aqui que tudo acontece!
Para
você entender melhor o funcionamento das conexões imagine um estúdio
tradicional. Você já deve saber um pouco como funciona né? Se você toca
guitarra (ou viu já prestou a atenção nos guitarristas) sabe que tem que
ligar a guitarra em um pedal e o pedal no combo para tocar e talz. Vou
exemplificar com uma figura:

Essa
figura tosca mostra como é ligada uma guitarra a dois e efeitos e um
amplificador. O OUT da guitarra é ligado por um cabo ao IN do primeiro
pedal. O OUT deste primeiro pedal é ligado no IN do segundo pedal. Este,
por sua vez, tem seu OUT ligado ao IN do amplificador. A figura não
mostra, mas o OUT do amplificador está ligado no IN do auto falante. E
conseqüentemente o OUT do auto falante está ligado ao IN dos seus
ouvidos. Toda essa ladainha é só pra dizer que o esquema de conexões no
JACK trabalha no bom e velho sistema IN e OUT.
No JACK as conxões são exatamente assim...
Isso
parece comum, mas na verdade é um recurso que eleva seu estúdio a
padrões inimágináveis, uma vez que praticamente qualquer aplicação pode
ser ligada a outra via JACK.
Algumas conexões são feitas de forma
automática como é o caso da imagem abaixo onde o Ardour está gerenciando
os audios existentes no projeto e ligado-os ao mastes que por sua vez é
ligado no playback da placa de audio.

Não é fantástico?
Mas, alguns aplicativos tem que ser conectados manualmente. Não é difícil basta seguir a mágica regra do IN/OUT hehehe...
Vamos
há um exemplo ligando seu controlador midi ao ZYNSUBADDFX (que nome
mais feio, tá loco). Basta ir na aba ALSA e ligar a entrada midi de sua
placa de som ao ZYNSUBADDFX já que ele por padrão já está ligado
automaticamente a sua placa de som... veja:

Moleza
não é? Apesar de não ser tão prático, posso precisar que este modo de
trabalho lhe dá uma liberdade tão grande que você nem tem idéia. Afinal,
você poderá qualquer aplicação a outra e ainda gravar numa terceira ou
quarta, ou sei lá ligar diversas aplicações umas a outras e gravar o
resultado final. É muito ampla a aplicação das conexões, tanto que eu
poderia falar delas durante muito tempo, vai nessa galera mãos a obra!!!
PS:
. Existe um outro princípio que utiliza o IN e o OUT e que normalmente
gera depois de nove meses uma belíssima criança (huahuahuahua)
Postado por
NinjaMusic
sexta-feira, 26 de junho de 2009
Olá amigos!!
Pelo que eu fiquei
sabendo vocês estão aterrorizando vizinhos desde que adquiriram
conhecimento suficiente para configurar o JACK e decidiram gravar seus
ensaios. Hehehe. Parabéns!!
Que bom que vocês vem lendo o blog!!
Pois bem, vamos ao epílogo desta história sobre O Extranho Mundo de JACK, curtam só:
1.
Uma coisa muito engraçada é que o JACK normalmente não lida com sons
dos navegadores de internet. Então não se desespere se você for olhar
aquele video do youtube e ele estiver mudo enquanto o JACK estiver
rodando. Isso é normal, feche o JACK se quiser ver seu vídeo (feche e
reabra também o navegador).
2. A maioria dos players pra linux
rodam normalmente sem o JACK, mas podem rodar sob o JACK se forem
configurados, praticamente todos possuem opções para rodar nele.
3.
Você sempre precisa de baixa latência para gravar e se ouvir não é
mesmo? Um tempo abaixo de 20ms é considerado regular, mas o ideal é que a
latência durante a gravação seja inferior a 10ms, então bora lá!
Durante a gravação busque (na medida do possível e de preferencia sem
xruns) uma latência pequena. Um dos segredos é durante a gravação não
rodar plugins desnecessários neste momento (desabilitando-os) e rodar
apenas os programas mesmo crus (isso baixa consideravelmente a
possibilidade de xruns).
4. Para mixar, não esquente com
latência, pois ela não faz diferença neste momento. Por tanto na hora de
mixar coloque-a acima de 60ms ou 70 ms, afinal, com a latência alta o
processador trabalha mais tranqüilo, e a memória também, sendo assim
você pode encher de plugins as trilhas hehe.
5. Lembre-se que
você pode salvar suas configurações no JACK, isso lhe dá mais agilidade
na hora de trocar de gravação para mix.
E para aqueles amigos que
não conseguiram rodar o JACK em Real Time mesmo usando kernel RT tenho
uma diquinha humilde mas que funciona e é barbada. Saca só basta editar
como root o arquivo /etc/security/limits.conf , onde você deve incluir:
@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -19
Estas
linhas devem estar imediatamente acima de “# End of file” além de
liberar o “Realtime pra quem não podia fazê-lo”, isso vai melhorar o
desempenho do kernel em audio também.
Bom galera, espero que esta série de postagens lhes sirva pra alguma coisa!
Fui Galera!!!
PS:
. Vai em paz Michael Jackson... … Engraçado é que alta galera
(principalmente da área politica) que se morresse seria um alívio,
continua viva, que foda...
Fonte: http://studiolinuxbr.blogspot.com.br/search/label/O%20Estranho%20mundo%20de%20Jack