GNU/Linux >> Tutoriels Linux >  >> Linux

Convertissez des fichiers audio avec cette commande Linux polyvalente

Je travaille avec les médias, et lorsque vous travaillez avec n'importe quel type de média, vous apprenez assez rapidement que la normalisation est un outil précieux. Tout comme vous n'essaieriez pas d'ajouter une fraction à un nombre décimal sans convertir l'un ou l'autre, j'ai appris qu'il n'est pas idéal de combiner des médias de formats différents. La plupart des applications de niveau amateur rendent le processus de conversion invisible pour l'utilisateur par commodité. Les logiciels flexibles destinés aux utilisateurs qui ont besoin de contrôler les moindres détails de leurs actifs, cependant, vous laissent souvent le soin de convertir à l'avance vos médias au format souhaité. J'ai quelques outils de conversion préférés, et l'un d'entre eux est le soi-disant couteau suisse du son , SoX.

Installation

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Sous Linux ou BSD, vous pouvez installer le sox commande (et quelques liens symboliques utiles) de votre référentiel de logiciels ou de votre arborescence de ports.

Vous pouvez également installer SoX depuis son domicile sur Sourceforge.net. Il ne sort pas souvent, mais sa base de code a tendance à être stable, donc si vous voulez les dernières fonctionnalités (telles que la prise en charge d'Opus), c'est facile et sûr à construire.

SoX fournit principalement le sox commande, mais l'installation crée également quelques liens symboliques utiles :jouer , rec , et soxi .

Obtenir des informations sur les fichiers avec SoX

SoX lit et réécrit les données audio. C'est à vous de décider s'il stocke les données audio réécrites. Il existe des cas d'utilisation dans lesquels vous n'avez pas besoin de stocker les données converties, par exemple, lorsque vous envoyez la sortie directement à vos haut-parleurs pour la lecture. Avant d'effectuer une conversion, cependant, il est généralement judicieux de déterminer exactement à quoi vous avez affaire en premier lieu.

Pour recueillir des informations sur un fichier audio, utilisez le soxi commande. Ceci est un lien symbolique vers sox --info .

$ soxi countdown.mp3
Fichier d'entrée     :'/home/tux/countdown.mp3'
Canaux       :1
Taux d'échantillonnage    :44100
Précision      :16 bits
Durée       :00:00:11.21 =494185 échantillons...
Taille du fichier      :179k
Débit binaire       :128k
Codage d'échantillon :audio MPEG (couche I, II ou III)

Cette sortie vous donne une bonne idée du codec dans lequel le fichier audio est encodé, de la longueur du fichier, de la taille du fichier, de la fréquence d'échantillonnage et du nombre de canaux. Certains d'entre eux pourraient penser vous le savez déjà, mais je ne fais jamais confiance aux suppositions lorsqu'un média m'est apporté par un client. Vérifiez les attributs des médias avec soxi .

Conversion de fichiers

Dans cet exemple, l'audio d'un compte à rebours de jeu télévisé a été livré sous forme de fichier MP3. Bien que presque toutes les applications d'édition acceptent l'audio compressé, aucune d'entre elles n'édite réellement les données compressées. La conversion se produit quelque part, qu'il s'agisse d'une tâche secrète en arrière-plan ou d'une invite vous invitant à enregistrer une copie. Je préfère généralement faire la conversion moi-même, à l'avance. De cette façon, je peux contrôler le format que j'utilise. Je peux faire beaucoup de médias par lots du jour au lendemain au lieu de perdre un temps de production précieux à attendre qu'une application de montage les traite à la demande.

Les sox La commande est destinée à convertir des fichiers audio. Il y a quelques étapes dans le sox pipeline :

  • entrée
  • combiner
  • effets
  • sortie

Dans la syntaxe de commande, l'étape des effets est, de manière déroutante, écrite dernier . Cela signifie que le pipeline est composé de cette façon :

input → combine → output → effects 

Encodage

La commande de conversion la plus simple implique uniquement un fichier d'entrée et un fichier de sortie. Voici la commande pour convertir un fichier MP3 en un fichier FLAC sans perte :

$ sox countdown.mp3 output.flac
$ soxi output.flac

Fichier d'entrée     :'output.flac'
Canaux       :1
Taux d'échantillonnage    :44100
Précision     :16 bits
Durée       :00:00:11.18 =493056 échantillons...
Taille du fichier      :545 k
Débit binaire       :390 k
Encodage d'échantillon :FLAC 16 bits
Comment         :'Comment=Processed by SoX'

Effets

La chaîne d'effets est spécifiée à la fin d'une commande. Il peut modifier l'audio avant d'envoyer les données à leur destination finale. Par exemple, un son trop fort peut parfois causer des problèmes lors de la conversion :

$ sox bad.wav bad.ogg
sox AVERTISSEMENT sox :la sortie de `bad.ogg' a coupé 126 échantillons ; baisser le volume ?

Appliquer un gain effet peut souvent résoudre ce problème :

$ sox bad.wav bad.ogg gain -1 

Fondu

Un autre effet utile est le fondu . Cet effet vous permet de définir la forme d'un fondu entrant ou sortant, ainsi que le nombre de secondes que vous souhaitez que le fondu s'étale.

Voici un exemple de fondu entrant de six secondes utilisant une parabole inversée :

$ sox intro.ogg intro.flac fade p 6 

Cela applique un fondu entrant de trois secondes à la tête de l'audio et un fondu sortant à partir de la marque des huit secondes (la musique d'intro ne dure que 11 secondes, donc le fondu sortant est également de trois secondes dans ce cas) :

$ sox intro.ogg intro.flac fade p 3 8 

Les différents types de fondus (sinusoïdaux, linéaires, paraboliques inversés, etc.), ainsi que les options de fondu les offres (fade-in, fade-out), sont listées dans le sox page de manuel.

Syntaxe des effets

Chaque plugin d'effet a sa propre syntaxe, alors référez-vous à la page de manuel pour plus de détails sur la façon d'invoquer chacun.

Les effets peuvent être connectés en guirlande dans une seule commande, au moins dans la mesure où vous souhaitez les combiner. En d'autres termes, il n'y a pas de syntaxe pour appliquer un flanger effet uniquement pendant un fondu de six secondes. Pour quelque chose d'aussi précis, vous avez besoin d'un éditeur graphique d'ondes sonores ou d'une station de travail audio numérique telle que LMMS ou Rosegarden. Cependant, si vous n'avez que des effets que vous souhaitez appliquer une seule fois, vous pouvez les lister ensemble dans la même commande.

Cette commande applique un gain de -1 effet, un tempo stretch de 1,35 et un fondu :

$ sox intro.ogg output.flac gain -1 stretch 1.35 fade p 0 6
$ soxi output.flac

Fichier d'entrée     :'output.flac'
Canaux :1
Taux d'échantillonnage    :44100
Précision      :16 bits
Durée       :00:00:15.10 =665808 échantillons...
Taille du fichier      :712 k
Débit binaire :377k
Exemple d'encodage :FLAC 16 bits
Comment                :'Comment=Processed by SoX'

Combiner l'audio

SoX peut également combiner des fichiers audio, soit en les concaténant, soit en les mixant.

Pour rejoindre (ou concaténer ) fichiers en un seul, indiquez plusieurs fichiers d'entrée dans votre commande :

$ sox countdown.mp3 intro.ogg output.flac 

Dans cet exemple, output.flac contient désormais un compte à rebours audio, suivi immédiatement de intro musique.

Si vous voulez que les deux pistes soient lues l'une sur l'autre en même temps, vous pouvez utiliser le --combine mix choix :

$ sox --combine mix countdown.mp3 intro.ogg output.flac 

Imaginez, cependant, que les deux fichiers d'entrée diffèrent en plus de leurs codecs. Il n'est pas rare que les pistes vocales soient enregistrées en mono (un canal), mais que la musique soit enregistrée au moins en stéréo (deux canaux). SoX n'utilisera pas de solution par défaut, vous devez donc d'abord normaliser vous-même le format des deux fichiers.

Modification des fichiers audio

Options liées au nom de fichier listé après ce. Par exemple, les --canaux l'option de cette commande s'applique uniquement à input.wav et NON à example.ogg ou output.flac :

$ sox --channels 2 input.wav example.ogg output.flac 

Cela signifie que la position d'une option est très importante dans SoX. Si vous spécifiez une option au début de votre commande, vous ne remplacez essentiellement que ce que SoX glane des fichiers d'entrée par lui-même. Options placées immédiatement avant la sortie fichier, cependant, déterminez comment SoX écrit les données audio.

Pour résoudre le problème précédent des canaux incompatibles, vous pouvez d'abord standardiser vos entrées, puis mélanger :

$ sox countdown.mp3 --channels 2 countdown-stereo.flac gain -1
$ soxi countdown-stereo.flac

Fichier d'entrée     :'countdown-stereo.flac'
Canaux       :2
Taux d'échantillonnage    :44100
Précision      :16 bits
Durée       :00:00:11.18 =493056 échantillons...
Taille du fichier      :545 000
Débit binaire       :390 k
Exemple d'encodage :FLAC 16 bits
Commentaire        :'Comment=Processed by SoX'

$ sox --combine mix \
compte à rebours -stereo.flac \
intro.ogg \
output.flac

SoX nécessite absolument plusieurs commandes pour des actions complexes, il est donc normal de créer plusieurs fichiers temporaires et intermédiaires selon les besoins.

Audio multicanal

Bien sûr, tout l'audio n'est pas limité à un ou deux canaux. Si vous souhaitez combiner plusieurs canaux audio dans un seul fichier, vous pouvez le faire avec SoX et le --combine merge choix :

$ sox --combine merge countdown.mp3 intro.ogg output.flac
$ soxi output.flac

Fichier d'entrée     :'output.flac'
Canaux       :3

Manipulation audio facile

Il peut sembler étrange de travailler avec l'audio sans interface visuelle, et pour certaines tâches, SoX n'est certainement pas le meilleur outil. Cependant, pour de nombreuses tâches, SoX fournit une boîte à outils simple et légère. SoX est une commande simple avec un potentiel puissant. Avec lui, vous pouvez convertir l'audio, manipuler les canaux et les formes d'onde, et même générer vos propres sons. Cet article n'a fourni qu'un bref aperçu de ses fonctionnalités, alors lisez sa page de manuel ou sa documentation en ligne, puis voyez ce que vous pouvez créer.


Linux
  1. Convertir l'audio par lots sur Linux avec SoundConverter

  2. 10 trucs et astuces incroyables pour travailler avec Linux

  3. Rechercher rapidement des fichiers sous Linux avec la commande Locate

  4. Comment rechercher des fichiers avec la commande fd sous Linux

  5. Commande Linux rsync avec des exemples pratiques

Comment télécharger des fichiers avec la commande Curl sous Linux

Comment télécharger des fichiers avec la commande Wget sous Linux

Convertir les onglets en espaces dans le terminal Linux avec la commande Expand

Tutoriel sur la commande de recherche Linux (avec exemples)

Commande lsof sous Linux avec exemples

Commande comm Linux avec exemples