Opções avançadas de conversão FLAC ou OGG para MP3 sob demanda com mp3fs

Quando comecei a usar o mp3fs, não imaginava que iria fazer tanto uso deste sistema de arquivos virtual.
O fato é que ele me permite manter backup de todos as minhas músicas apenas em FLAC ou OGG.
Quando eu preciso transferir músicas para algum outro dispositivo que só tem suporte a MP3, o mp3fs resolve o problema com a criação de um sistema de arquivos virtual e a conversão on the fly.

Isto me livra do peso da redundância — ou algo próximo de 50% de todo o espaço ocupado por músicas em meu computador.

Se você quiser saber sobre os recursos básicos do funcionamento do mp3fs e sobre como instalá-lo no seu sistema, leia o artigo como converter arquivos FLAC para MP3, sob demanda, com mp3fs.

Ajustes sobre a qualidade da mídia

Você pode especificar a qualidade da conversão sob demanda para todos os arquivos.
Veja as opções de codificação possíveis:

  • --quality — determina a qualidade geral das conversões.
    Os valores podem ir de 0 (qualidade máx.) a 9 (velocidade máx.).
    O padrão é 5 (caso você não especifique nada neste quesito).
    Quanto maior a qualidade, maior o impacto sobre a performance do sistema — em outras palavras, os arquivos .mp3 resultantes ficarão maiores e o processo de conversão é mais demorado.

    Se o seu hardware for razoavelmente atual, não vejo motivo para não usar a qualidade máxima.
    Por outro lado, o manual do LAME recomenda usar o valor 2.
    A decisão é sua.

  • -b — determina o bitrate dos seus arquivos MP3. Os valores possíveis são 96, 112, 128 (padrão), 160, 192, 224, 256 e 320
  • --gainmode — determina o modo de ganho para todos os arquivos.
    Escolha 0, para ignorar; 1, para preferir o ganho predeterminado do álbum ou 2 (padrão), para manter e uniformizar o ganho por cada trilha.
  • --gainref — determina o ganho em decibéis. Se nenhum valor for fornecido, o sistema usará 89 dB.

No exemplo que segue, montei um dispositivo de armazenamento externo WD Elements, com uma coleção de músicas em FLAC, fazendo uso de algumas das opções acima
O drive está montado em “/media/justincase/wdelements/music/”. A segunda pasta (vazia, por enquanto) é a do sistema de arquivos virtual, criado e usado pelo mp3fs:

sudo mp3fs -b 320 --gainmode=0 --quality=0 /media/justincase/wdelements/music/ /mnt/music/mp3/ -o allow_other,ro

No final da linha as opções de montagem, “-o allow_other,ro”, que serão abordadas no próximo tópico.

Opções de montagem

As opções de montagem podem ser obtidas através do comando

mp3fs --help

Você pode combinar várias delas, após o parâmetro “-o”, separadas por vírgulas. Segue algumas das mais comumente usadas:

  • -o allow_other — tal como usado no exemplo acima, permite a outros usuários, além do que montou o sistema de arquivos, terem acesso para executar as músicas.
  • -o ro — indica que o sistema de arquivos é apenas-para-leitura (read-only). É redundante, pois o mp3fs só tem a opção de montar o sistema de arquivos desta forma.
  • -o nonempty — monta também arquivos e/ou diretórios vazios.
  • -o fsname=NOME — nomeia o sistema de arquivos para NOME.
  • -o direct_io — usa entrada/saída direta.
  • -o kernel_cache — faz o caching através do kernel.
  • -o from_code=CHARSET — determina a codificação de caracteres original, caso você esteja tendo dificuldade para ver os nomes corretos dos arquivos.
  • -o to_code=CHARSET — determina a codificação de caracteres do sistema de arquivos destino. Nesta e na opção anterior, o padrão é UTF-8.

Leia mais sobre as vantagens do FLAC sobre o MP3.

Veja como fazer conversão sob demanda de arquivos de áudio FLAC e OGG para MP3.

Mesmo gostando de ouvir suas músicas com a máxima qualidade possível, às vezes é preciso fazer concessões à compatibilidade.
O fato é que muitos players de áudio não suportam uma grande variedade de padrões, além do velho MP3.
Já falei antes sobre a superioridade do FLAC em relação ao MP3, mas o segundo ainda é o mais suportado.
Em casa, fiz o backup de todos os meus CDs em FLAC, mas o som padrão do carro não suporta nada além de MP3, WMA ou WAV — todos proprietários.

Isto quer dizer que, ou ouço os FLAC do celular via Bluetooth ou os converto para um dos 3 formatos suportados para reproduzir a partir de um pendrive ou CD.
É chato… mas é o jeito.

