Como Reamostrar Hi-Res FLAC no Linux

Imagem em Destaque do Reamostragem Hi-Res Flac Sox 00

Arquivos Hi-Res FLAC são um dos pontos altos da experiência de áudio Hi-Fi. No entanto, se você extrair seu CD em arquivos FLAC, pode achar que eles são frequentemente difíceis de reproduzir fora do equipamento para o qual foram feitos. Isso pode ser um problema para usuários que possuem faixas de áudio de alta resolução, mas não têm as ferramentas para reproduzi-las corretamente.

Uma maneira de resolver isso é usar o sox para reamostrar seus arquivos Hi-Res FLAC. Este tutorial ensina o básico do sox e como usá-lo para reamostrar arquivos FLAC no Linux.

Dicas: se você está confuso sobre os diferentes formatos de áudio, confira este guia para entender as diferenças entre MP3, AAC, FLAC e muitos outros formatos.

Índice

  • O que é Sox e como funciona a reamostragem?
  • Reamostragem de um arquivo Hi-Res FLAC usando sox
  • Automatizando o processo de reamostragem
  • Perguntas Frequentes

O que é Sox e como funciona a reamostragem?

Em sua essência, o sox é um programa de processamento de áudio em linha de comando. Ao contrário do Audacity, ele permite que você manipule arquivos de áudio diretamente do seu terminal. Isso torna o sox útil para aqueles que desejam fazer edições simples ou automatizar uma tarefa de áudio complexa.

Tela de Ajuda do Sox para Reamostragem Hi-Res Flac 02

A reamostragem, por outro lado, é o processo de usar algoritmos complexos para transformar um sinal de alta fidelidade em um sinal mais baixo. Essa abordagem mantém a qualidade de uma faixa de áudio enquanto reduz a quantidade de dados que você armazena em seu computador.

Além disso, a reamostragem também permite que você reproduza seus arquivos Hi-Res FLAC em dispositivos de menor capacidade. Um iPod Video Rockbox, por exemplo, pode apresentar atrasos e interrupções ao reproduzir um arquivo de áudio de 24 bits.

Tela de Carregamento do Rockbox Reamostragem Hi-Res Flac 04

Alternativa: além do sox, você também pode usar o flac2all para transcodificar arquivos FLAC para outros formatos de áudio modernos.

Reamostragem de um arquivo Hi-Res FLAC usando sox

Nota: os passos abaixo são para Ubuntu, mas a utilização permanece a mesma, independentemente da distribuição Linux que você estiver usando.

O primeiro passo para reamostrar arquivos FLAC é instalar tanto o utilitário sox quanto suas dependências. Execute o seguinte comando no Debian e Ubuntu:

sudo apt install sox flac ffmpeg

Instalando Sox Reamostragem Hi-Res Flac 05

Verifique se ele está instalado corretamente: sox --version.

Verifique a Versão do Sox Reamostragem Hi-Res Flac 06

Descubra tanto a Profundidade de Bit quanto a Taxa de Amostragem do seu arquivo FLAC usando o programa file embutido para imprimir esses detalhes no terminal:

file sample.flac

No meu caso, meu arquivo FLAC tem uma profundidade de bit de 24 bits e uma taxa de amostragem de 96 kHz.

Verifique a Profundidade do Bit e a Taxa da Amostra FLAC Reamostragem Hi-Res Flac 07

Encontrando a Taxa de Reamostragem Correta para o Sox

Encontre a taxa de reamostragem correta para o seu arquivo FLAC. A regra geral na reamostragem é que a taxa de reamostragem alvo deve ser divisível pela taxa de amostragem original por 2 ou 4.

Taxas de Amostragem Divisíveis Reamostragem Hi-Res Flac 08

Você deve reamostrar um arquivo FLAC de 192 kHz para 96 ou 48 kHz para garantir que o algoritmo de reamostragem possa transformar o sinal original com a menor distorção possível.

Otimizando a Reamostragem no seu Arquivo Hi-Res FLAC

Uma vez que você sabe a taxa de reamostragem correta a ser usada, você pode executar o sox para reamostrar seu arquivo FLAC. No meu caso, estou reamostrando um arquivo de 96 kHz, então estou executando o seguinte comando:

sox -S sample.flac -b 16 resample.flac rate -v -L 48000 dither
  • A flag -b diz ao sox para definir uma nova profundidade de bit para o arquivo de saída. Por exemplo, um valor de 16 configurará a nova profundidade de bit em 16 bits.
  • Por outro lado, a opção rate diz ao sox para definir uma nova taxa de amostragem para o arquivo de saída.
  • A flag -v força o sox a usar o algoritmo de reamostragem de “Muito Alta Qualidade”.
  • A flag -L também força o sox a usar uma resposta de “Fase Linear” durante a reamostragem. Este é um filtro que tenta neutralizar qualquer “eco de sinal” no arquivo FLAC.
  • Por fim, a opção dither gera uma pequena quantidade de ruído ao longo de toda a faixa. Isso serve como uma máscara que ocultará quaisquer imperfeições no processo de reamostragem.

Trabalho de Reamostragem Única Reamostragem Hi-Res Flac 09

Automatizando o Processo de Reamostragem

Embora seja possível usar o sox em uma base por arquivo, também é possível automatizar todo o processo usando o shell. (Confira o guia para iniciantes sobre scripts de shell.) Isso é útil se você pretende reamostrar um álbum inteiro de faixas de áudio Hi-Res FLAC.

Uma das maneiras mais rápidas de automatizar o processo de reamostragem é usar um laço for do Bash. Por exemplo, você pode executar as seguintes linhas de código para reamostrar uma pasta inteira de arquivos FLAC:

mkdir -p ./flac-dir/resample && cd ./flac-dir  
for flac in *.flac; do sox -S "${flac}" -b 16 resample/"${flac}" rate -v -L 48000 dither; done

O primeiro comando criará a pasta de saída para os novos arquivos FLAC, além de mudar o diretório de trabalho atual. O segundo comando percorrerá cada arquivo na pasta atual e o reamostrará usando sox.

Trabalho de Reamostragem em Loop Reamostragem Hi-Res Flac 10

Perguntas Frequentes

É possível reamostrar um arquivo MP3 usando sox?

O comando rate para sox não funciona com formatos com perda, então não pode ser usado para reamostrar um arquivo MP3.

Estou recebendo um erro “sem manipulador para tipo de arquivo detectado”. O sox está quebrado?

Não! Isso acontece sempre que o sox não consegue ler e decodificar seu arquivo FLAC de Alta Resolução. As causas mais comuns para este problema são uma biblioteca do sistema ausente e uma flag de compilador ausente.

Para corrigir a biblioteca do sistema ausente, execute o seguinte comando: sudo apt install libsox-fmt-all. Corrigir a flag de compilador ausente exigirá que você desinstale o pacote sox atual e o compile a partir da fonte.

O Sox está informando que meu arquivo Hi-Res FLAC está clipando. Minha reamostragem falhou?

É normal que um arquivo FLAC de Alta Resolução clipe durante uma reamostragem, já que o processo de reamostragem omitirá a maior parte dos dados de frequência mais alta e inaudíveis de um arquivo FLAC.

Apesar disso, ainda é possível dizer ao sox para compensar o possível clipe durante a reamostragem. Para fazer isso, adicione a flag -G ao seu comando sox: sox -S sample.flac -G -b 16 resample.flac rate -v -L 48000 dither.

Crédito da imagem: Unsplash. Todas as alterações e capturas de tela por Ramces Red.