Skip to main content

FFmpeg based audio splitter for audio CD images supplied with CUE sheet files.

Project description

FFcuesplitter - FFmpeg based audio splitter for audio CD images supplied with .cue sheet files.

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. Can be used both as a Python module (API) or in command line mode.

Features

  • Supports many input formats.
  • Convert to Wav, Flac, Ogg, Mp3.
  • Ability to copy source codec and format without re-encoding.
  • Auto-tag from .cue file data.
  • Supports multiple .cue file encodings.
  • Works on Linux, MacOs, FreeBSD, Windows.
  • Can be used both as a Python module or in command line mode.

Requires

Usage

From Command Line

ffcuesplitter -i IMPUTFILE
             [-h] 
             [--version] 
             [-f {wav,flac,mp3,ogg,copy}] 
             [-o OUTPUTDIR]
             [-ow {ask,never,always}] 
             [--ffmpeg-cmd URL]
             [--ffmpeg-loglevel {error,warning,info,verbose,debug}]
             [--ffmpeg-add-params 'PARAMS ...'] 
             [-p {tqdm,mymet,standard}]
             [--ffprobe-cmd URL] 
             [--dry]

Examples

ffcuesplitter -i 'inputfile.cue'

To split and convert several audio formats into the relative individual flac format audio tracks.

ffcuesplitter -i '/User/music/collection/inputfile.cue' -f wav -o 'my-awesome-tracklist'

To splits the individual audio tracks into wav format and saves them in the 'my-awesome-tracklist' folder.

From Python Interpreter

>>> from ffcuesplitter.cuesplitter import FFCueSplitter

Splittings:

>>> split = FFCueSplitter(filename='/home/user/my_file.cue')
>>> split.open_cuefile()
>>> split.do_operations()

Get data tracks and FFmpeg args:

>>> data = FFCueSplitter('/home/user/other.cue', dry=True)
>>> data.open_cuefile()
>>> data.audiotracks  # trackdata
>>> data.cue.meta.data  # cd_info
>>> data.ffmpeg_arguments()

Only processing one track:

>>> f = FFCueSplitter('/home/user/my_file.cue', progress_meter='tqdm')
>>> f.open_cuefile()
>>> f.kwargs['tempdir'] = '/tmp/mytempdir'
>>> f.ffmpeg_arguments()
>>> f.processing(myfile.arguments[2], myfile.seconds[2])  # track three
>>> f.move_files_to_outputdir()

More details are described in the __doc__ strings of FFCueSplitter class or by typing help(FFCueSplitter) in the Python console, or by reading the ffcuesplitter man page.

Installation

python3 -m pip install ffcuesplitter

License and Copyright

Copyright © 2022 Gianluca Pernigotto
Author and Developer: Gianluca Pernigotto
Mail: jeanlucperni@gmail.com
License: GPL3 (see LICENSE file in the docs folder)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ffcuesplitter-1.0.11.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

ffcuesplitter-1.0.11-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file ffcuesplitter-1.0.11.tar.gz.

File metadata

  • Download URL: ffcuesplitter-1.0.11.tar.gz
  • Upload date:
  • Size: 64.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for ffcuesplitter-1.0.11.tar.gz
Algorithm Hash digest
SHA256 8e2a55fee531da9a6f074ab3f0fbf5203f11d010b4df344bc1ace8eea049c30a
MD5 19bdd238768828b8a98ed3b06e5de313
BLAKE2b-256 04675599353df2de49006e15700facd145afe2b950933ea680cf33d7d789b26f

See more details on using hashes here.

File details

Details for the file ffcuesplitter-1.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for ffcuesplitter-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4f69898e0e64657300b4155011dc72bbd7b078472e0ddf3957ebe601df8e4886
MD5 28878fdfe4b65fa457f6f525bae12d96
BLAKE2b-256 f46ebc63552b15addc0e520d6dee9a30981aef43df57c197666264ac8b6266a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page