Há inúmeras ferramentas para fazer este tipo de conversão — aplicativos GUI (ambiente gráfico) ou CLI (linha de comando), web apps etc.
Já mostrei como fazer o trabalho, com o ffmpeg ou o lame.
Neste post vou abordar o uso de uma ferramenta CLI — pensando nas pessoas que têm um número imenso de arquivos para converter.
Com este método, vamos consumir menos memória e realizar o trabalho bem mais rápido.
Depois que você der o comando de ativação do mp3fs, todo o restante do procedimento pode ser feito com suas ferramentas GUI (gerenciador de arquivos, player de áudio etc).
Se você estiver interessado em ripar CDs, leia meus artigos específicos sobre ripagem.

O que o mp3fs faz e por que você deveria usá-lo

O mp3fs é uma ferramenta que monta um sistema de arquivos virtual e transcodifica arquivos FLAC para MP3, on the fly.

Em outras palavras, o mp3fs permite montar um diretório virtual, com todos os seus arquivos de áudio prontamente renomeados com a extensão .mp3.
A partir daí, basta começar a tocar ou copiar para outro lugar
À medida em que os arquivos são acessados, o mp3fs faz a conversão.
Parece fácil, não é?
E é!

A ferramenta cria um sistema de arquivos FUSE, protegido contra alterações, que transcodifica arquivos de áudio no momento em que são abertos ou lidos.
Ela permite usar sua coleção de músicas FLAC — mesmo que seu hardware/software não tenha suporte a este formato.

Se você quiser transferir os MP3 para um pendrive, pode fazer isto como se fossem arquivos normais — o sistema se encarrega de convertê-los durante a transferência.
Outra vantagem da conversão “sob demanda” é que este método não te obriga a ter mais espaço em disco.


Se, por outro lado, você optasse por converter seus arquivos FLAC para MP3, teria que reservar um enorme espaço adicional para abrigar os arquivos duplicados, resultantes das conversões.
Em outras palavras, para cada arquivo.flac, seria criado outro arquivo.mp3 — imagine o espaço extra que você teria que ter para converter milhares de arquivos!

O mp3fs permite selecionar e copiar todos arquivos FLAC da origem e colar direto na pasta de destino. Eles serão individualmente convertidos para MP3 durante a transmissão.

Como instalar o mp3fs

Nas distribuições Linux que usam o gerenciador de pacotes APT (Debian, Ubuntu, Mint etc.), é possível encontrar o pacote de instalação nos repositórios oficiais.
Neste caso, use o APT:


sudo apt install mp3fs

Pra constar, instalei e usei com sucesso o mp3fs no Debian 9 “Stretch” e no KDE NEON (baseado no Ubuntu 16.04 LTS “Xenial Xerus”).

Como usar o mp3fs

A sintaxe do comando é bem simples.
Todas as minhas músicas, FLAC, OGG ou MP3, estão dentro do diretório “/home/justincase/music”.
Para facilitar, criei mais um diretório com o seguinte nome/caminho: “/mnt/music/mp3”
No exemplo, abaixo, vou montar o meu segundo diretório, com o mp3fs:


sudo mp3fs -b 192 /home/justincase/music/ /mnt/music/mp3 -o allow_other,ro

Se tudo der certo, já será possível visualizar os seus arquivos em /mnt/music/mp3 — todos já renomeados para mp3:


ls /mnt/music/mp3/

Experimente tocar um deles!
tribo de jah mp3 files
Na imagem, acima, todos os meus arquivos .flac estão com a extensão .mp3.

Referências

https://github.com/khenriks/mp3fs/blob/master/mp3fs.1.txt

Use o rtcwake para despertar com sua música preferida

O rtcwake pode ser usado para suspender ou hibernar o seu sistema por um período pré-determinado (por você). Ao “despertar”, o sistema pode tocar uma música ou qualquer outro arquivo de áudio à sua escolha.
É possível adicionar uma tarefa ou um script para ser executado também, no wake up — basta alterar um dos exemplos para fazer o que você achar melhor.
rtcwake exemplo de uso
Para suspender o sistema para a memória, por 30 minutos e depois voltar tocando uma música, use a seguinte linha de comando:

sudo rtcwake --date 30min --mode mem; mpg123 ~/Música/Tribo\ de\ Jah\ -\ Suzy\ Wong.mp3 

Se você prefere hibernar, use o seguinte exemplo:

sudo rtcwake --date 30min --mode disk; mpg123 ~/Música/Tribo\ de\ Jah\ -\ Suzy\ Wong.mp3 

