jeanslack / FFcuesplitter

FFmpeg based audio splitter for CDDA images associated with .cue files
GNU General Public License v3.0
42 stars 5 forks source link

FFcuesplitter - FFmpeg-based audio splitter for CDDA images associated with .cue files .

Image Python application

FFcuesplitter is a multi-platform CUE sheet splitter entirely based on FFmpeg. Splits big audio tracks and automatically embeds tags using the information contained in the associated "CUE" sheet. It supports multiple CUE sheet encodings and many input formats (due to FFmpeg), including APE format, without need installing extra audio libs and packages. It has the ability to accept both files and directories as input while also working in recursive mode. It can be used either as a Python module or from the command line.

Features

Requires

Using Command Line

ffcuesplitter -i FILENAMES DIRNAMES [FILENAMES DIRNAMES ...]
              [-r]
              [-f {wav,flac,mp3,ogg,opus,copy}]
              [-o OUTPUTDIR]
              [-c {artist+album,artist,album}]
              [-ow {ask,never,always}]
              [--ffmpeg-cmd URL]
              [--ffmpeg-loglevel {error,warning,info,verbose,debug}]
              [--ffmpeg-add-params 'parameters']
              [-p {tqdm,standard}]
              [--ffprobe-cmd URL]
              [--dry]
              [--prg-loglevel {error,warning,info,debug}]
              [-h]
              [--version]

Examples

ffcuesplitter -i 'inputfile_1.cue' 'inputfile_2.cue' 'inputfile_3.cue'

Batch file processing to split and convert to default audio flac format.

ffcuesplitter -i '/User/music/collection/inputfile.cue' -f ogg -o 'my_awesome_tracklist'

To splits the individual audio tracks into ogg format and saves them in the my_awesome_tracklist directory.

For further information and other examples visit the wiki page


Using Python

>>> from ffcuesplitter.cuesplitter import FFCueSplitter
>>> getdata = FFCueSplitter(**kwargs)
>>> tracks = getdata.audiotracks  # get all tracks data
>>> getdata.commandargs(tracks)  # get FFmpeg command/arguments recipes.

Getting additionals data

>>> getdata.probedata  # ffprobe data of the sources audio files.
>>> getdata.cue.meta.data  # get CD info.

For further information and other examples visit the wiki page


Installation

python3 -m pip install ffcuesplitter

License and Copyright

Copyright: (C) 2024 Gianluca Pernigotto Author and Developer: Gianluca Pernigotto Mail: jeanlucperni@gmail.com License: GPL3 (see LICENSE file in the source directory)