O FFmpeg faz isso.
ffmpeg -ss <start time secs> -t <duration secs> -i <input file> <output file>
Isso fará com que a fatia do arquivo de entrada comece na hora de início, atinja a duração especificada e coloque-o no arquivo de saída.
Encontrei alguns programas para dividir arquivos de áudio, mas nenhum permite dividir um arquivo de áudio usando argumentos. Eu tenho vários arquivos de áudio de 5 horas e mais (principalmente MP3, mas eu poderia facilmente convertê-los) que são acompanhados por listas de faixas (tempo e título). Existem programas ou métodos que podem permitir a divisão de arquivos de áudio com base em uma lista de vezes, com um nome de arquivo acompanhante (por exemplo, "00:00 nome " e "05:35 nome <" / em> ")? Mesmo algo como um utilitário de linha de comando que poderia permitir argumentos para o nome do arquivo de saída e o tempo funcionaria, no meu caso.
Você pode tentar o AviSynth mas apenas o áudio.
De link , parece que você pode:
- Use Blankclip() to make a clip the same length as the sound
- Use AudioDub() to dub your sound onto the blank clip.
- Use trim() to cut of 30s worth of frames.
ou
Directshowsource("clip.avi", video=false, audio=true)
trim(x,y)
Como você pode criar funções definidas pelo usuário, talvez você possa escrever uma função que aceite seus argumentos, reduza o arquivo para esse tamanho e produza esse resultado. Em seguida, chame essa função quantas vezes forem necessárias. Ou escreva um AviSynth para gerar um arquivo e chamá-lo várias vezes de um script bash.