Leia mais sobre as diferenças entre suspender, hibernar e suspender-híbrido.
Você pode também substituir o aplicativo mpg123 pelo seu player favorito.
… e não esqueça de trocar o caminho e o nome da música do exemplo por uma que esteja presente no seu sistema.

Como converter arquivos FLAC para MP3

Neste texto, vou abordar alguns métodos bem eficientes e flexíveis para converter rapidamente uma grande quantidade de arquivos de áudio FLAC em MP3.
A grande maioria dos meus arquivos de música estão no formato flac — aqui tem o motivo.
Às vezes, contudo, é preciso sacrificar a qualidade superior pela compatibilidade — equipamentos de som mais antigos, podem reproduzir mp3, mas não flac.
A maioria dos fabricantes de automóveis, infelizmente, ainda não disponibiliza equipamento de som atualizado.


Não esqueça de dar uma olhada nesta outra solução de conversão de arquivos FLAC/MP3 on the fly.
A quem precisa colocar uma quantidade maior de arquivos de música, em um pendrive pequeno ou outra mídia de baixa capacidade de armazenamento, fazer o downgrade tecnológico também parece válido.
No Linux, há vários aplicativos GUI (interface gráfica) para realizar a tarefa.
Mas a CLI (linha de comando) permite aplicar uma solução universal — e, por isso, vamos usar este método para abordar o problema.

Pré-requisitos de sistema

Eventualmente, você pode precisar de alguns aplicativos ou bibliotecas para poder levar a cabo a tarefa.
Se o sistema, pedir, instale os seguintes pacotes:


sudo apt lame ffmpeg libavcodec-extra-53

Como converter arquivos flac para mp3

Entre no diretório em que os arquivos flac se encontram.
Este método faz uso do comando find, para encontrar os arquivos do tipo desejado e executa o decodificador ffmpeg para cada um deles.
Veja como:


find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;

Isso é tudo!
Entre as alterações que você pode querer fazer, aumentar o bitrate é fácil:
Basta substituir o valor 128 em libmp3lame -ab 128k por outro valor.
Tenha em mente que este número afeta diretamente o tamanho final de cada arquivo convertido.
Outra coisa, esta abordagem mantém a string ‘.flac’, nos nomes dos arquivos, e acrescenta ‘.mp3’ ao final.
O nome do arquivo vai ficar assim:
07 Muito Grande.flac.mp3
Se isso te incomoda, renomeie os arquivos com o seguinte comando:


rename 's/\.flac//' *.mp3

Como converter de flac para mp3 com o lame

Se você preferir, o aplicativo lame pode ser usado, em substituição ao ffmpeg:
Veja como:


find . -name '*.flac' -exec sh -c 'flac -cd "{}" | lame - "{}".mp3' \;

Alternativamente, você fazer o trabalho dentro de um for-loop:


for f in *.flac; do flac -cd "${f}" | lame - "${f}.mp3"; done;

Para ajustar o bitrate, para obter uma relação qualidade/tamanho, use a opção ‘-b’, do lame:
lame -b 320 - "${f}.mp3".

Referências

http://lewisdiamond.blogspot.com.br/2012/01/converting-flac-to-mp3.html.

Conheça o CMUS, um player de áudio bonito para a linha de comando do Linux.

O Linux tem vários players de áudio, com uma grande variedade de recursos visuais.
Alguns são bastante leves e outros, um pouco mais pesados.
É justamente na relação entre funcionalidade e consumo de recursos do sistema que residem algumas das principais reclamações de usuários.
Sabemos que decodificar arquivos de áudio comprimidos, como é o caso de formatos como MP3 e OGG, é uma tarefa voraz em recursos de processamento (principalmente em hardware antigo).

O termo audio CODEC, frequentemente se refere à tarefa do processador de comprimir e descomprimir dados de áudio.
A tarefa é executada por quase todos os aplicativos de multimídia e consiste de algoritmos de computação intensiva, para processar sinais de áudio.
Processadores atuais são capazes de fazer o processamento em paralelo de sinais digitais de áudio, o que evita sobrecarregar o sistema.

Neste texto, vamos abordar um player de audio para a CLI (Command Line Interface) ou Interface de Linha de Comando — o CMUS.
Esta categoria de players pode ser usada por quem tem hardware muito limitado ou gosta de ouvir música, enquanto faz suas atividades no computador, mas prefere que seus recursos de hardware sejam usados, predominantemente, pelos seus programas de trabalho.
linux cmus player

O CMUS player

