26 de julho de 2008

MP3 no Linux: Ripagem


Um belo dia você descobre o mundo encantado do MP3. Encontra um site para baixar os arquivos das suas músicas preferidas e começa a criar coleções personalizadas no seu computador. Neste ponto você verifica que é necessário catalogar e organizar esta coleção. Então você lê alguns textos e aprende a executar estas tarefas, criando uma coleção bastante organizada, onde fica fácil encontrar suas músicas. Ainda não satisfeito, você percebe que os volumes das suas músicas diferem bastante. Assim, ao ouvir determinada música, tem de diminuir ou aumentar o volume das caixas de som, o que é bastante tedioso. Por isso, você decide normalizar os volumes das suas músicas, tornando ainda mais homogênea a sua coleção e isso te deixa muito feliz. Passado algum tempo, um amigo pede para que você grave um CD para ele com algumas músicas, mas o CD deverá estar no formato de CD comum de áudio, pois ele não tem computador ou um MP3 player. Desta forma, você lê um texto sobre o assunto para realizar esta tarefa e você e seu amigo ficam felizes. Passado mais algum tempo, eis que surge um novo problema: você quer colocar na sua coleção de MP3 as melhores músicas dos seus CDs de áudio, para ter apenas uma coleção (é claro que ninguém pensa em comercializar: será usado apenas para uso próprio). Algumas soluções para este problema estão nas linhas a seguir, por isso, mãos à obra! Vamos ripar!

O verbo ripar é um neologismo [1] derivado do verbo da língua inglesa Rip, que significa, literalmente, dilacerar. No meio da computação, o processo de extração dos dados de um CD ou DVD para um disco rígido é conhecido como ripagem (ripping em inglês). Para realizar o trabalho de ripagem é necessário um software específico, conhecido como ripador (ripper – cabe lembrar que as pessoas que executam esta tarefa também são conhecidas por estes termos). Basicamente, o trabalho de ripar consiste em extrair os dados da mídia e gravá-los no disco, em um formato pré definido, sendo que o formato MP3 é o mais usado para músicas.

Com estes termos em mente, já podemos partir para a próxima etapa do nosso trabalho: encontrar um bom software ripper. Temos alguns bons softwares deste tipo para Linux, mas neste texto serão apresentados apenas duas soluções: uma em modo texto com a dobradinha CDParanoia e LAME e outra em modo gráfico com soundKonverter.

O modo texto de encarar os desafios
A ripagem em modo texto, apesar de fácil, requer um pouco mais de atenção (como qualquer trabalho a ser feito neste modo). Além disso, a tarefa é dividida em duas "sub tarefas": primeiro deve-se ripar o CD, gerando os arquivos no formato Wav (CDParanoia) e depois deve-se converter estes arquivos gerados para o formato MP3 (LAME).

Segundo [2], CDParanoia é um software ripador de CDs de áudio, que manipula diretamente os dados presentes na mídia, sem fazer uso de etapas analógicas. O CDParanoia vem junto com o DVD de instalação do openSUSE. Para instalá-lo, basta mandar o YaST procurar por cdparanoia e instalar o pacote encontrado (em alguns casos pode ser necessário instalar o pacote cdparanoia-32bit). A utilização do CDParanoia não requer muitos conhecimentos por parte do usuário, sendo necessário que o mesmo utilize, basicamente, três comandos.

$ cdparanoia -vsQ

O primeiro comando a saber com relação ao CDParanoia faz uma busca nos drives de CD/DVD presentes no sistema, por mídias de áudio. Assim, para usar este programa, caso esteja usando uma distribuição Linux com detecção automática de mídias, coloque a mídia no drive e espere alguns segundos até que o sistema a detecte. Caso o sistema não tenha este tipo de detecção, monte a mídia manualmente (veja comando mount). Uma vez que a mídia já seja detectada pelo sistema, o comando acima pode ser usado para listar as faixas presentes na mesma. Apesar de ser um comando aparentemente inútil (já que só lista as faixas da mídia presente no drive), ele pode servir para averiguar se a mídia realmente já foi reconhecida pelo sistema.

O cifrão inicial do comando apenas indica que é um prompt de usuário comum. A seguir há a chamada direta ao programa (cdparanoia), sucedida dos parâmetros v (de verbose, ou seja, exibindo várias informações para o usuário), s (de search for drive, ou seja, habilita a procura por um drive de mídia) e Q (de query, ou seja, uma vez encontrado um drive, o programa procura e imprime na tela dados da mídia, caso existam).

$ cdparanoia -B

