Idealmente, voglio convertire da MP3 a FLAC e viceversa. Devo anche essere in grado di scrivere questo.
Idealmente, voglio convertire da MP3 a FLAC e viceversa. Devo anche essere in grado di scrivere questo.
Risposte:
Lo strumento fondamentale per conversioni di formati audio e semplici trasformazioni è SoX, il coltellino svizzero di programmi di elaborazione del suono .
sox foo.mp3 foo.flac
Se stai eseguendo Debian, il supporto per la scrittura di MP3 sox
è interrotto in lenny e squeeze (e per quanto ne so lo stesso problema riguarda Ubuntu 10.04 e 10.10). Questo bug è stato corretto all'inizio di marzo 2011, quindi afferrare l'ultima fonte (o afferrare un binario per sox
14.3.1-1build1 o più recente) e ricompilarlo dovrebbe funzionare.
Un'alternativa per la codifica .mp3
è lame
. Non legge .flac
, ma puoi usare sox
o flac
per convertire da .flac
a .wav
e poi lame
da .wav
a .mp3
.
flac -d foo.flac -c | lame - foo.mp3
sox versione 13 e successive supporta FLAC, insieme a molti altri formati . sox può fare molte cose in un file audio, non solo convertirlo da un formato all'altro. È l'audio come ImageMagick è la grafica.
Ovviamente puoi usare SoX, come già menzionato da altre persone, ma suggerisco di usare lame
e flac
:
La tua prima domanda va da .mp3
a .flac
(vedi sotto perché di solito questa è una cattiva idea):
lame --decode <file>.mp3 - | flac -o <file>.flac -
Questo userà le intestazioni WAV, che hanno dei limiti quando si tratta di file molto lunghi (quattro ore o più file audio lunghi, ecc.)
La tua seconda domanda è come andare da .flac
a .mp3
:
flac -d -c <file>.flac | lame - <file>.mp3
Queste impostazioni presuppongono livelli di qualità predefiniti, ecc. Leggi la pagina man di lame
e / o flac
per avere un'idea migliore su come modificarle.
Ora, potrebbe darsi che tu abbia registrazioni molto lunghe, che vuoi ricodificare in un formato con perdita. Questo è stato uno dei miei casi d'uso e ho pensato a questo:
Passando .flac
a .mp3
utilizzare le impostazioni di qualità predefinite:
flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3
Ciò presuppone che il formato non elaborato sia un dato PCM. Frequenza di campionamento 48kHz, due canali. Ogni campione è 16 bit, little endian, intero con segno.
Il processo di codifica lame
sta utilizzando le impostazioni di qualità predefinite qui, che potrebbero non essere abbastanza sofisticate per te, intendiamoci.
Va notato che non ha senso creare un file FLAC da un file MP3, poiché l'MP3 è già codificato con perdita di dati.
Passare da MP3 -> FLAC e poi FLAC -> MP3 non ha senso, poiché la qualità sarà compromessa dal primo passaggio di codifica MP3 originale.
Tuttavia suppongo che tu abbia un ragionevole caso d'uso per questo ...