He escrito un AppleScript que logrará exactamente lo que describí en mi publicación original. Hace uso de ffmpeg
, como sugiere el usuario Allan .
Nota: si no tienes ffmpeg
actualmente instalado en tu computadora, mi script no vale nada.
Instalé ffmpeg
a través de Homebrew. Homebrew es muy fácil de instalar; Las instrucciones se pueden encontrar en la parte superior de esta página (el sitio web oficial de Homebrew).
Después de instalar Homebrew, ejecute estas líneas individualmente en Terminal a instala ffmpeg
en tu sistema:
brew install ffmpeg
brew link ffmpeg
Ahora, podrás hacer uso de mi script.
Notas sobre mi código:
-
Aunque esto no era totalmente necesario para mis propósitos, ffmpeg
también le brinda al usuario un control total sobre los nombres de archivo, los tipos de archivos, la tasa de bits, el directorio de salida, etc., que es gravy.
-
Ciertos aspectos de mi script se adaptan a mis preferencias personales (por ejemplo, incluyendo la fecha actual en el nombre del directorio de salida), así que obviamente modifique el código como mejor le parezca.
-
He hecho todo lo posible para incluir algún manejo de errores para detectar ciertos errores potenciales, pero obviamente esto está lejos de incluir todo.
-
No me imagino que deba realizar esta tarea de división de audio tan a menudo, por lo que un simple archivo .scpt creado en el Editor de secuencias de comandos está bien para mí.
-
Es completamente posible, si es laborioso, programar una opción de codificación VBR (velocidad de bits variable) para los archivos resultantes en el script. Elegí no hacerlo porque, para mis propósitos, esta habilidad no es particularmente necesaria. Sería algo complicado escribir, ya que no todos los formatos de audio pueden codificarse en VBR (solo los archivos de audio Opus, Vorbis, MP3, WMA y AAC).
-
Finalmente, estoy 100% seguro de que el código contiene al menos algunos defectos, puntos ciegos y / o errores, por lo que me disculpo por adelantado.
No puedo pegar el script completo directamente en esta respuesta. La longitud del código excede el límite máximo de caracteres para las respuestas de Stack Exchange.
Puede ver y descargar el código completo en esta página de Pastebin .
Al usar el script vinculado, el usuario puede dividir intuitivamente cualquier archivo de audio en numerosos archivos en función de un intervalo definido, al tiempo que requiere un mínimo esfuerzo y tiempo por parte del usuario.
Tenga en cuenta que cuando el usuario no elige la velocidad de bits de origen como la velocidad de bits para los archivos resultantes, el script puede tardar un tiempo. Esto se debe a que ffmpeg
es lento en la recodificación. Pero, afortunadamente, el usuario simplemente puede configurarlo y dirigir su atención a otra cosa a medida que se completa.
Tenga en cuenta que el formato de dos líneas que Allan proporcionó en su respuesta es incorrecto.
Después de varias horas de solucionar problemas con mi archivo AppleScript, me di cuenta de que mi problema no era mi archivo AppleScript.
-t
refleja la duración del archivo de audio resultante, no la marca de tiempo de finalización.
El código de ejemplo de Allan debería leerse:
$ ffmpeg -i source_audio_file.mp3 -ss 0 -t 120 segment_1.mp3
$ ffmpeg -i source_audio_file.mp3 -ss 120 -t 120 segment_2.mp3
$ ffmpeg -i source_audio_file.mp3 -ss 240 -t 120 segment_3.mp3
Aquí está el pasaje relevante de la ffmpeg
documentation :
-t duración (entrada / salida)
Cuando se usa como una opción de salida (antes de una url de salida), deja de escribir la salida después de que su duración alcance duration .