Slice whole albums into track files.
Go to file
Karchnu 51538fd5c3 Remove xxd dep & '\'. Change fun. names. </d/n in while read block. Comments. 2022-01-26 12:27:41 +01:00
README.md Simpler code, README update (objective,usage,envvars) and better usage(). 2022-01-17 12:08:29 +01:00
get-tracks.sh Remove xxd dep & '\'. Change fun. names. </d/n in while read block. Comments. 2022-01-26 12:27:41 +01:00

README.md

Get Tracks

get-tracks.sh allows you to easily extract music tracks from a file with multiple songs, like a CD-in-a-file.

Required applications

get-tracks.sh is a simple shell script based around ffmpeg, using xxd and awk.

  • ffmpeg
  • xxd (with '-r' and '-p' options)
  • awk

It was tested on both OpenBSD and Linux.

Usage

Download a CD and the starting time of each track in a file, and you're good to go.

get-tracks.sh <audio-file> <time-file>

# Example
get-track.sh doom-eternal.opus doom-eternal.txt

audio-file can be in any format understood by ffmpeg.

The time-file must have this format:

0:00 intro
2:20 First song
3:18 Awesome song

Environment variables

  • SIMULATION [empty or not]
    do not invoke ffmpeg
  • NONUMBER [empty or 1]
    do not write song numbers
  • FORMAT [mp3,ogg,opus,…]
    see the ffmpeg documentation for the output formats available
  • SEPARATOR [separator] (default: ' - ')
    separator between number and name
    example with SEPARATOR='_': 01_intro.opus 02_blah.opus…
  • HEADERS [empty or 1]
    print environment parameters (verbosity, simulation, etc.)
  • VERBOSITY [0-3] (default: 1)
    0: no output except errors from ffmpeg
    1: simple indications on the current track being extracted
    2: print actual ffmpeg commands the script currently runs

More

Run get-track.sh without arguments.