Cuffie audio su sfondo giallo

Tagliare un MP3 da riga di comando

Talvolta sulle piattaforme di sharing video vengono pubblicati video (tutorial, concerti, …) di cui si vorrebbe estrarre l’audio e magari separarlo in più tracce per un ascolto offline più agevole.

Ci sono decine di prodotti commerciali utili allo scopo, ma in realtà possiamo procedere da riga di comando con il solo ausilio di ffmpeg. Vediamo come!

ATTENZIONE
L’articolo è pubblicato a solo scopo didattico/informativo.
Si ricorda che il download non autorizzato di materiale soggetto a copyright è reato.

1. Ottenere il file originale

Il primo passo è ovviamente ottenere il file originale; ad esempio è possibile utilizzare un altro tool da riga di comando come youtube-dl per scaricare direttamente il contenuto audio in formato MP3:

youtube-dl --ignore-errors --no-check-certificate --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output "%(title)s.%(ext)s" https://<url_del_video>

Se preferite utilizzare un programma con GUI, vi consiglio l’ottimo jDownloader.

2. Convertire il file originale da MP4 in MP3

Qualora abbiate disponibile il file video (ad esempio in formato MP4), è sempre possibile estrarre la traccia audio proprio con l’aiuto di ffmpeg:

ffmpeg -i <file_sorgente>.mp4 <file_destinazione>.mp3

Nota bene: ffmpeg è un tool potentissimo e ogni comando ha decine di parametri; nel caso sopra provvederà a tentare l’autoriconoscimento dei formati coinvolti, ma vi consiglio di visionare la documentazione ufficiale per maggiori dettagli sui parametri disponibili.

3. Tagliare il file MP3 in multiple tracce

Una volta ottenuto il file MP3 sorgente, dovrete decidere in quali punti tagliare.

Ad esempio, potremmo avere un video tutorial da dividere in 5 tracce a questi minutaggi:

  • 00:00:00 Introduzione
  • 00:10:21 Capitolo 1
  • 00:38:34 Capitolo 2
  • 00:52:13 Capitolo 3
  • 01:08:35 Conclusioni

Il comando per tagliare una singola traccia in ffmpeg è abbastanza semplice; la prima traccia sarebbe ad esempio estraibile nel seguente modo:

ffmpeg -ss 00:00:00.0 -i <file_da_tagliare>.mp3 -acodec copy -t 00:10:21.0 <traccia_1>.mp3

Oppure potreste usare questo comodo script CLI per tagliarle tutte insieme:

source="source audio <file_da_tagliare>.mp3"; i=0; t1=0:00; for end_time in 10:21 38:34 52:13 1:08:35 ''; do i=$((i+1)); t0=$t1 t1=$end_time; echo ffmpeg -i "$source" -acodec copy -ss $t0 ${t1:+-to} $t1 $(printf "track%02d.%s" $i ${source##*.}); done

4. Aggiungere i tag

Se volete “lavorare di fino”, potete poi rinominare i file tagliati e aggiungerci i metadata, ad esempio utilizzando Mp3tag.

Enjoy!

Photo by C D-X on Unsplash

Tagliare un MP3 da riga di comando
Tag: