| |||||||||
|
Guia de Operação - Rosegarden1 Produzindo Som Muitos usuários nos perguntam por que não conseguem que o Rosegarden produza som. Esta é a pergunta mais freqüente realizada no fórum oficial do Rosegarden, e especialmente é um problema para aqueles que vieram do Windows recentemente. Antes de iniciarmos o Rosegarden pela primeira vez, quero explicar que há a necessidade de pavimentar o caminho por onde andaremos e devemos possuir uma boa experiência. Alguns de vocês já sabem disso, e sendo assim estão convidados a pular este capítulo. O tópico de som cobre áreas diferentes que podem ou não ser co-dependentes, dependendo do hardware e software que você possua disponível. Por um lado, existem muitos requisitos que necessitam ser alcançados para reproduzir MIDI com o Rosegarden, e por outro lado, é necessário conseguir que o servidor JACK esteja instalado e rodando de forma segura para fazer uso das características de áudio do Rosegarden. Um servidor JACK é também necessário para reproduzir MIDI com plugins de softsynths, ou para reproduzir mais de um sintetizador pelo protocolo ALSA ao mesmo tempo. Colocar o Rosegarden a produzir qualquer som pode vir a ser um assunto um pouco complicado mas, com sorte, lhe poderemos ajudar a lidar com qualquer conjunto de circunstâncias pelas quais eu já passei antes de você. Não poderei é cobrir cada detalhe de forma a fazer com que uma determinada placa funcione com qualquer distribuição. Acredito também que algumas perguntas poderão ficar sem respostas, pois para abranger todos os tópicos este capítulo viraria um livro. Aqui demonstraremos, em forma de vista geral, um mapa com os possíveis caminhos para serem percorridos de forma a que se produza som com o Rosegarden. É bastante difícil, sabemos, mas esperamos lhe ajudar a dar uma idéia:
1.1 Reproduzindo MIDI:MIDI em ambiente Linux é um assunto um pouco complicado. O hardware disponível se divide em tres categorias, cada uma com uma consideração especial. Hardware MIDI externo (External MIDI hardware), hardware interno suportado por ALSA, e hardware interno não suportado por ALSA. A última categoria é dividida em : ALSA soft synths (sintetizadores ALSA por software) e synth plugins (plugins sintetizadores), que são similares com ligeiras diferenças. 1.1.1 O que há no meu PC?Caso não tenha idéia sobre o que tem dentro de seu computador PC, e não tenha ideia sobre como configurar quaisquer uma destas coisas, um bom lugar para começar é ver o que a sua distribuição lhe proporcionou em coisas grátis e livres. A maioria das distribuições deveriam carregar ALSA no lugar do OSS (o velho sistema de som), e elas deveriam detectar e configurar uma grande variedade de placas de som para você automaticamente. O KDE possui um centro útil de informações que pode apresentar as informações pertinentes à configuração de som de seu computador. Normalmente isto é encontrado no menu KDE dentro de Sistema -> Centro de informação, ou pode ser chamado diretamente digitando "kinfocenter" dentro da janela Executar Comando(alt+ F2). Eis um exemplo:
Diferentes placas de som possuem diferentes características e capacidades. A maioria delas, por exemplo, não mostrará nada a respeito de dispositivos synth. 1.1.2 2.1.2 Interfaces MIDI externasÉ sem sombra de dúvidas o melhor modo para reproduzir MIDI em Linux. Utiliza-se teclados, módulos de som, e também guitarras MIDI. Uma grande quantidade de equipamento está disponível para este propósito, desde teclados bem baratos a elementos eletrônicos de qualidade profissional. O custo pode variar de algumas centenas a milhares de dólares. Caso seja um afortunado em possuir um equipamento deste, provavelmente você terá idéia de como o fazer funcionar no PC. Caso o equipamento possua a capacidade de produzir sons por si só, como o fazem alguns teclados MIDI, você poderá utilizar estes falantes para reproduzir MIDI. Caso seu equipamento MIDI não possua alto-falantes ou caso você tente gravar a saída de áudio deste equipamento, provavelmente irá querer conectar a saída de áudio do seu teclado ou módulo de som em uma entrada de audio da placa de som. Isto permitirá rotear tudo para o mixer da placa de som. 1.1.2.1 2.1.2.1 Adaptadores MIDI de porta joystickO jeito mais simples e menos caro é utilizar um adaptador MIDI na porta joystick da placa de som. Isto é encontrado em muitos modelos de placas comuns de baixo custo, como a Sound Blaster PCI 128 (snd-ens1371). De posse do adaptador correto tudo o que será necessário é conectar o equipamento através de cabos MIDI de 5-pinos DIN standard, com o driver snd-ens1371. 1.1.2.2 2.1.2.2 MIDI USBO protocolo USB está superando o modo tradicional de conexoes MIDI via cabo, e muitos fabricantes estão produzindo teclados que se conectam direto no PC usando cabos USB standard. Existem também disponíveis, dispositivos que possuem interfaces MIDI multi-portas. Estas interfaces são conectadas no PC utilizando um cabo USB, e possuem muitos sockets (conectores) MIDI tradicionais de 5-pinos.
1.1.2.2.1 2.1.2.2.1 Teclados USBA empresa Evolution fabrica muitos modelos são conhecidos por possuirem as especificações MIDI USB que são compatíveis Linux. Chris Cannam, um dos principais desenvolvedores do Rosegarden, utiliza um teclado Evolution-2, e nos conta que este funciona utilizando um módulo snd-usb-audio, que deve ser carregado automaticamente por hotplug. Ele imagina que a maioria dos outros produtos de outros fabricantes devem ser similares. 2.1.2.2.2 Interfaces MIDI USB As interfaces Edirol UM-2 e M-Audio MidiSport 2x2 são conhecidas por trabalharem bem em sistema Linux. Não possuo experiência com este tipo de equipamento, então só posso contar o que ouvi por aí. Pedro Lopez-Cabanillas, um outro desenvolvedor do Rosegarden, nos reporta que fazer funcionar a Edirol UM-2 é tão simples como conectar um cabo USB e carregar o módulo snd-usb-audio, que deve ser carregado através de hotplug.
As interfaces USB MIDI de Pedro Lopez-Cabanillas... Pedro e Chris, ambos nos reportam que as interfaces mAudio MidiSport são mais complicadas para funcionar. Pedro nos conta que algumas delas requerem um programa firmware carregado dentro da RAM do dispositivo para que possam ser utilizadas. Existem firmwares GPL (pacote ezusbmidi) para os dispositivos 1-port e 2-port (até Midisport2x2), eles são providos de pacotes RPM para Red Hat desenvolvidos pelo CCRMA, e para Mandrake pelo Thac . Também existem pacotes prontos para utilizar em AGNULA/Debian e Gentoo, ou você mesmo poderá efetuar algumas alterações e compilar o firmware a partir do código fonte. Chris nos avisa que usuários de kernels das séries 2.6 podem vir a ter dificuldades utilizando estes dispositivos. 1.1.3 2.1.3 MIDI sem hardware externoPara aqueles não possuem hardware externo, existem duas categorias restantes. Umas poucas placas de som possuem boa infraestrutura MIDI que o ALSA possa utilizar. Os restante deverão utilizar algum tipo de sintetizador por software. 1.1.3.1 2.1.3.1 Placas com suporte para sintetizador sob ALSAEste é o caminho mais fácil de conseguir que o MIDI funcione. Que eu saiba, esta categoria somente se aplica às placas de som baseadas no chipset Emu, como a série Sound Blaster Live!/Audigy (snd-emu10k1), e a AWE 32/64 (snd-emu8000). 1.1.3.1.1 2.1.3.1.1 SB Live!, MódulosPrimeior você terá que se certificar de possuir os módulos apropriados carregados no kernel, e que esteja utilizando os módulos ALSA, que possuem snd no nome. Caso a sua distribuição possua algum utilitário para este propósito use-a. Ainda não encontramos um utilitário em modo gráfico que reporte módulos que esteja disponível universalmente. A única alternativa que podemos lhe dar e que está realmente com a eficácia comprovada é através da linha de comando digitar o comando: lsmod | grep snd Possuímos os seguintes módulos carregados para a SB Live!: snd-seq-oss snd-seq-midi snd-emu10k1-synth snd-emux-synth snd-seq-midi-emul snd-seq-virmidi snd-seq-midi-event snd-seq snd-emu10k1 snd-pcm-oss snd-mixer-oss snd-pcm snd-timer snd-hwdep snd-util-mem snd-page-alloc snd-ac97-codec snd-rawmidi snd-seq-device snd soundcore Caso você não visualize estes snd certamente os drivers carregados estão incorretos (OSS, por exemplo), ou então não existem módulos (drivers) de som carregados de nenhum tipo. Solucionar este tipo de problema está além da proposta deste manual, pois existem muitas diferenças entre as distribuições Linux. 1.1.3.1.2 2.1.3.1.2 Configurar o volume do mixerCertifique-se de que tenha levantado os sliders de volume do mixer. Falaremos sobre este complicado mixer em detalhe quando tivermos que manusear várias entradas e saídas com o propósito de gravar áudio. Por exemplo, será suficiente certificar que o canal Music possua um volume alto. Nosso mixer preferido é o KAmix. Desafortunadamente este mixer não está disponível em muitas distribuições, e provavelmente você o deverá compilar (tivemos que resolver bastantes problemas para compilá-lo no Debian). Não é o mixer mais bonito, no entanto é o único encontrado que nos permite controlar a Sound Blaster Live! de forma consistente e eficiente. 1.1.3.1.3 2.1.3.1.3 Carregar um SoundFontFinalmente, necessitará carregar um soundfont dentro da placa. Estas placas usam soundfonts .sf2 que estão disponíveis em muitos lugares na WEB. Não possuímos informações se os soundfonts estão suficientemente livres para serem incluídos em alguma distribuição Linux, então a única forma de obter estes soundfonts é os baixando da WEB, ou a partir de um CD que por ventura acompanhe o pacote de instalação de sua placa. Temos obtido bons resultados em termos de qualidade quanto aos soundfonts encontrados no site Personal Copy, mas, de antemão, não damos garantia expressa ou implícita sobre qualquer soundfonts, inclusive sobre a sua legalidade. Uma vez obtido o sondfont, você precisará carregá-lo na placa. Não existe atualmente uma interface de usuário amigável o bastante para esta tarefa. Estamos desenvolvendo um utilitário para este propósito. Como este utilitário ainda não está pronto, não faremos referência a ele neste manual. Por enquanto, você tem alternativas como o comando de linha asfxload, ou então configurar o Rosegarden para carregar um soundfont no momento em que ele é inicializado, através do comando Settings -> Configure Rosegarden -> Sequencer -> General.
1.1.3.2 2.1.3.2 Placas de som sem suporte para sintetizadores sob ALSAInclui inúmeras placas; cada uma com seu proprio set de módulos. As Sound Blaster PCI e Ensoniq AudioPCI (ens-1370, ens-1371, ens-1373), e os integrados snd-intel8x0 e snd-via82xx são provavelmente as mais comuns dentre um infinidade de outras placas. O processo para fazer com que elas reproduzam MIDI é similar aos casos anteriores. 1.1.3.2.1 2.1.3.2.1 Conferindo os seus módulosPrimeiramente será necessário assegurar que você possua a infraestrutura MIDI ALSA carregando os seguintes módulos em adição a qualquer outro módulo que queria para seu hardware em particular: snd-seq-midi snd-seq-virmidi snd-seq-midi-event snd-seq snd-timer snd-rawmidi snd soundcore (A lista acima foi trazida do exemplo anterior, e possui módulos que não serão carregados com seu hardware determinado. Caso carregue um ou mais módulos, não precisa se preocupar a não ser que seu subsistema MIDI não venha a funcionar.) 1.1.3.2.2 2.1.3.2.2 QSynthEste é o modo menos complicado para conseguir que alguma destas placas de som reproduza MIDI. É muito simples utilizar um softsynth ALSA que pega os dados MIDI como entrada e utiliza o formato .sf2 para produzir o áudio. Em sua configuração mais simples você poderá usar ALSA para a saída de áudio, sem a necessidade de rodar o JACK. Caso queira ou necessite rodar o JACK, este poderá ser conectado na saída. Em sua configuração, você também pode utilizar uma variedade de outros sintetizadores em software tais como o Hydrogen e ZynAddSubFX, todos compartilhando a mesma saída de áudio. O QSynth é muito útil para produção de música em geral, e por isso nosso foco será ele.
1.1.3.2.2.1 2.1.3.2.2.1 Configurar o driver de áudioA primeira decisão que você deve tomar é utilizar o ALSA ou o JACK como saída. Para isso será necessário configurar o JACK. Não importa que alternativa você escolha, ambas são configuradas por meio do botão Setup. Neste exemplo estaremos utilizando o JACK. Note que ajustamos o sample rate de forma a ser igual ao que estamos utilizando no JACK, nesse caso que es 48.000 Hz. Note também que a opção Auto Connect JACK Outputs está marcada. Dessa forma será permitido ao Qsynth fazer a sua própria conexão com o JACK, o que é muito conveniente.
1.1.3.2.2.2 2.1.3.2.2.2 Carregando SoundFontFinalmente será necessário carregar ao menos um SoundFont. Estes são os mesmos .sf2 soundfonts utilizados na série SB Live!, e são carregados através de diferentes abas na mesma página de setup.
1.1.3.2.3 2.1.3.2.3 Plugins de SynthsTambé é possível reproduzir áudio através de plug-ins de synth. Existe um plug-in chamado FluidSynth-DSSI que possui a mesma funcionalidade do QSynth, com a exceção de que ele está integrado diretamente no Rosegarden. O descreveremos em detalhe quando falarmos sobre como endereçar instrumentos nas trilhas, porque sua configuração e utilização e inteiramente interna no Rosegarden. Por enquanto será suficiente saber que ele existe, e que requer um servidor JACK funcionando corretamente. 1.2 Reproduzindo áudioPara reproduzir áudio é necessário rodar o JACK. 1.2.1 O que é JACK?JACK é uma abreviação de Jack Audio Connection Kit. Um servidor bastante flexível de áudio que permite às suas aplicações clientes compartilhar o mesmo hardwre de áudio de um modo similar, e compartilhar o transporte em comum. Possui mecanismos flexíveis para endereçamento de entradas e saídas até e a partir de clientes utilizando um cabo virtual(jack-and-cable metaphor). Foi desenvolvido para os profissionais de áudio que precisavam da melhor performance de áudio possível em seus hardwares, mas, sendo profissional ou não, será de suma importância saber como ele funciona se deseja reproduzir áudio no Rosegarden. 1.2.2 Obtendo um Kernel adequadoÉ teoricamente possível rodar o JACK e o Rosegarden com um Kernel comum, no entanto você nunca obterá resultados aceitáveis, mesmo em uma super máquina. Somente um processador poderoso e muita memória RAM não são o bastante para garantir uma boa performance de áudio, e portanto, desafortunadamente, necessitaremos rodar um kernel especializado. Ainda bem que pacotes como AGNULA tornam muito mais fácil esta tarefa. Agora podemos trabalhar com áudio com bastante qualidade, diríamos até que com muito mais qualidade e performance que no Windows, e tudo isso sem precisar ser um expert em programação e em instalações de Kernel. Podemos dizer que rodar o JACK é tão simples como baixar qualquer Kernel de AGNULA ou CCRMA. Como testemunho, afirmamos que hoje trabalhamos com estes pacotes em um PC Debian ( o usuários de laptops necessitarão também dos módulos PCMCIA): alsa-modules-2.4.25-1-multimedia-686 kernel-image-2.4.25-1-multimedia-686 NOTA: Ao longo do caminho você poderá variar caso queira utilizar um kernel das novas séries 2.6. Enquanto estamos produzindo este manual ( a versão 2.6.8 está atualmente no Debian), não tivemos nenhuma notícia de problemas com Kernels mais novos. Algumas das capacidades do kernel AGNULA foram incorporadas no kernel 2.6, mas nem todas elas. Recomendamos então que fique trabalhando com série 2.4 por enquanto. 1.2.3 Iniciando e ajustando o JACKO modo mais simples de controlar o servidor JACK é utilizando o qjackctl. É uma aplicação muito útil que possui um modo bastante conveniente de iniciar e interromper o servidor JACK, para configurar vários parâmetros e encontrar a melhor combinação para seu hardware, e para manipular as conexões JACK entre as aplicações.
1.2.4 2.2.4 Configurando o servidor JACKPara alterar a configuração do servidor JACK, utilize o botão Setup. O processo que se segue provavelmente será tedioso e consumirá algum tempo, mas uma vez estando descoberto os números mágicos para o seu hardware, tudo será um verdadeiro mar de rosas. O kernel que foi instalado permite ao JACK possuir uma prioridade mais alta que a normal e isto requer privilégios de administrador (root). Você deve configurar o JACK para iniciar usando jackstart assim será possível rodar o Rosegarden e o JACK como um usuário normal.
As configurações que se apresentam são as que funcionam com a placa Sound Blaster Live!, e você provavelmente terá que fazer algumas alterações aqui. Caso possua mais de uma placa de áudio talvez seja necessário alterar o setup da interface.
Descobrir a melhor combinação é um processo que consiste em lidar com Frames/Period, "Sample Rate" e "Periods/Buffer". O seu objetivo aqui é encontrar a mais baixa latência possível, o que é reportado no canto inferior direito do diálogo. Enquanto as configurações são alteradas, este campo apresentará os resultados de acordo com o ajuste da combinação. Normalmente você irá buscar o maior sample rate combinado com os menores valores de frames/periods e periods/buffer possíveis. Sugerimos que tente a menor latência possível, click em OK, e após o inicie o servidor JACK clicando no botão Start que está localizado no diálogo principal. Caso aconteça alguma falha no carregamento do servidor, volte a este diálogo e continue trabalhando, alterando parâmetro por parâmetro até que encontre uma combinação que funcione. Muitas combinações de parâmetros provavelmente causarão falha no JACK de imediato. Você deve ter uma idéia clara dos valores possíveis que podem ser utilizados para que o seu setup funcione sem problemas, e dessa forma configurar a combinação ideal. (Por exemplo, não foi possível iniciar o JACK em nosso computador de testes com um parâmetro periods/buffer diferente de dois, portanto não temos nada a fazer a não ser utilizar esta combinação e irmos para o próximo parâmetro). 1.2.4.1 XRUNÉ muito importante encontrar uma combinação de parâmetros de baixa latência que permitam carregar o JACK, porém que não produzam xruns. O ideal é ver isto:
Caso visualize algo parecido com isso você terá problemas mais a frente:
Nunca deixe que estes valores apareçam em vermelho. Caso aparecem um pouco vermelho que seja será inaceitável, no entanto você poderá continuar enquanto os xruns sejam poucos e espaçados. Xruns causam perda de áudio; clicks, pops, distorções, e efeitos parecidos como o flanger. Caso aconteçam mais de dois ou três ao final de um dia, com certeza será necessário ajustar o JACK, mesmo que isso implique em perda de performance, no entanto você ganhará muito em qualidade. 1.2.5 Conexões JACKO Rosegarden estabelece as conexões corretas automaticamente; assim também o farão o QSynth e o Hydrogen, caso os tenha configurado para fazer isso. Aplicações como ZynAddSubFX e algumas outras não são conectadas automaticamente. Para visualizar e alterar as conexões clique no botão Connections. Fazer e desfazer conexões é um processo que consiste em selcionar um ou mais itens no painel esquerdo e um ou mais no direito, e após utilizar os botões Connect ou Disconnect para conectar e desconectar respectivamente.
NOTA: Você também poderá usar o QJackCtl para efetuar conexões ALSA MIDI. Não recomendamos que faça isso enquanto o Rosegarden esteja em execução. O Rosegarden possui o seu próprio roteador MIDI, e sendo assim não trabalhará apropriadamente caso você altere as conexões MIDI externamente. De todo modo, caso, por exemplo, você queira reproduzir em sua Sound Blaster Live! o QSynth com com seu teclado MIDI sem rodar o Rosegarden, então utilize as conexões MIDI do QjackCtl para dessa forma conectá-lo.
|
| ||||||