¿Cómo puedo dividir un archivo mp3?

35

Tengo un gran archivo mp3 que proviene de la extracción de un CD completo. Me gustaría dividirlo en un archivo por canción. Será genial encontrar un software que pueda dividir el archivo automáticamente, detectando el inicio y el final de cada canción.

Fondo extra:

He intentado mp3splt y audacity. El primero no detecta automáticamente las canciones y audacity parece ser incapaz de hacerlo.

Me gustaría grabar las canciones en un CD (formato mp3) para reproducirlas en la radio de mi auto. No admitirá nada sofisticado, ni siquiera tiene un conector USB.

Javier Rivera
fuente
¿Era el CD originalmente una gran parte de un archivo, o tiene pistas individuales cuando está en un reproductor de CD?
djeikyb
Solo un aviso de que usar un .cuearchivo para cargar esto y reproducir cada pista individualmente es otra opción.
earthmeLon
Audacity puede detectar canciones identificando silencios entre ellas. Sin embargo, es mejor dividirlos con mp3splt para que no se decodifiquen ni se vuelvan a codificar. Vea mi flujo de trabajo como respuesta a continuación.
FairMiles

Respuestas:

14

Puede dividir su mp3 grande en pedazos pequeños usando la función "dividir" o "dividir nuevo" en audacity, luego puede separar la porción de audio que desea mezclar en un archivo diferente para exportarlo.

En la siguiente captura de pantalla, hice una nueva pista estéreo para colocar el audio dividido en una pista diferente (solo para fines visuales), luego moví la segunda parte del audio a esa pista y seleccioné una parte de audio que se puede exportar a un nuevo archivo.

ingrese la descripción de la imagen aquí

No tiene que dividir el audio para exportar la porción de audio a un archivo diferente, simplemente puede seleccionar el audio y elegir "Exportar selección" en el menú Archivo.

En la siguiente captura de pantalla, estoy haciendo lo que dije en las palabras anteriores.

ingrese la descripción de la imagen aquí

Si aún tiene el CD, puede extraer el audio con un archivo por canción utilizando "Sound Juicer", que le permitirá elegir cómo extraer el contenido multimedia del CD. De esta manera tendrás un archivo mp3 por canción. Y la tarea de mezclar todas las canciones en un archivo grande se logrará fácilmente con Audacity, en caso de que necesite hacerlo.

Sound Juicer se puede instalar a través de Synaptic o ingresando al sitio web en: http://burtonini.com/blog/computers/sound-juicer

Aquí se coloca una captura de pantalla para que pueda ver Sound Juicer en acción. (Lo siento, no tengo un CD para estafar ahora, así que la lista de reproducción está vacía)

ingrese la descripción de la imagen aquí

Geppettvs D'Constanzo
fuente
48

Audacity es MALO para eso, ya que vuelve a codificar mp3 y la calidad se degrada. Uso ffmpeg para cortar mp3. Creo que no codifica de nuevo:

  • hora de inicio, duración:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
    
  • hora de inicio, hora de finalización:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -to 00:01:32 OutputFile
    

también se puede incluir milisegundos con, por ejemplo 00:00:00.000.

Adobe
fuente
Por favor, vea los comentarios para responder jet.
Javier Rivera
Es discutible que se pueda escuchar una sola transcodificación con pérdida cuando se reproduce desde el estéreo de un automóvil, pero este debería ser el camino a seguir, independientemente del uso.
Nit
2
FYI estos argumentos casi funcionarán con "avconv", si está en una distribución que ha reemplazado ffmpeg con libav. La advertencia es que debe colocar el argumento -ss antes del argumento -i. Además, tenga en cuenta que el argumento para -t es la duración, no el tiempo de búsqueda.
ACK_stoverflow
@ Adobe, me gusta este enfoque. ¿Sabes si puedes especificar la granularidad de milisegundos? Tengo la necesidad de cortar la primera parte de varios mp3 que comienzan con la misma secuencia no deseada.
frakman1
@ frakman1, ¿quiere decir milisegundos? Así: ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg( fuente )
Adobe
32

Dices que has probado mp3splt pero ¿has leído la página de manual completa ?

Pregunto porque el -smodo de silencio puede tomar parámetros para ayudarlo a determinar el silencio.

Aquí un ejemplo de página de manual con parámetros opcionales:

mp3splt -s -p th=-50,nt=10 album.mp3
  • th: nivel umbral (dB) a considerar silencio
  • nt número de pistas

