Concaténer et boucler des fichiers MP3

1

Je veux concaténer et mettre en boucle 3 fichiers MP3.

grammaraudio1.mp3 grammaraudio2.mp3 grammarsudio3.mp3 

Le fichier de sortie doit boucler le premier fichier MP3 cinq fois, puis le second cinq fois, etc. Puis-je utiliser ffmpeg pour cela?

J'aimerais que la deuxième partie de la piste inclue les mêmes fichiers MP3, mais en boucle seulement 3 fois. Ensuite, une troisième partie peut mettre en boucle chaque fichier une ou deux fois. La commande doit générer un seul fichier MP3.

Exemple de sortie, où x# est le nombre de fois bouclé:

GA1.mp3 (x5) GA2.mp3 (x5) GA3.mp3 (x5) GA1.mp3 (x3) GA2.mp3 (x3) GA3.mp3 (x3) GA1.mp3 (x2) GA2.mp3 (x2) GA3.mp3 (x2)

Jake Mackenzie
la source

Réponses:

2

En supposant que les MP3 ont le même taux d’échantillonnage et le même nombre de canaux, utilisez

ffmpeg -f lavfi -i amovie=grammaraudio1.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio1.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio1.mp3:loop=2,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=2,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=2,asetpts=N/SR/TB
       -filter_complex "[0][1][2][3][4][5][6][7][8]concat=n=9:v=0:a=1" out.mp3

Commande unique, pas de fichier intermédiaire.

Gyan
la source
J'apprécie ce Gyan. Est-il possible d'utiliser un caractère générique pour concaténer tout le contenu d'un dossier, quel que soit son nom? Vous pouvez attribuer des noms à chaque fichier, puis les concaténer à l'aide de ces noms. Je vais le rechercher.
Jake Mackenzie