|
|
por Philip de Groot Sobre o autor: Brevemente, obterá o seu doutoramento na Universidade de Nijmegen na matéria de quimometria. Ele gosta de trabalhar com o Linux e escreve a suas experiências em bases regulares. HeConteúdo: |
Abstrato:
Este artigo segue-se a uma publicação anterior acerca de fazer gravações mp3 em tempo real de e.g. emissões de rádio. No anterior papel, foi demonstrado como é obtido um enorme ficheiro mp3, e.g. 650 MB para 12 horas ou 1.3 GB para 24 horas com música de qualidade aproximada ao do CD (128 kbit/s; stereo). Como manusear este ficheiro enorme ? É possível de fazer gravações mais longas ou comprimir a música ainda mais ? E acerca da qualidade das gravações mp3 ? Focaremos em responder às questões acima.
Em suma, precisa de uma programa capaz de editar os próprios
ficheiros mp3! Tais programas existem, mas (de momento) para o Linux não.
Um número considerável de programas para windows está disponível, mas a
maior parte destes programas têm um grande problema: não suportam um ficheiro mp3
com um tamanho de 650 MB! Eu encontrei um programa capaz de fazer este
trabalho, se você tiver paciência:
'Manns' mp3 edit'. Utilizei este programa no Windows98. Na
Interface gráfica, pode indicar o ínício e fim do pedaço desejado a partir
do ficheiro original mp3. Pode copiar este pedaço para um novo ficheiro com
o comando 'trim'. Este programa é 'donationware', o que significa que não é
obrigado a pagá-lo, mas é-lhe pedido simpaticamente para o comprar de
maneira a que o programa sirva as suas necessidades. Este programa tem dois
senão: é extremamente LENTO num ficheiro de 650 MB e só pode lidar com
taxas CONSTANTES!!! Encontrar o principio da hora final, e.g. numa gravação
de 24 horas, demora muito tempo e inclui acessos pesados ao disco. Cortando
o pedaço desejado, por outro lado, é bastante rápido (sem perder qualidade
mp3). Até agora ainda não encontrei nenhum problema com o "playback" dos
ficheiros mp3 após utilizar este editor. Contudo verifico sempre os
ficheiros finais cortados ao carregá-los no editor mp3. Se o carregamento
funcionar bem, os ficheiros cortados estão O.K. Durante as minhas primeiras
experiências com este editor, eu cliquei no botão 'trim' enquanto que
acesos pesados ao disco ocorriam. Isto resultou em ficheiros mp3
estragados, que não podem ser tocados novamente! Para vos dar uma
indicação: editar um ficheiro mp3 de 650 MB demora-me aproximadamente 1
hora, causada principalmente pela espera (o que por vezes pode ser
frustrante)!
O benefício desta abordagem é a limitada utilização de processamento
necessária para criar os CDs mp3. As imagens já existem! Pode automatizar
todo o procedimento utilizando uma script: montar as imagens, iniciar a
gravação de mp3, finalizar a gravação de mp3 e desmontar a imagem após 12
horas de gravação, montar uma segunda imagem e continuar com a gravação
mp3, e por aí adiante. Eu queimei os CDs á mão, no caso de os problemas
ocorrerem (o que foi verdade, devido à falta de media). Por esta razão, eu
criei 4 imagens: 3 imagens separadas no caso eu encontrei problemas na
gravação dos CDs (dando-me um máximo de 36 horas para resolver o problema).
A script que utilizei assemelha-se a isto:
#!/bin/sh echo "loading modules for sound support..." modprobe -k snd-card-sb16 modprobe -k snd-pcm-oss modprobe -k snd-mixer-oss echo "setting mixer..." amixer set Line 31 unmute capture; amixer set Master 31; amixer set PCM 31 cd /where/ever/you/stored/the/images/ for i in 1 2 3; do for ii in 1 2 3 4; do echo "mounting image_$ii on /mnt ..." mount -t ext2 -o loop=/dev/loop1 image_$ii /mnt echo "starting mpegrec ..." mpegrec -b 128 -x -mj -o /mnt/top2000_$ii.mp3 echo "umount /mnt" umount /mnt done done
Fiz tudo SEM o XWindows, usando a prompt Bash. Carreguei o suporte
para o som à mão, bem como a emulação OSS (necessária para o correcto
funcionamento dos drivers ALSA) e o mixer driver (claro que pode
automatizar isto utilizando um mecanismo de pré-instalação/pós-instalação
no /etc/conf.modules). A 4.ª linha configura o mixer correctamente: a
origem de gravação é o 'line-in' e o volume foi aumentado ao máximo. Após
configurar estas opções, a script lida com a montagem e desmontagem das
imagens.T
Acerca das opções mpegrec: '-mj' indica uma gravação em stereo "unido".
Eu fiz isto porque esperava ficheiros mp3 mais pequenos usando esta opção
(devia caber tudo em 670-680 MB). Isto aparentou ser mentira: não se
importa se usa gravações em stereo ou stereo "unido"! Quando faço novas
gravações, eu utilizarei stereo normal. O programa 'mpegrec' devia parar
após 12 horas. Para alcançar esta tarefa, Eu adaptei o código fonte e
alterei o máximo de 24 horas (que simplesmente está apontado no código)
para 12 horas. Infelizmente esta abordagem não funcionou: o programa
continuou a gravar após as 12 horas! Tive de interromper a gravação todas
as 12 horas (não o quer obter livremente...). A script tomou conta das
restantes partes. eu já não entendo nada do 'mpegrec'. Devia estudar o
código fonte cuidadosamente...
Note:
A versão mais recente do cdrecord (cdrecord-1.9) causou-me alguns
problemas a criar os CDs. A versão anterior, cdrecord-1.8.1, trabalhava sem
problemas. Eu resolvi estes problemas actualizando o firmware do meu
gravador de CDs, um Philips CDD 3610, da versão 3.02 para a 3.09.
Inicialmente, eu esperava que os problemas com a gravação de CDs eram
causados pelo kernel 2.4.3, mas isto pareceu ser mentira!
Resumindo os aspectos mais importantes:
#!/bin/bash echo "record $1 named ($3) for $2 seconds" aumix -f ~/.aumixrc /usr/bin/yes x | /usr/bin/radio $1 >/dev/null 2>/dev/null sox -V -r 44100 -c 2 -t ossdsp -w -s /dev/dsp -t wav - 2>/dev/null | lame - ~/$3.`/bin/date "+%H%M.%m-%d-%y"`.mp3 --resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice& sleep $2 kill -9 $! # copy the output to a different direcory. If you want you can # replace cp by rcp or scp and copy it to a different computer: cp $3.*`/bin/date "+.%m-%d-%y"`.mp3 /tmp/outputdir
O principal objectivo da script é o de obter gravações de rádio compreensíveis e que só precisem de 3,5 megabyte/hora de espaço em disco! Com compreensível quero significar que qualquer um devia interpretar o discurso gravado. Claro, que a qualidade da música é péssima! A primeira linha na script configura o mixer, inicia o programa da placa de som e o 'slox'. O Truque reside nas opções do lame que vamos agora, investigar.
--resample 16 | Redefine a frequência de amostragem do ficheiro de saída de 44 kHz para 16 kHz. |
-b 8 | Configurando a taxa de amostragem para 8 kbits/s (surpresa!). |
-a | Combinando o canal stereo para uma gravação mono. |
-m m | Forçando a codificação mp3 para mono. |
-h | Uma opção para usar alta-qualidade na codificação mp3 (lento). |
--lowpass 4 | Configurando o filtro lowpass para um valor de 4 kHz. Todos os sinais (frequências) superiores a 4 kHz são removidos. |
--highpass .12 | Configurando o filtro highpass para um valor de .12 kHz. Todos os sinais (frequências) a baxo de .12 kHz são removidos. |
--voice | Utilizar uma técnica de compressão mp3 optimizada para o discurso. |
É claro que uma elevada compressão pode ser obtida para o discurso. A maior parte das vezes isto será indesejado. Agora, pelo menos, a possibilidade está indicada!
#!/bin/sh /usr/local/bin/mpegrec \ -l 5400 \ -x '--preset fm \ --tt "Computers in Your Life" \ --tl "Open Line with Tom Wieble" \ --ta "Tom Wieble" --ty `date +%Y` \ --tg "Speech" \ --tc "Copyright (c) 1997 - `date +%Y` WOSU" -c' \ -o open_line_`date +%d%b%y`_`date +%H%M`.mp3
A opção '-l 5400' configura o tempo de gravação em 90 minutos. Todas as opções após o '-x' são enviadas directamente para o lame (linhas da 4 à 9) e a opção '-o' guarda o ficheiro como 'data_e_tempo.mp3'. Estas linhas podem ser adaptados como o foram. Para este fim talvez seja útil recordar as opções do lame mais de perto. As opções mais recentes estão explicadas na tabela a baixo:
--preset fm | O Lame conhece algumas configurações standard. 'fm' significa para fazer gravações de emissão fm, mas eu não gosto da qualidade de gravação comparadas à taxa de amostragem de 128 kbit/s. A principal causa são os filtros aplicados pelo 'lame'. |
--tt "Computers in Your Life" | '--tt' define o título da gravação (30 caracteres no máximo). |
--tl "Open Line with Tom Wieble" | '--tl': álbum, ou origem (30 caracteres no máximo). |
--ta "Tom Wieble" --ty `date +%Y` | '--ta': artista (30 caracteres no máximo). |
--tg "Speech" | '--tg': género (nome ou número). |
--tc "Copyright (c) 1997 - `date +%Y` WOSU" -c" | '--tc': comentário (informação adicional; 30 caracteres no máximo). |
Em suma: um modo simpático de criar um ficheiro mp3, incluindo a data e o tempo da gravação e incorporando todo o tipo de informação adicional. Leva algum a tempo a escrever tudo na script, mas é bom ver que todas estas coisas são possíveis!
|
Páginas Web mantidas pelo time de Editores LinuxFocus
© Philip de Groot, FDL LinuxFocus.org Clique aqui para reportar uma falha ou para enviar um comentário para LinuxFocus |
Informação sobre tradução:
|
2001-08-19, generated by lfparser version 2.17