tag command for exporting metadata tags of loop points to a copy of the input audio file(s) - (credit: some of the implementation code was based on/inspired by RemedyTwo's fork)
play-tagged command for reading the metadata tags of loop points from an audio file and playing it looped
New audio source option: --url. Can now load and process audio from a youtube link (or any stream supported by yt-dlp)
New loop point search options
--min-loop-duration , --max-loop-duration : adds min loop duration and max loop duration (in seconds) as optional constraints to the CLI
--approx-loop-position : specify the approximate desired loop start and loop end in seconds, searching around those points only +/- 2 seconds
--brute-force : enables an alternative loop discovery mode that checks the entire audio track instead of the detected beats; useful in case the main algorithm does not yield the desired results.
--disable-pruning : disables the internal filtering of potential loop points
New export option for split-audio command: --format, to change the format of the exported split audio files (currently supported formats: WAV, FLAC, OGG, MP3)
Official Python 3.10 and 3.11 support
Changes
Complete re-write of the CLI with much better interface and usability
Re-implements playback using the python sounddevice library instead of mpg123 for better cross-platform compatibility
Significant runtime improvement to the core loop search algorithm (now runs 10x faster)
Better loop point alignment thanks to an internal implementation of Audacity's "At Zero Crossings" functionality (less cases of audio popping/clicking due to misaligned loop points)
Much nicer formatting and interface in interactive mode thanks to the rich python package
Increased the minimum Python requirement to Python 64-bit >=3.9
Removals
Multiprocessing option (--n-jobs). Batch mode operations are otherwise unaffected and work as if --n-jobs was fixed to 1.
Additions
tag
command for exporting metadata tags of loop points to a copy of the input audio file(s) - (credit: some of the implementation code was based on/inspired by RemedyTwo's fork)play-tagged
command for reading the metadata tags of loop points from an audio file and playing it looped--url
. Can now load and process audio from a youtube link (or any stream supported by yt-dlp)--min-loop-duration
,--max-loop-duration
: adds min loop duration and max loop duration (in seconds) as optional constraints to the CLI--approx-loop-position
: specify the approximate desired loop start and loop end in seconds, searching around those points only +/- 2 seconds--brute-force
: enables an alternative loop discovery mode that checks the entire audio track instead of the detected beats; useful in case the main algorithm does not yield the desired results.--disable-pruning
: disables the internal filtering of potential loop points--format
, to change the format of the exported split audio files (currently supported formats: WAV, FLAC, OGG, MP3)Changes
rich
python packageRemovals
--n-jobs
). Batch mode operations are otherwise unaffected and work as if--n-jobs
was fixed to 1.