Qual é a melhor maneira de mesclar arquivos mp3?

Eu tenho muitos, muitos arquivos mp3 que eu gostaria de mesclar em um único arquivo. Eu usei o método de linha de comando

copy /b 1.mp3+2.mp3 3.mp3 

mas é uma dor quando há muitos deles e seus nomes são inconsistentes. O tempo nunca parece estar certo também.

Como Thomas Owens apontou, a simples concatenação dos arquivos deixará vários headers ID3 espalhados por todo o arquivo concatenado resultante – portanto, as informações de tempo / taxa de bits ficarão totalmente erradas.

Você precisará usar uma ferramenta que possa combinar os dados de áudio para você.

mp3wrap seria ideal para isso – ele foi projetado para juntar arquivos MP3, sem precisar decodificar + recodificar os dados (o que resultaria em perda de qualidade de áudio) e também lidar com as tags ID3 de maneira inteligente.

O arquivo resultante também pode ser dividido de volta em suas partes componentes usando a ferramenta mp3splt – mp3wrap adiciona informações ao comentário IDv3 para permitir isso.

Eu sei que esta é uma pergunta antiga, mas eu tenho uma resposta melhor para você. A resposta de David está correta: apenas concatenar os arquivos deixará as tags ID3 espalhadas por dentro (embora isso normalmente não afete a reprodução, portanto você pode fazer “copy / b” ou no UNIX “cat a.mp3 b.mp3> combined.mp3” em uma pitada).

No entanto, mp3wrap não é exatamente a ferramenta certa para combinar vários MP3s em um arquivo “limpo”. Em vez de usar o ID3, ele realmente insere seu próprio formato de dados personalizado entre os frameworks MP3 (a parte “wrap”), o que causa problemas na reprodução, principalmente no iTunes e iPods. Embora o arquivo seja reproduzido corretamente se você deixá-los executar do início ao fim (porque os jogadores irão ignorar estes são bytes arbitrários não-MPEG) a duração do arquivo e a taxa de bits serão reportados incorretamente, o que quebra a busca. Além disso, o mp3wrap eliminará todos os seus metadados ID3, incluindo a arte da capa, e não atualizará o header VBR com o tamanho correto do arquivo.

O mp3cat por si só produzirá um bom arquivo de dados concatenados (portanto, melhor que o mp3wrap), mas também retira as tags ID3 e não atualiza o header VBR com o tamanho correto do arquivo unido.

Aqui está uma boa explicação destes problemas e método (dois na verdade) para combinar arquivos MP3 e produzir um resultado final “limpo” com metadados originais intactos – sua linha de comando funciona no Mac / Linux / BSD etc. Ele usa:

  • mp3cat para combinar os frameworks de dados MPEG apenas em um arquivo contínuo, então
  • id3cp para copiar todos os metadados para o arquivo combinado e, finalmente,
  • VBRFix para atualizar o header VBR.

Para uma ferramenta Windows GUI, dê uma olhada no Merge MP3 – ele cuida de tudo. (VBRFix também vem em forma de GUI, mas não faz a junit.)

Use ffmpeg ou uma ferramenta semelhante para converter todos os seus MP3s em um formato consistente, por exemplo

 ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3 

Então, em tempo de execução, concatie seus arquivos juntos:

 cat intermediateA.mp3 intermediateB.mp3 > output.mp3 

Finalmente, execute-os através da ferramenta MP3Val para corrigir quaisquer erros de stream sem forçar uma recodificação completa:

 mp3val output.mp3 -f -nb 

O problema do tempo tem a ver com os headers ID3 dos arquivos MP3, que é algo que o método não leva em conta quando o arquivo inteiro é copiado.

Você tem uma língua de escolha que você quer usar ou não importa? Isso afetará as bibliotecas disponíveis que suportam as operações desejadas.

O que eu realmente queria era uma interface gráfica para reordená-los e enviá-los como um arquivo