O comando anterior é simples e direto. É ele que faz a ripagem da mídia, gerando um arquivo no formato Wav para cada faixa encontrada. A lógica de uso é como no anterior: colocar a mídia, esperar pela autodetecção do sistema ou montá-la manualmente e executar o comando. O que garante a extração das faixas presentes na mídia é o parâmetro passado (-B). Durante a execução deste comando, será extraída uma faixa por vez e será exibida na tela uma espécie de barra de progresso.

Caso seja impresso um '+' nesta barra, significa que houve algum tipo de perda de fluxo ou algum erro de leitura naquele ponto da faixa.


Apesar de parecer preocupante é normal que apareçam alguns sinais destes, em certas músicas, sem que a perda seja perceptível. Além disso, smileys indicam o andamento da operação atual. Abaixo seguem os possíveis smileys com o seu significado, retirados do próprio manual do CDParanoia:

:-) Operação normal, baixo/sem jitter [3]
:-| Operação normal, jitter considerável
:-/ Ler a tração
:-P Perda não reportada de fluxo em operação atômica de leitura
8-| Encontrando problemas de leitura em algum ponto durante releitura; difícil de corrigir
:-0 Erro de transporte SCSI/ATAPI
:-( Arranhão detectado
;-( Desistiu de tentar corrigir
8-X Leitura abortada devido a erro conhecido e incorrigível
:^D Extração finalizada

Terminada a ripagem, já possuímos os arquivos Wav em disco. É hora de convertê-los para MP3!

De acordo [4], LAME é um codificador (encoder, em inglês) de MP3, sendo o seu nome, a sigla recursiva para LAME Ain't an MP3 Encoder (LAME Não é um Codificador de MP3 – isto se justifica pelo fato de que nas primeiras versões do programa, o mesmo não era um ripador completo). A instalação do LAME é bastante simples no openSUSE. Tendo o repositório Packman cadastrado no YaST, basta procurar e mandar instalar o pacote lame.

$ lame ARQUIVO.wav ARQUIVO.mp3

O comando acima apresenta o modo mais simples de funcionamento do LAME, utilizando as configurações padrões do mesmo para converter o arquivo no formato Wav. No caso, lame é a chamada para o programa; ARQUIVO.wav é o nome do arquivo a ser convertido e ARQUIVO.mp3 é o nome que o arquivo gerado receberá. Como é interessante alterarmos algumas configurações padrões para obtermos músicas melhores ou arquivos menores, torna-se necessário passar algumas opções extras para o programa na forma de parâmetros. Isso é apresentado na próxima linha de comando.

$ lame -m j -h -b 192 ARQUIVO.wav ARQUIVO.mp3

Uma vez chamado o programa (lame), a opção -m informa que o usuário indicará o modus operandi do LAME (Joint Stereo - j -, no caso – para quem está em dúvida entre Stereo e Joint Stereo, vale a pena dar uma lida em [5]). O parâmetro -h usa algumas melhorias na qualidade do arquivo a ser gerado e o parâmetro -b indica ao programa que o usuário irá escolher em seguida o bitrate [6] do arquivo final (192kbps, no caso). A seguir deve ser informado o arquivo no formato Wav a ser convertido, seguido pelo nome do arquivo no formato MP3 a ser gerado. Cabe ressaltar que, no caso do nome do arquivo MP3 a ser gerado ser omitido, a extensão .mp3 será anexada no final do nome do arquivo Wav, gerando um arquivo de nome ARQUIVO.wav.mp3 como saída.

O intuitivo modo gráfico
soundKonverter é um frontend para vários conversores de áudio (inclusive para os já citados CDParanoia e LAME) e além de ser capaz de trabalhar com vários formatos de arquivo, o programa é um ripador de CDs de áudio e uma interface para softwares normalizadores de volume, como o MP3Gain, ou seja, três programas em um. Este é um software bem fácil de instalar. Maiores detalhes sobre a sua instalação sob o openSUSE podem ser encontrados na postagem sobre conversão de Wav para MP3.

A primeira coisa a se fazer para utilizar o soundKonverter é inserir um CD de áudio no drive e esperar que o sistema o detecte ou montá-lo manualmente. Uma vez que o CD tenha sido reconhecido pelo sistema, basta abrir o soundKonverter e, no botão de adição de arquivos, selecionar a opção Adicionar faixas de CD..., de acordo com a figura 1.
Figura 1. O botão destacado adiciona faixas de CD ao programa.

Ao clicar no botão supra citado, uma janela se abrirá exibindo informações acerca da mídia incluída. Caso haja conexão com a Internet, o programa utiliza o CDDB [7] para obter mais informações sobre a mídia, sendo capaz de exibir nomes de artistas, títulos das músicas e do álbum etc.

A figura 2 mostra esta janela exibindo informações do CD As Quatro Estações de Vivaldi (coleção Millenium). Na parte superior da janela alguns parâmetros gerais ao álbum podem ser alterados e na parte inferior, parâmetros específicos de músicas podem ser igualmente editados de forma separada. No centro da janela são listadas as músicas encontradas na mídia, bastando que o usuário selecione quais ele deseja extrair para o disco rígido, clicar na seta à esquerda do botão Cancelar (na parte inferior da janela) e selecionar a opção Adicionar faixas selecionadas (no caso de querer extrair todas as músicas, basta clicar diretamente no botão Adicionar todas as faixas, sem que haja a necessidade de selecionar quaisquer músicas).
Figura 2. Informações sobre a mídia obtidas com o CDDB.

Depois que as músicas forem adicionadas ao programa, o usuário tem a opção de executar a ripagem ou fazer alguns ajustes finos. A figura 3 mostra alguns itens que podem ser alterados. Para isto, deve-se acessar a guia Detalhado e dentro dela, selecionar a opção MP3. Isto fará com que o programa ripe e converta os arquivos das músicas de uma só vez. O próximo item é a taxa de bits que pode ser alterada (o autor sugere 192kbps).
Figura 3. Etapa final de ripagem/conversão.

Uma vez configuradas estas opções, basta clicar no botão Iniciar, para que a ripagem e a conversão tenham início. O interessante no soundKonverter é que ele implementa um sistema de programação concorrente, onde, enquanto um arquivo é ripado, o anterior (já ripado) é convertido, o que diminui o tempo de espera. Este comportamento pode ser observado na figura 4.
Figura 4. Concorrência no soundKonverter.

Ao final da operação, os arquivos estarão presentes no diretório especificado no campo Saída. Como pode ser percebido, o processo de ripagem e compactação de arquivos de música no Linux é bastante simples e pode ser feito no modo texto ou no modo gráfico, o que vai depender apenas da escolha do usuário, mostrando a flexibilidade do sistema.

Este foi o último artigo da série MP3 no Linux. Espero ter conseguido mostrar que neste quesito o Linux já atingiu um grande nível de facilidade para o usuário final, sem perder a robustez e a estabilidade que os usuários mais avançados esperam.


[1] De acordo com http://www.priberam.pt/dlpo/dlpo.aspx, um neologismo é, entre outras coisas, uma "palavra ou termo de formação nova, a partir de elementos gramaticais da própria língua ou estrangeiros".
[2] http://en.wikipedia.org/wiki/Cdparanoia
[3] http://en.wikipedia.org/wiki/Jitter : Variação indesejada de alguma característica do sinal eletrônico.
[4] http://en.wikipedia.org/wiki/LAME
[5] http://harmsy.freeuk.com/mostync/
[6] Bitrate (Bit Rate – Taxa de Bits, em português) no escopo de áudio comprimido é a quantidade de bits que será armazenada por segundo numa música. A qualidade do áudio e o tamanho do arquivo são diretamente proporcionais ao bitrate, ou seja, quanto maior o bitrate, melhor a qualidade e maior o tamanho do arquivo de áudio. Bitrates de 32kbps e 96kbps são análogos, respectivamente, às transmissões de rádio AM e FM. Bitrates de 128kbps e 192kbps são semelhantes a um CD de áudio, sendo que a qualidade do primeiro pode ser notavelmente inferior em determinadas músicas. Taxas entre 224 e 320kbps são comparadas a áudio de alta qualidade.
[7] http://en.wikipedia.org/wiki/CDDB : Um banco de dados online para que softwares possam obter informações de CDs de áudio pela Internet.

Série Completa

2 comentários:

  1. Muito bom e bem explicado. Dessa forma qualquer pessoa pode perfeitamente converter suas músicas preferidas. Eu mesmo sempre usei no konqueror o "audiocd:/" para converter CD's de audio para MP3. Parabéns.

    ResponderExcluir
  2. Valeu, Ruy!
    Espero que este texto realmente ajude muitas pessoas e mostre pra outras tantas que o Linux há muito tempo não é aquele "bicho de sete cabeças".
    Essa do audiocd:/ eu nem lembrava mais. Tinha um amigo meu que sempre me falava disso, mas admito que nunca usei! XD
    Obrigado pelas palavras de incentivo e pela dica! ;)

    ResponderExcluir