85 votes

Comment superposer/réduire deux fichiers audio en utilisant ffmpeg

Puis-je superposer/mixer deux fichiers audio mp3 en un seul fichier de sortie mp3 en utilisant ffmpeg ?

150voto

LordNeckbeard Points 9321

Stéréo + stéréo → stéréo

Downmix normal

Normal downmix

Utiliser le amix filtre :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3

Ou la amerge filtre :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 -ac 2 output.mp3

Downmixer chaque entrée dans un canal de sortie spécifique

Downmix each input into specific output channel

Utiliser le amerge y casserole des filtres :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex "amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3" output.mp3

mono + mono → stéréo

mono + mono → stereo

Utiliser le rejoindre filtre :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex join=inputs=2:channel_layout=stereo output.mp3

Ou amerge :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 output.mp3

mono + mono → mono

mono + mono → mono

Utiliser le amix filtre :

ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3

Plus d'informations et d'exemples

Voir FFmpeg Wiki : Canaux audio

23voto

UI Developer Points 356

A vérifier :

ffmpeg -y -i ad_sound/whistle.mp3 -i ad_sound/4s.wav -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ad_sound/outputnow.mp3

Je pense que cela aidera.

18voto

Ehsan Points 636

En amix permet de mixer plusieurs entrées audio en une seule sortie.

Si vous exécutez la commande suivante :

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT

Cette commande mélangera 3 flux audio d'entrée (j'ai utilisé deux fichiers mp3 dans l'exemple ci-dessous) en une seule sortie avec la même durée que la première entrée et un temps de transition d'abandon de 3 secondes.

En amix accepte les paramètres suivants :

  • entrées : Le nombre d'entrées. S'il n'est pas spécifié, la valeur par défaut est 2.

  • durée : Comment déterminer la fin du flux.

    • le plus long : La durée de l'entrée la plus longue. (par défaut)

    • le plus court : La durée de l'entrée la plus courte.

    • premier : La durée de la première entrée.

  • transition_abandon : Le temps de transition, en secondes, pour la renormalisation du volume lorsqu'un flux d'entrée se termine. La valeur par défaut est de 2 secondes.

Par exemple, j'ai exécuté la commande suivante dans Ubuntu : FFMPEG version : 3.2.1-1 UBUNTU 16.04.1

ffmpeg -i background.mp3 -i bSound.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=0 -codec:a libmp3lame -q:a 0 OUTPUT.mp3

-codec:a libmp3lame -q:a 0 a été utilisé pour définir un débit binaire variable. N'oubliez pas que vous devez installer la bibliothèque libmp3lame, si nécessaire. Mais cela fonctionnera même sans la bibliothèque -codec:a libmp3lame -q:a 0 partie.

Référence : https://ffmpeg.org/ffmpeg-filters.html#amix

16voto

Sheetansh Kumar Points 161

Pour fusionner deux fichiers audio avec différents volumes et différentes durées la commande suivante fonctionnera :

ffmpeg -y -i audio1.mp3 -i audio2.mp3 -filter_complex "[0:0]volume=0.09[a];[1:0]volume=1.8[b];[a][b]amix=inputs=2:duration=longest" -c:a libmp3lame output.mp3

Ici, la durée peut être modifiée en le plus long ou le plus court vous pouvez également modifier le les niveaux de volume selon vos besoins.

Si vous cherchez à ajouter une musique de fond à certaines voix utiliser la commande suivante comme dans le écarts la musique devient automatiquement forte :

ffmpeg -i bgmusic.mp3 -i audio.mp3 -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg]; [bg][mix]amerge[final]" -map [final] final.mp3

Le seuil est un élément dont la valeur détermine le niveau sonore de l'audio, plus le seuil est bas, plus l'audio est riche. . Le ratio indique de combien l'autre audio doit être compressé, plus le rapport est élevé, plus la compression est importante .

2voto

Chung Xa Points 31

S'ils sont de longueur différente, vous pouvez utiliser apad pour ajouter un son silencieux au plus court

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X