#!/bin/bash # __ __ # ____ ___ ______ / /___ ____ _____/ /__ _____ # / __ `/ / / / __ \/ / __ \/ __ `/ __ / _ \/ ___/ # / /_/ / /_/ / / / / / /_/ / /_/ / /_/ / __/ / # \__, /\__,_/_/ /_/_/\____/\__,_/\__,_/\___/_/ # /____/ # --------------------------------------------------- # Author :: Miris /// GitHub :: MirisWisdom/Albumin # --------------------------------------------------- # This simple Bash script lets you download the video # using yt-dlp, and then takes care of extracting its # audio into a file for each song w/ ffmpeg! # It does not re-encode or tag any of the audio files # due to raw preservation being its purpose. # You should run it line by line rather than blindly! # Feel free to tweak & suggest improvements! # --------------------------------------------------- # We'll be using the ID for both file and directory. VIDEO_ID='BUtpNLeyEkI' # Create and enter the new directory. mkdir -p "${VIDEO_ID}" && cd "${VIDEO_ID}" # Download the audio file using yt-dlp. yt-dlp -x -f bestaudio "${VIDEO_ID}" -o "${VIDEO_ID}.%%(ext)s" # Figure out the downloaded file name and extension. SRC_FILE=$(ls "${VIDEO_ID}".*) # ls command should only output the downloaded file name! FILE_EXT=${SRC_FILE:12} # file id + dot = 12 characters; extension length varies! ffmpeg -ss 00:00 -to 02:20 -i "${SRC_FILE}" -vn -acodec copy "1. Majestic.${FILE_EXT}" ffmpeg -ss 02:20 -to 05:35 -i "${SRC_FILE}" -vn -acodec copy "2. Loop.${FILE_EXT}" ffmpeg -ss 05:35 -to 07:56 -i "${SRC_FILE}" -vn -acodec copy "3. Synthenesia.${FILE_EXT}" ffmpeg -ss 07:56 -to 10:04 -i "${SRC_FILE}" -vn -acodec copy "4. Shift.${FILE_EXT}" ffmpeg -ss 10:04 -to 12:27 -i "${SRC_FILE}" -vn -acodec copy "5. Deep Thought.${FILE_EXT}" ffmpeg -ss 12:27 -to 13:02 -i "${SRC_FILE}" -vn -acodec copy "6. Halos.${FILE_EXT}" ffmpeg -ss 13:02 -to 14:48 -i "${SRC_FILE}" -vn -acodec copy "7. Tracers.${FILE_EXT}" ffmpeg -ss 14:48 -to 15:32 -i "${SRC_FILE}" -vn -acodec copy "8. Paranoia.${FILE_EXT}" ffmpeg -ss 15:32 -to 16:16 -i "${SRC_FILE}" -vn -acodec copy "9. Comedown.${FILE_EXT}"