Como se sugirió aquí , estoy usando el cat
comando para concatenar varios archivos .mp3 en un solo archivo .mp3.
Imagínese, tengo los siguientes archivos .mp3 en la carpeta actual:
001001.mp3 001002.mp3 001003.mp3 001004.mp3 001005.mp3
o así:
096001.mp3 096002.mp3 096003.mp3 096004.mp3
Necesito concatenar estos archivos .mp3 en su secuencia ascendente, es decir 001001.mp3+001002.mp3+001003.mp3+etc.
Para unir estos archivos .mp3 en uno, estoy ejecutando el siguiente comando en la carpeta actual:
cat *.mp3 > final.mp3
Probé el archivo .mp3 final y es lo que esperaba, pero tengo que estar seguro de que el comando anterior selecciona los archivos en su secuencia ascendente.
¿Puedo estar seguro de que el comando anterior siempre concatena archivos en la secuencia ascendente?
Gracias señor !
fuente
find . -maxdepth 1 -iname '*.mp3' -print0 | sort -z | xargs -0 mp3wrap output.mp3
*.mp3
debería ser suficiente (y funciona con espacios).$ brew install mp3wrap
.*.mp3
se garantiza preservar el orden alfabético. Si los archivos se denominan09.mp3
,10.mp3
,11.mp3
, eso es probablemente lo que quiere. Si los archivos se denominan9.mp3
,10.mp3
,11.mp3
, que probablemente no es lo que quiere, pero se puede hacer`ls *.mp3 | sort -n`
.mp3wrap parece ser una solución lo suficientemente decente, pero cuando reproduje el archivo resultante, la marca de tiempo no era correcta. Parece que mp3wrap se usa mejor cuando unes mp3 en un archivo que sabes que querrás dividir más tarde.
Simplemente quería concatenar permanentemente algunos mp3 juntos. Terminé usando ffmpeg para concatenar los archivos:
Primero, instala ffmpeg
Ubuntu 15.04+
Ubuntu 14.10 y versiones inferiores
Vaya a http://ffmpeg.org/download.html , descargue una de las compilaciones estáticas, descomprímalo y cópielo en / usr / local / bin
ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3
Más información: https://trac.ffmpeg.org/wiki/Concatenate#protocol
https://superuser.com/a/314245
fuente
ffmpeg
falta, pero loavconv
reemplaza: askubuntu.com/questions/432542/…output.mp3
través de amp3val
y verá todo tipo de errores que crearán problemas de reproducción en Chrome64 + (consulte bugs.chromium.org/p/chromium/issues/detail?id=794782 y bugs.chromium.org/p/chromium/ cuestiones / detalles? id = 806601 # c10 )Como se sugirió anteriormente,
mp3wrap
es una buena solución. Sin embargo, puede que no funcione todo el tiempo. Hasta donde sé, semp3wrap
supone que todos los archivos de entrada tienen las mismas características, como VBR vs CBR, bitrate, etc. Si no se cumple esta suposición, es probable que falle. En ese caso, la única solución sería decodificar todos los archivos mp3 en un formato sin formato.wav
, como concatenarlos con un programa similarsox
y terminar codificando todo en mp3.fuente
Realiza una ordenación alfabética basada en caracteres individuales. Eso significa que "01" viene antes que "1", ya que nada tiene un valor menor que uno.
Aquí hay un ejemplo. Tengo un directorio con archivos llamados 1, 2, 3, 04, 05 y 06. Son archivos de texto que contienen sus propios nombres de archivo:
Entonces, sí lo hará; pero debe asegurarse de que todos sus archivos estén 'rellenados' correctamente.
Esta ingeniosa línea de script bash le permitirá comparar visualmente los nombres de los archivos, lo que hace que sea muy fácil detectar cualquier error:
Su salida se verá así:
Si no lo están, deberá rellenar los nombres de archivo: la secuencia de comandos Bash para rellenar los nombres de archivo en StackOverflow explica cómo hacerlo.
Editar. Vote por la respuesta de Oli, es mucho mejor. : P
Dejaré el mío porque agrega algo, pero deberías usar su solución,
Tenga en cuenta que
sort
aún clasificará las cosas de la manera que describí anteriormente, aún necesitará rellenar los nombres de los archivos si no tienen la misma longitud.fuente
La mayoría de la gente sugiere
mp3wrap
, pero tiene inconvenientes: el archivo generado no informa su longitud completa en algunos jugadores, y luego no puede buscar más allá de ese punto.mp3cat
hace el trabajo rápido y bien, por lo que puedo decir. Se puede descargar en http://mulholland.xyz/dev/mp3cat/ , y se utiliza de la siguiente manera:otra posibilidad sería
sox
pero parece muy lento (¿posiblemente decodifica y vuelve a codificar el audio?)
fuente
Encontré que el servicio de audio en línea funciona muy bien y conserva la marca de tiempo correcta (al contrario que mp3wrap).
fuente
Puede intentar usar un programa de edición de audio dedicado (como Audacity )
fuente
Me encanta el comentario de bmaupin , sin embargo, podría producir una especie natural de (versión) números al usar
sort -V
:y no tiene que tratar con caracteres especiales como
' " () [] {}
en el nombre del archivo.fuente