Como converter WAV para MP3 sem adicionar silêncio no início

6

Veja o que eu preciso fazer: Converter um WAV de 30 segundos em um MP3 de 30.0.

Eu tentei fazer isso usando o LAME, mas não importa o que eu tente, o LAME sempre adiciona um breve momento de silêncio à saída do mp3. Usando o LAME my 30.0 seg WAV torna-se um MP3 de 30.1 seg. Isso é manco.

Alguém sabe de uma maneira de converter WAV para MP3 usando a linha de comando do Windows?

Por exemplo, executando "program.exe in.wav out.mp3" do CMD?

É fundamental que nenhum silêncio seja adicionado ao arquivo MP3 resultante. Eu não posso enfatizar o suficiente.

    
por Niklas 14.03.2012 / 21:11

3 respostas

2

Um fluxo de MP3 contém informações para gerar um conjunto de amostras em que cada amostra corresponde a uma amostra nos dados LPCM originais (como no arquivo WAV), mas um efeito colateral da codificação é que existe algum "lixo" extra adicionado a cada extremidade, e um efeito colateral da decodificação é que há ainda mais lixo adicionado ao começo. O decodificador saberá o quanto ele adiciona e irá ignorar essas amostras, mas o lixo adicionado ao codificador não é totalmente previsível (codificadores diferentes adicionam quantidades diferentes), então o decodificador não pode ignorar essas amostras, a menos que seja de alguma forma informado sobre o que pular. Alguns codificadores, como o LAME, adicionarão as informações de "reprodução sem intervalos" ou "atraso e preenchimento" (em um formato específico do codificador, porque não há padrão para isso) no VBR Info (VBRI) ou no cabeçalho Xing, que é -de padrão, mesmo em arquivos CBR, e que contém outras informações que às vezes é útil para o jogador. Este cabeçalho é na verdade um quadro de silêncio (geralmente 1152 amostras) com algumas informações especialmente formatadas embutidas entre o cabeçalho do quadro e o início de seus dados nulos de áudio. A maioria dos decodificadores / jogadores reconhece o quadro como especial e pula essas amostras, mas outras não, então há outro potencial ponto de falha. então eu procuraria ter certeza de usar uma combinação de codificador / decodificador compatível para obter arquivos de comprimento correto e com aparas indesejadas como saída.

Sua segunda pergunta ... você notou a opção "--decode" do aplicativo da linha de comando LAME? :) Isso deve resolver seu problema se você estiver usando o LAME como codificador. O comprimento de saída deve corresponder à entrada.

    
por 08.04.2012 / 10:42
1

Eu quero adicionar este FAQ e um thread de superusuário à discussão:

por 14.03.2012 / 21:36
0

Eu quero fornecer uma resposta um pouco mais concisa e clara.

Não há como criar arquivos MP3 que sejam reproduzidos consistentemente sem falhas no início e no final. Isso é conhecido como Reprodução sem Gapless e é um problema muito discutido.

Como pelo menos uma das outras respostas diz, há soluções alternativas que funcionam com alguns players de música específicos.

    
por 16.01.2015 / 17:50