Dividir um arquivo de áudio em pedaços de comprimento especificado

Dividir um arquivo de áudio em pedaços de comprimento especificado

Tenho vários arquivos de áudio longos (80 minutos cada; m4a) e quero que eles sejam divididos em pedaços de 5 ou 10 minutos.

Vejo muitas perguntas sobre como dividir um arquivo de áudio em pausas prolongadas, tons, etc., mas não consigo encontrar nenhuma sobre esta operação simples. Alguém sabe uma maneira simples de fazer isso?

Claro, algo automático e linha de comando é aceitável – até mesmo preferido.

Desde já, obrigado!

Responder1

Com ffmpeg recente (baixe uma compilação estáticadaqui):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

Isso usa o muxer de segmento e copia os fluxos de bits. Se o seu arquivo tiver fluxos de áudio e vídeo, você poderá desativar o fluxo de vídeo com -vn.


Aqui está uma frase, você só precisaRubieFFmpeginstalado:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

Basta executar isso na mesma pasta onde in.m4aestá. Ele copiará o fluxo de bits do áudio, portanto, a execução provavelmente levará menos de alguns segundos.

Explicar:

  • 4.800 segundos é a duração do arquivo de áudio (80 minutos x 60 segundos), então nossa última divisão é 4.500 (4.800 - 300 segundos).
  • Vamos de 0 a 4.500 e dividimos a cada 300 segundos (5min × 60s).
  • O FFmpeg iniciará no horário especificado por-ss
  • E ele será copiado pelo tempo especificado por-t
  • Ele gravará vários arquivos de saída chamados out-<x>.mp4, onde <x>é o horário de início em segundos.

Responder2

Eu estava procurando uma solução para isso sozinho. A maneira mais fácil que encontrei de fazer isso é atravésMP4Box:

mp4box -split 300 infile.m4a

Onde “300” é o tempo em segundos. MP4Box gravará automaticamente arquivos de saída numerados.

(Você não precisa instalar todo o grande aplicativo GPAC. Estes são os arquivos que você pode extrair do arquivo para que ele funcione: js.dll; libeay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)

Responder3

Já faz um tempo que essa pergunta foi feita, mas depois de brincar com Ruby e ffmpeg decidi que deveria haver uma maneira mais fácil de fazer isso no Windows, e descobri que existe.

Baixe e instale o Audacity

Crie um arquivo de texto em algum lugar onde você possa encontrá-lo e cole a seguinte string nele: (intervalos de 300 segundos, ou seja, 5 minutos, 10 minutos seriam 600 intervalos, etc...)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

Apenas certifique-se de que o número de intervalos seja maior que a duração total dos seus arquivos de áudio. Criei este que dura mais de três horas, tempo suficiente para minhas necessidades, acrescente mais para atender às suas necessidades.

Importe o arquivo de áudio para o Audacity e faça o balanceamento e quaisquer outras edições que desejar, depois clique em arquivo>rótulos>importar rótulos

Selecione seu arquivo de texto, selecione a faixa de rótulo e a faixa de áudio ao mesmo tempo e clique em arquivo>Exportar Múltiplo.

Altere o tipo de arquivo para o qual deseja exportar, ajuste as configurações e selecione a pasta de destino.

Eu sempre mudo o padrão de numeração para Numeração após prefixo do nome do arquivo e digito o nome do arquivo que desejo na caixa e o programa irá adicionar os números, clico em Exportar e viola!

Responder4

MP4Box funciona perfeitamente. É sempre legal quando você pode fazer as coisas no terminal. Maneira mais rápida.

Esta é a página de download: https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ Você instala o programa e pode trabalhar no terminal, nada mais é necessário.

Testado, o comando dfkt disse que funciona perfeitamente: mp4box -split 59 infile.m4a

No meu caso, eu queria dividir em m4a <1min, para facilitar o uso da fala para texto do Google.

O Audacity pode funcionar bem, mas no meu caso eu sempre prefiro trabalhar com comandos do que com UI gráfica. Melhor solução para mp4box. Não estou dando informações novas, o crédito é para dfkt (obrigado cara). Estou apenas validando que é uma ótima solução.

informação relacionada