Skip to main content

No project description provided

Project description

YAACS


Convert your audiobooks to .opus for smaller files at equivalent quality.

Features

  • Automatic bitrate selection
  • (opt-in) Automatic audiobook discovery
  • Automatic cover image discovery
  • Automatic chapter discovery
  • (opt-in) Automatic deletion of input files
  • Multiprocessing to increase conversion throughput

Installation

YAACS depends on the following packages for conversion:

  • mkvtoolnix for CUE file chapter parsing
  • FFmpeg for metadata detection and conversion
  • opustags for cover image insertion.

However, YAACS does not depend on any python packages. As such, it can be installed via your preferred Python package manager, or simply run directly without installation.

Usage

$ yaacs -h
usage: yaacs [-h] [-v] [-t THREADS] [(-i INPUT [INPUT ...] | -a LOCATION [LOCATION ...]) [-x] [-o OUTPUT] [-m METADATA | -M METADATACHAPTER] [-b BITRATE] [-c CUESHEET] [-I COVER]]+

A Script to convert audiobooks to .opus

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -t THREADS, --threads THREADS
                        Number of subprocesses to spawn to convert books. Not specifying or 0 will default to core count.
  -i INPUT [INPUT ...], --input INPUT [INPUT ...]
                        Locations of files for conversion. If this is a directory, all audio files recursively contained will be merged into one file.
  -a LOCATION [LOCATION ...], --auto LOCATION [LOCATION ...]
                        Locations to auto-convert. Will recursively search for subfolders which contain no other directories and contain audio file(s). These files will be converted/merged.
  -x, --delete          Delete input files after conversion. DO NOT USE THIS IF YOU DON'T HAVE COMPLETE CONFIDENCE IN THIS TOOL.
  -o OUTPUT, --output OUTPUT
                        Set output file name. Defaults to the name of the first input file with a .opus extension
  -m METADATA, --metadata METADATA
                        FFMETADATA file containing desired final metadata. Use -M if the metadata also contains chapter information
  -M METADATACHAPTER, --metadatachapter METADATACHAPTER
                        FFMETADATA file containing desired final metadata along with chapter data. Use -m to preserve automatic chapter detection.
  -b BITRATE, --bitrate BITRATE
                        Set bitrate for output file. Defaults to 32kbps for inputs under 192kbps, and 192kbps for inputs above that threshold.
  -c CUESHEET, --cuesheet CUESHEET
                        Set location for cuesheet file to read for chapter data. Only works if the input is a singular file.
  -I COVER, --cover COVER
                        Explicitly set final cover file. Will attempt to autodiscover cover if not set.
$ yaacs -a ~/Audiobooks -x # Automatically detect all audiobooks (folders with no subfolders containing audio files) in ~/Audiobooks and convert them. Delete after conversion.
$ yaacs -i Warbreaker -m warbreaker.ffmeta -b 64k # Convert the audiobook within the Warbreaker folder at a bitrate of 64kbps. Use the warbreaker.ffmeta file for metadata, but still auto-detect chapters.

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

yaacs-1.3.1.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yaacs-1.3.1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file yaacs-1.3.1.tar.gz.

File metadata

  • Download URL: yaacs-1.3.1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yaacs-1.3.1.tar.gz
Algorithm Hash digest
SHA256 8d361caf554afd819fa821c1bb69b0fa9bdf05bc9cce8d6e4a236510578a4ee2
MD5 530f623f1983a5e525c81f0571617f47
BLAKE2b-256 7052eefdcfde2f73a770a0dee60f12cc0dd0634c23adc15335df5718826011a2

See more details on using hashes here.

File details

Details for the file yaacs-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: yaacs-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yaacs-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d3b412cc653cabb0a42c0559ad26a54346ca2ce4cc3e398333421840991f94b8
MD5 ea986a64dc73717503723c8e907d5eb9
BLAKE2b-256 4f84b63e51887265bab673e7665d26bfaf42d2199db830514bf12e02f8f7fda4

See more details on using hashes here.

Supported by

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