También hay un -cmodo de consulta de base de datos CDDB. Si se trata de un CD conocido, puede extraer la lista de pistas de la línea. Esto también nombrará las pistas correctamente y (creo) incluso configurará las etiquetas.

Es una herramienta increíblemente poderosa y una de sus mejores opciones para preservar la calidad ... Así que no la descarte de inmediato.

Oli
fuente
2
No. La verdad es que acabo de usar la GUI mp3split-gtk. Los miraré.
Javier Rivera
Mala suerte. La única opción que no está disponible en la GUI es darle el número de pistas. Pero simplemente lo ignoró y encontró la misma cantidad de pistas que desde la GUI.
Javier Rivera
9

puedes probar algo como:

ffmpeg -i /path/music.mp3 -t 00:10:00 -ss 00:20:00 -acodec copy /path/save.mp3

chorro
fuente
Claro, pero necesitaré encontrar manualmente el tiempo de cada canción. Será más rápido hacerlo con audacia, al menos puedo ver la ola.
Javier Rivera
Si desea escribir un script, entonces ffmpeg puede ayudar
jchook
2

mp3splt funciona bien. Qué tan bien depende de con qué tiene que comenzar y qué espera para obtener resultados. Más entradas = más salidas. Si conoce la cantidad de canciones contenidas en los archivos mp3 grandes, esto le ayudará a decirle que la cantidad de archivos de salida es correcta. DEBE tener secciones de silencio entre sus canciones en el archivo mp3 grande. La clave para mp3splt es encontrar el valor correcto para "th". Si "th" es demasiado bajo, es posible que tenga demasiadas salidas, por lo que todas sus canciones están fragmentadas. Si es demasiado alto, sus canciones no se dividirán, y es posible que tenga más de 1 canción por división. Supongamos que tiene un archivo grande y nada más: por ejemplo, no hay índice para títulos u horarios.

Mi archivo grande se llama "artist.ogg". Aquí está el comando que utilicé:

mp3splt -s -p th = -40 artist.ogg

Esto dio como resultado 34 canciones divididas correctamente, cada una nombrada en serie como artist_silence_01.ogg -xx.ogg, etc.

Nuevamente, si tienes demasiadas divisiones, prueba "th = -48". Si son muy pocos, intente "th = -36".

A partir de estos archivos de salida, deberá cambiarles el nombre a los títulos de las canciones que desee y agregar etiquetas a las propiedades del archivo. [No conozco ninguna macro para esto, por lo que debe ser un proceso manual].

espero que esto ayude.

actualizar PS. Hasta ahora, mp3splt funciona para archivos mp3 y ogg. Todavía no tengo éxito para los archivos m4a.

Rob Grune
fuente
2

Puedo recomendar mp3DirectCut . Hace una conversión sin pérdidas y funciona bien con Wine:

Captura de pantalla

ejboy
fuente
1

La siguiente respuesta sobre el desbordamiento de la pila es probablemente relevante:

https://stackoverflow.com/questions/36074224/how-to-split-video-or-audio-by-silent-parts

Resumiendo esta respuesta, puede usar ffmpeg para identificar regiones silenciosas:

ffmpeg -i "input.mov" -af silencedetect=noise=-30dB,d=0.5 -f null - 2> vol.txt

Y luego divide los archivos con la receta de Adobe:

ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile

Esto requerirá un poco de análisis de tu parte

Att Righ
fuente
0

Obtuve resultados de calidad (aunque no completamente automáticos) con Audacity + mp3splt.

Si usted no tiene una .cueo un .cddbarchivo con límites de canciones (por ejemplo, no es un álbum reconocido), se puede:

  1. Etiquete manualmente la pista en Audacity como se explica en su manual , probablemente ayudado por la autodetección de silencio anterior (con Analizar> Buscador de silencio ..., vea aquí ) para una primera aproximación a los descansos notorios
  2. Exporte las etiquetas (con Archivo> Exportar etiquetas ..., consulte aquí ) a un archivo de texto simple, y
  3. Alimente el archivo .txt a mp3splt en la opción -A(como mp3splt -A labels.txt Album.mp3).

Rápidamente (sin decodificación + re-codificación) generará un archivo para cada segmento utilizando cada nombre de etiqueta como nombre de archivo.

Solo tenga cuidado de usar etiquetas de región (y no etiquetas de puntos , consulte aquí ) para marcar el comienzo y el final de cada canción en Audacity.

FairMiles
fuente