O cmus tem uma interface visualmente agradável e, depois que se aprende a usá-lo, ele é bem intuitivo.
Contudo, é bom dizer que existe uma “curva de aprendizagem” a ser percorrida, que pode ser um pouco acentuada para alguns usuários.
O cmus organiza seus arquivos de áudio, ou pelos títulos das músicas, ou pelos dos álbuns.
É possível carregar suas playlists e usar a função de busca, presente no programa.
A gente acessa o programa através de diferente formatos de layout.
Quem já é usuário do vi, o editor de textos, vai se sentir em casa — uma vez que são usados atalhos de teclados e comandos inspirados nele.
Por exemplo, é possível adicionar as músicas contidas na sua pasta ~/Música com o comando :add ~/Música — ele carregará a pasta toda de arquivos (recursivamente) e você pode percorrer os itens com as teclas ‘j’ e ‘k’ ou com as setas direcionai. Fica à sua escolha.

Os layouts do cmus

O player pode usar um entre sete layouts ou modos de exibição disponíveis.
Para fazer a seleção de modo, pressione uma das teclas entre 1 e 7.
Conheça cada um deles:

  1. Library view ou modo de visualização de biblioteca — no qual as trilhas são organizadas por árvore de artista/álbum.
    A organização por artista é feita alfabeticamente.
    Quando a organização se dá por álbum, ela é ordenada por ano.
  2. Sorted library view, exibe o mesmo conteúdo que o modo anterior, mas como lista simples, organizada de acordo com os critérios do usuário.
  3. Playlist view exibe lista de músicas editável, com ordenação opcional.
  4. Play Queue view exibe a fila de trilhas de áudio a ser tocada, na sequencia.
  5. Directory browser neste modo de visualização, as músicas podem ser adicionadas ou para a biblioteca, ou para uma playlist ou para a fila.
  6. Filters view, lista os filtros definidos pelo usuário.
  7. Settings view lista atalhos de teclado (keybindings), comandos diversos e opções do aplicativo.
    Você pode remover bindings com ‘D’ ou ‘Del’.
    Pode alterar atalhos de teclado e variáveis com a tecla ‘Enter’ e ‘Espaço’.
    Use esta tela, sempre que tiver esquecido algum comando e queira saber como fazer alguma coisa.

Comandos do cmus player

Tudo, no cmus, é implementado como comandos que podem ser fornecidos na linha de comando do próprio aplicativo, logo abaixo da barra de status.
Para acessar esta seção e começar a digitar, tecle ‘:’. Ao terminar, tecle ‘Enter”, para executar.
Os comandos também podem ser atribuídos a teclas — de forma que você mesmo pode criar suas próprias teclas de atalho.
Veja algumas teclas ou atalhos úteis, que podem ser usados na linha de comando do cmus:

  • ‘Esc’ ou a combinação ‘Ctrl C’ — cancela um comando em digitação
  • :quit ou :q — encerra o player e volta para a linha de comando do sistema
  • ‘TAB’ — tal como no Bash, pode ser usado para completar automaticamente os seus comandos e poupar digitação
  • :clear — limpa a visualização atual — o que inclui a exibição da biblioteca, a playlist e a fila de arquivos de áudio esperando para tocar

Mas para frente, vamos abordar mais alguns comandos para o cmus.

Como buscar e encontrar suas músicas, com o cmus

Use a linha de comando para fazer buscas no cmus e encontrar álbuns, artistas ou nomes de músicas.
Para iniciar uma busca, tecle ‘/’, seguido da string que você deseja pesquisar e tecle Enter.
Veja um exemplo:

/tribo de jah

Depois de dar ‘Enter’, é possível navegar pela músicas usando ‘n’ para a próxima (next) ou ‘N’ para a ocorrência anterior.
Você pode usar ‘?’ para inverter a ordem da busca.
Funciona tal como no comando man (do manual do sistema).
Nos layouts 1 a 4, as palavras da sua busca são comparadas aos nomes dos artistas (ou bandas), aos nomes dos álbuns e aos títulos das tags.
Nos modos de visualização 2 a 4, tecle //palavras-da-pesquisa ou ??palavras-da-pesquisa para pesquisar apenas artistas e álbuns – ou títulos, nos layouts 2 a 4.
Veja alguns exemplos de comandos:
Altere o plugin de saída de áudio:

:set output_plugin=oss

Para iniciar a lista de música, basta pressionar a tecla ‘x’ ou usar o comando:

:player-play

Se você estiver dentro de um dos modos library, playlist ou play queue, use este comando para limpar a lista:

:clear

Como você deve ter percebido, o player é complexo (no sentido de ter várias opções de operação e ajuste).
Você pode levar algum tempo para dominar o seu uso.
Na minha opinião, o tempo dispendido para conhecer os recursos deste aplicativo valem a pena.
Não deixe de conhecer, também o player mpg123 — também é para CLI e permite alguns recursos avançados, como equalização de áudio.