Idealmente, quiero convertir de MP3 a FLAC y viceversa. También necesito poder escribir esto.
Idealmente, quiero convertir de MP3 a FLAC y viceversa. También necesito poder escribir esto.
Respuestas:
La herramienta fundamental para las conversiones de formato de sonido y las transformaciones simples es SoX, la navaja suiza de los programas de procesamiento de sonido .
sox foo.mp3 foo.flac
Si está ejecutando Debian, el soporte para escribir MP3 sox
está roto en Lenny y Squeeze (y hasta donde yo sé, el mismo problema afecta a Ubuntu 10.04 y 10.10). Este error se solucionó a principios de marzo de 2011, por lo que tomar la última fuente (o tomar un binario para sox
14.3.1-1build1 o más reciente) y volver a compilarlo debería funcionar.
Una alternativa para codificar .mp3
es lame
. No lee .flac
, pero se puede utilizar sox
o flac
convertir de .flac
a .wav
y después lame
de .wav
a .mp3
.
flac -d foo.flac -c | lame - foo.mp3
Sox versión 13 y posteriores son compatibles con FLAC, junto con muchos otros formatos . sox puede hacer muchas cosas en un archivo de audio, no solo convertir de un formato a otro. Es para audio lo que ImageMagick es para gráficos.
Por supuesto, puede usar SoX, como otras personas ya mencionaron, pero sugiero usar lame
y flac
:
Su primera pregunta va de .mp3
a .flac
(vea a continuación por qué suele ser una mala idea):
lame --decode <file>.mp3 - | flac -o <file>.flac -
Esto usará encabezados WAV, que tienen limitaciones cuando se trata de archivos muy largos (cuatro horas o más archivos de sonido largos, etc.)
Su segunda pregunta es cómo pasar de .flac
a .mp3
:
flac -d -c <file>.flac | lame - <file>.mp3
Esta configuración asume niveles de calidad predeterminados, etc. Lea la página de manual de lame
y / o flac
para tener una mejor idea de cómo ajustarlos.
Ahora, puede ser que tengas grabaciones muy largas, que luego quieras volver a codificar en un formato con pérdida. Este fue uno de mis casos de uso, y se me ocurrió esto:
Pasando .flac
a .mp3
usar la configuración de calidad predeterminada:
flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3
Esto supone que el formato sin procesar es un dato PCM. Frecuencia de muestreo 48 kHz, dos canales. Cada muestra es de 16 bits, little endian, entero con signo.
El proceso de codificación de lame
está utilizando la configuración de calidad predeterminada aquí, que puede no ser lo suficientemente sofisticada para usted, eso sí.
Cabe señalar que no tiene sentido crear un archivo FLAC a partir de un archivo MP3, porque el MP3 ya está codificado con pérdida.
Pasar de MP3 -> FLAC y luego FLAC -> MP3 no tiene sentido, ya que la calidad se verá afectada desde el primer paso de codificación original de MP3.
Sin embargo, supongo que tiene un caso de uso razonable para esto ...