Existe-t-il un bon outil en ligne de commande pour convertir vers et depuis le format audio FLAC?

10

Idéalement, je veux convertir du MP3 en FLAC et inversement. J'ai également besoin de pouvoir écrire ceci.

ixtmixilix
la source

Réponses:

11

L'outil fondamental pour les conversions de formats sonores et les transformations simples est SoX, le couteau suisse des programmes de traitement du son .

sox foo.mp3 foo.flac

Si vous utilisez Debian, la prise en charge de l'écriture de MP3 soxest interrompue dans Lenny et Squeeze (et pour autant que je sache, le même problème affecte Ubuntu 10.04 et 10.10). Ce bogue a été corrigé au début de mars 2011, donc saisir la dernière source (ou soxrécupérer un binaire pour 14.3.1-1build1 ou plus récent) et le recompiler devrait fonctionner.

Une alternative pour le codage en .mp3est lame. Il ne lit pas .flac, mais vous pouvez utiliser soxou flacpour convertir de .flacà .wavpuis lamede .wavà .mp3.

flac -d foo.flac -c | lame - foo.mp3
Gilles 'SO- arrête d'être méchant'
la source
7

sox version 13 et plus prend en charge FLAC, ainsi que de nombreux autres formats . sox peut faire beaucoup de choses dans un fichier audio, pas seulement convertir d'un format à un autre. C'est à l'audio qu'est ImageMagick aux graphiques.

Warren Young
la source
grande analogie, mec. qui vous a valu une upvote.
ixtmixilix
2

Ça s'appelle flac, curieusement. C'est un peu pénible à utiliser, ou j'étais de retour lorsque j'ai écrit un script de transcodage avec.

geekosaure
la source
0

Vous pouvez bien sûr utiliser SoX, comme d'autres personnes l'ont déjà mentionné, mais je suggère d'utiliser lameet flac:

Votre première question va de .mp3à .flac(voir ci-dessous pourquoi c'est généralement une mauvaise idée):

lame --decode <file>.mp3 - | flac -o <file>.flac -

Cela utilisera des en-têtes WAV, qui ont des limites en ce qui concerne les fichiers très longs (quatre heures ou plus de fichiers audio longs, etc.)

Votre deuxième question est de savoir comment passer de .flacà .mp3:

flac -d -c <file>.flac | lame - <file>.mp3

Ces paramètres supposent des niveaux de qualité par défaut, etc. Lisez la page de manuel de lameet / ou flacpour avoir une meilleure idée de la façon de les modifier.


Maintenant, il se peut que vous ayez des enregistrements très longs, que vous souhaitez ensuite ré-encoder dans un format avec perte. C'était l'un de mes cas d'utilisation, et j'ai trouvé ceci:

Passer de .flacà l' .mp3utilisation des paramètres de qualité par défaut:

flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3

Cela suppose que le format brut est une donnée PCM. Taux d'échantillonnage 48 kHz, deux canaux. Chaque échantillon est 16 bits, petit endian, entier signé.

Le processus de codage lameutilise ici les paramètres de qualité par défaut, qui ne sont peut-être pas assez sophistiqués pour vous, faites attention.


Il convient de noter que cela n'a aucun sens de créer un fichier FLAC à partir d'un fichier MP3, car le MP3 est déjà encodé avec perte.

Passer de MP3 -> FLAC puis FLAC -> MP3 n'a aucun sens, car la qualité sera altérée dès la première étape d'encodage MP3 d'origine.

Cependant, je suppose que vous avez un cas d'utilisation raisonnable pour cela ...

polémon
la source