8 votes

Conversion de WAV en MP3 à l'aide de LAME et Automator

J'aimerais convertir de nombreux fichiers WAV en fichiers MP3 en utilisant LAME et Automator. J'ai besoin d'un script qui me permette de faire un clic droit sur un dossier et de convertir tous les fichiers WAV qu'il contient en fichiers MP3. J'ai pu trouver un script pour convertir un seul fichier mais je ne sais pas comment le modifier pour pouvoir convertir plusieurs fichiers en un seul clic.

J'ai utilisé script que j'ai trouvé aquí pour les fichiers uniques. Ici est une question similaire mais au lieu d'utiliser "Run Applescript", elle utilise "Run Shell script". J'ai essayé de remplacer les paramètres LAME entre "do" et "done" mais je n'ai pas réussi à convertir quoi que ce soit.

Comment puis-je convertir un dossier rempli de fichiers WAV en fichiers MP3 ? Pour moi, peu importe que ce soit en utilisant Applescript ou Shell script dans Automator si les deux méthodes sont possibles.

5voto

l'L'l Points 8737

Automator se bloque lorsqu'il tente d'utiliser l'encodeur LAME. Il n'est pas non plus efficace ou conseillé d'essayer d'utiliser un processus multithread en tant que service Automator. Pour des tâches telles que celle-ci, il est préférable d'exécuter un simple script ou d'utiliser une autre méthode.

Le script ci-dessous va encoder un fichier .wav de 20Mb en .mp3 en 3 secondes ! (avec les paramètres de qualité les plus élevés)

file="$1"

find . -name '*.wav' -maxdepth 1 -exec /usr/local/bin/lame -V 0 -q 0 '{}' \;

for file in *.mp3
do
  mv "$file" "${file/wav./}"
done

Pour l'installer, téléchargez-la, puis ouvrez le terminal :

sudo install encode-mp3 /usr/local/bin

Pour l'utiliser, naviguez dans le dossier de conversion souhaité et tapez :

encode-mp3

Cela permet d'encoder vos fichiers .wav en .mp3.

Convertissez .wav en .mp3 | LAME Encoder Shell script [md5: 72d4e24f14ea9139136900f2c4281a7f]


[original]

Je viens d'écrire une ligne qui fera cela pour cd dans le répertoire des fichiers que vous voulez convertir et entrez :

find ./ -name "*.wav" -execdir lame -V 3 -q 0 {} \;

4voto

joelseph Points 10262

Vous pouvez utiliser ce qui suit dans l'action "Run Shell script" d'Automator (veillez à remplacer "Pass input" par "as arguments") :

find "$1" -name "*.wav" -execdir /usr/local/bin/lame -V 0 -q 0 {} \;

Cela permet de trouver tous les fichiers .wav dans le dossier sélectionné, y compris les sous-dossiers (et d'ignorer tous les fichiers qui ne sont pas des fichiers .wav). Si vous ne souhaitez pas qu'il recherche dans les sous-dossiers, vous pouvez le remplacer par ceci :

find "$1" -name "*.wav" -maxdepth 1 -execdir /usr/local/bin/lame -V 0 -q 0 {} \;

Bien sûr, vous changerez -V 0 -q 0 à n'importe quel lame que vous préférez.

Si vous souhaitez être averti lorsque l'opération est terminée, vous pouvez ajouter un champ d'application say utiliser une action "Show Growl Notification" (si vous avez la commande Grognement installée), ou utiliser un beep dans une action "Exécuter AppleScript".

Voici une capture d'écran de mon flux de travail avec l'option supplémentaire say et la notification Growl. Vous remarquerez également que j'ai changé l'option "Service receives selected" en haut de la page en "folders" (par défaut, il s'agit de "text").

Lame WAV to MP3 Batch Conversion

3voto

John M Points 6468

Le fil de discussion est un peu mis à jour, mais pour ceux qui pourraient le trouver utile,

J'ai utilisé la configuration d'Automator décrite ici, et j'ai pu éviter d'être bloqué avec l'option -S de lame, de sorte que ma commande "Run Shell script" ressemble à ce qui suit :

    find "$1" -name "*.wav" -maxdepth 1 -execdir /usr/bin/lame -b 160 -q 0 -S {} \;

(d'ailleurs, mon exécuteur boiteux est dans un autre endroit)

L'option -S désactive le rapport de progression de Lames

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X