Pergunta

Tenho muitos, muitos arquivos mp3 que 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 pena quando há muitos deles e seus nomes são inconsistentes.O tempo também parece nunca sair certo.

Foi útil?

Solução

Como Thomas Owens apontou, simplesmente concatenar os arquivos deixará vários cabeçalhos ID3 espalhados por todo o arquivo concatenado resultante - portanto, as informações de tempo/taxa de bits estarã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 unir arquivos MP3, sem a necessidade de decodificar + recodificar os dados (o que resultaria em perda de qualidade de áudio) e também lidará com as tags ID3 de forma inteligente.

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

Outras dicas

A resposta de Davi está correto que apenas concatenar os arquivos deixará tags ID3 espalhadas por dentro (embora isso normalmente não afete a reprodução, então você pode fazer "copy /b" ou no UNIX "cat a.mp3 b.mp3 > combinado.mp3" em um pitada).

No entanto, mp3wrap não é exatamente a ferramenta certa para combinar vários MP3s em um arquivo “limpo”.Em vez de usar ID3, ele insere seu próprio formato de dados personalizado entre os frames do MP3 (a parte "wrap"), o que causa problemas de reprodução, principalmente no iTunes e iPods.Embora o arquivo vai reproduza bem se você deixá-los rodar do início ao fim (porque os jogadores irão pular esses bytes arbitrários não-MPEG), a duração do arquivo e a taxa de bits serão relatadas incorretamente, o que interrompe a busca.Além disso, o mp3wrap apagará todos os seus metadados ID3, incluindo a capa, e não atualizará o cabeçalho VBR com o comprimento correto do arquivo.

mp3cat por si só produzirá um bom arquivo de dados concatenados (portanto, melhor que mp3wrap), mas também remove tags ID3 e falha ao atualizar o cabeçalho VBR com o comprimento correto do arquivo unido.

Aqui está um boa explicação desses problemas e método (dois na verdade) para combinar arquivos MP3 e produzir um resultado final "limpo" com metadados originais intactos - é linha de comando, então funciona em Mac/Linux/BSD etc.Ele usa:

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

Para uma ferramenta GUI do Windows, dê uma olhada em Mesclar MP3 - ele cuida de tudo.(VBRFix também vem em formato GUI, mas não faz a junção.)

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, concatene seus arquivos:

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 de tempo tem a ver com os cabeçalhos ID3 dos arquivos MP3, algo que seu método não leva em consideração, pois o arquivo inteiro é copiado.

Você tem um idioma de escolha que deseja usar ou isso não importa?Isso afetará quais bibliotecas estão disponíveis para suportar as operações desejadas.

O que eu realmente queria era uma GUI para reordená-los e produzi-los como um arquivo

Produtor de playlist faz exatamente isso, decodificando e recodificando-os em um MP3 combinado.Ele foi projetado para criar mix tapes ou podcasts simples, mas pode ser útil.

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

Os arquivos MP3 têm cabeçalhos que você precisa respeitar.

Você poderia usar uma biblioteca como Projeto de biblioteca de áudio de código aberto e escreva uma ferramenta em torno dele.Ou você pode usar uma ferramenta que entenda arquivos mp3 como Audácia.

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

Características:

  • Remove dados ID3 (ID3v1 e ID3v2.x) e não os adiciona (ao contrário do mp3wrap)
  • Junção sem perdas (não decodifica e recodifica os .mp3s).Não são necessários codecs.
  • UI simples (veja abaixo)
  • Baixo uso de memória (usa streams)
  • Muito rápido (em comparação com mp3wrap)
  • Eu escrevi :) - então você pode solicitar recursos e eu os adicionarei.

MP3 Joiner app

Links:

  • Site do MP3 Joiner: Aqui
  • Instalador mais recente: Aqui

Como diz Davi, mp3wrap é o caminho a seguir.No entanto, descobri que isso não corrigia o cabeçalho da duração do áudio, então o iTunes se recusou a reproduzir o arquivo inteiro, mesmo que todos os dados estivessem lá.(Mesclei três arquivos de 7 minutos, mas só vi até os primeiros 7 minutos.)

eu desenterrei esta postagem do blog, que explica como corrigir isso e também como copiar as tags ID3 dos arquivos originais (por si só, o mp3wrap exclui suas tags ID3).Ou apenas copiar as tags (usando id3cp de id3lib), fazer:

id3cp original.mp3 new.mp3

Eu usaria o Winamp para fazer isso.Crie uma lista de reprodução de arquivos que deseja mesclar em um, selecione o plugin de saída do Disk Writer, escolha o nome do arquivo e pronto.O arquivo que você obterá será o arquivo MP3 correto e você poderá definir a taxa de bits, etc.

Eu nunca tinha ouvido falar de mp3wrap antes.Parece ótimo.Suponho que alguém também tenha transformado isso em um gui em algum lugar.Mas, só para responder à postagem original, escrevi uma interface gráfica que executa o método COPY /b.Então, nos bastidores, nada de novo sob o sol, mas o objetivo do programa é tornar o processo menos doloroso se você tiver muitos arquivos para mesclar... E você não deseja recodificar E cada conjunto de arquivos para mesclar têm a mesma taxa de bits.Se você tiver isso (e estiver 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 a opção de passagem de áudio, por exemplo -oac copy

Em vez de usar a linha de comando para fazer

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

você poderia usar "A Renomeação" renomear todos os fragmentos de MP3 em uma série de nomes ordenados com base em algum tipo de contador.Então você poderia simplesmente usar o mesmo formato de linha de comando, mas alterá-lo um pouco para:

copiar /b *.mp3 nome_de_saída.mp3

Isso pressupõe que você copiou todos esses fragmentos de MP3 ao mesmo tempo e eles têm as mesmas configurações de áudio.Funcionou muito bem para mim quando estava convertendo um audiolivro que tinha em .aa para um único .mp3.Tive que gravar todos os arquivos .aa em 9 CDs, depois copiar todos os 9 CDs e fiquei com cerca de 90 mp3s.Realmente uma dor no a55.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top