Ho scritto un AppleScript che realizzerà esattamente ciò che ho descritto nel mio post originale. Fa uso di ffmpeg
, come suggerito in una risposta precedente dall'utente Allan .
Nota. Se sul tuo computer non è installato ffmpeg
, il mio script non ha alcun valore.
Ho installato ffmpeg
tramite Homebrew. Homebrew è molto facile da installare; le indicazioni possono essere trovate nella parte superiore di questa pagina (il sito ufficiale di Homebrew).
Dopo aver installato Homebrew, esegui queste linee singolarmente in Terminal per installa ffmpeg
sul tuo sistema:
brew install ffmpeg
brew link ffmpeg
Ora potrai utilizzare il mio script.
Note sul mio codice:
-
Anche se questo non era assolutamente necessario per i miei scopi, ffmpeg
fornisce anche all'utente il controllo totale su nomi di file, tipi di file, bit rate, la directory di output, ecc., che è una salsa.
-
Alcuni aspetti del mio script sono adattati alle mie preferenze personali (ad esempio, inclusa la data corrente nel nome della directory di output), quindi ovviamente modifica il codice come ritieni opportuno.
-
Ho fatto del mio meglio per includere un po 'di gestione degli errori per rilevare alcuni potenziali errori, ma ovviamente è lontano dall'all-inclusive.
-
Non immagino di dover svolgere questa attività di suddivisione audio spesso, quindi un semplice file .scpt creato in Script Editor va bene per me.
-
È del tutto possibile, se laborioso, programmare un'opzione di codifica VBR (bit rate variabile) per i file risultanti nello script. Ho scelto di non farlo perché, per i miei scopi, questa capacità non è particolarmente necessaria. Sarebbe un po 'complicato scrivere, poiché non tutti i formati audio possono essere codificati in VBR (solo i file audio Opus, Vorbis, MP3, WMA e AAC possono).
-
Infine, sono sicuro al 100% che il codice contenga almeno alcune carenze, punti ciechi e / o bug, quindi mi scuso in anticipo.
Non riesco a incollare l'intero script direttamente in questa risposta. La lunghezza del codice supera il limite massimo di caratteri per le risposte Stack Exchange.
Puoi visualizzare e scaricare il codice completo su questa pagina di Pastebin .
Utilizzando lo script collegato, l'utente può dividere in modo intuitivo qualsiasi file audio in numerosi file in base a un intervallo definito, richiedendo al contempo tempo e sforzi minimi da parte dell'utente.
Si noti che quando l'utente non sceglie il bit rate sorgente come velocità in bit per i file risultanti, lo script può richiedere del tempo. Questo perché ffmpeg
è lento alla ricodifica. Ma, per fortuna, l'utente può semplicemente impostarlo e indirizzare la sua attenzione su qualcos'altro che completa.
Si noti che il formato di due righe fornite da Allan nella risposta non è corretto.
Dopo diverse ore di risoluzione dei problemi del mio file AppleScript, mi sono reso conto che il mio file AppleScript non era il problema.
-t
riflette la durata del file audio risultante, non il timbro orario finale.
Il codice di esempio di Allan dovrebbe essere:
$ 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
Questo è il passaggio pertinente dalla documentazione di ffmpeg
:
-t duration (input/output)
When used as an output option (before an output url), stop writing the output after its duration reaches duration.