O Playlist Producer faz exatamente isso, decodificando e reencetando-os em um MP3 combinado. Ele foi projetado para criar fitas de mixagem ou podcasts simples, mas você pode achar útil.

(Divulgação: eu escrevi o software, e eu ganho se você comprar o Pro Edition. A edição Lite é uma versão gratuita com algumas limitações).

Arquivos MP3 têm headers que você precisa respeitar.

Você pode usar uma biblioteca como o Open Source Audio Library Project e escrever uma ferramenta em torno dele. Ou você pode usar uma ferramenta que entende arquivos de mp3 como o Audacity .

Se você quer algo livre com uma interface de usuário simples que faz um mp3 completamente limpo eu recomendo MP3 Joiner .

Características:

  • Retira os dados ID3 (ambos ID3v1 e ID3v2.x) e não os adiciona (ao contrário do mp3wrap)
  • Junção sem perdas (não decodifica e recodifica os arquivos .mp3s). Nenhum codec necessário.
  • UI simples (veja abaixo)
  • Baixo uso de memory (usa streams)
  • Muito rápido (comparado ao mp3wrap)
  • Eu escrevi 🙂 – assim você pode solicitar resources e eu os adicionarei.

App Marceneiro MP3

Links:

  • Site de Joiner de MP3: aqui
  • Instalador mais recente: aqui

Como David diz, mp3wrap é o caminho a percorrer. No entanto, descobri que ele não consertava o header de comprimento de áudio, então o iTunes se recusou a reproduzir o arquivo inteiro, mesmo que todos os dados estivessem lá. (Eu mesclei três arquivos de 7 minutos, mas ele só viu os primeiros 7 minutos.)

Eu desenterrei este post do blog , que explica como consertar isso e também como copiar as tags ID3 dos arquivos originais (por conta própria, o mp3wrap exclui suas tags ID3). Ou apenas copiar as tags (usando o id3cp do id3lib ), faça:

 id3cp original.mp3 new.mp3 

Eu usaria o Winamp para fazer isso. Crie uma lista de reprodução de arquivos que você deseja mesclar em um, selecione o plug-in de saída do Gravador de disco, escolha o nome do arquivo e pronto. O arquivo que você receberá será o arquivo MP3 correto e você pode definir o bitrate etc.

Eu não tinha ouvido falar de mp3wrap antes. Parece ótimo. Eu estou supondo que alguém fez isso em um gui também em algum lugar. Mas, apenas para responder ao post original, eu escrevi um gui que faz o método COPY / b. Então, por debaixo das cobertas, nada de novo sob o sol, mas o programa é tudo sobre como tornar o processo menos doloroso se você tem muitos arquivos para mesclar … E você não quer recodificar E cada conjunto de arquivos para mesclar são a mesma taxa de bits. Se você tem isso (e você está no Windows), confira o Mp3Merge em: http://www.leighweb.com/david/mp3merge e veja se é isso que você está procurando.

Pessoalmente eu usaria algo como mplayer com o áudio pass embora opção eg -oac copy

Em vez de usar a linha de comando para fazer

copiar / b 1.mp3 + 2.mp3 3.mp3

você pode usar “The Rename” para renomear todos os fragments de MP3 em uma série de nomes que estão em ordem com base em algum tipo de contador. Então você poderia apenas usar o mesmo formato de linha de comando, mas alterá-lo um pouco para:

copy / b * .mp3 nome_da_impressao.mp3

Isso é supondo que você tenha copiado todos esses fragments MP3 ao mesmo tempo e eles tenham as mesmas configurações de áudio. Funcionou muito bem para mim quando eu estava convertendo um livro de áudio que eu tinha em .aa para um único .mp3. Eu tive que gravar todos os arquivos .aa em 9 CD’s e então ripar todos os 9 CDs e então fiquei com cerca de 90 mp3’s. Realmente uma dor na a55.