Pymusiclooper

Latest version: v3.5.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

3.0.0

Added

- New functionality: `tag`. Export 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)
- New functionality: `play-tagged`. Reads the metadata tags of loop points from an audio file and plays it looping
- New audio source option: `--url`. Can now load and process audio from a youtube link (or any stream supported by [yt-dlp](https://github.com/yt-dlp/yt-dlp))
- New loop point search options
- `--min-loop-duration` , `--max-loop-duration` : added 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

Changed

- Complete re-write of the CLI with much better interface and usability, use `pymuisclooper --help` for the new commands and options or consult the README
- Reimplemented 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

Removed

- Multiprocessing option (`--n-jobs`). Batch mode operations are otherwise unaffected and work as if `--n-jobs` was fixed to 1.

2.5.3

- Completely removed defunct preserve tags function and its associated errors

2.5.2

- Hotfix for v2.5.1's redundant mpg123-related error message

2.5.1

- Added workaround for libsndfile mp3 loading issue
- Fixed error handling when no loop points were found, when audio has not been loaded or when mpg123 is unavailable.
- Moved the --recursive, --flatten and --n-jobs into their own "Batch Options" CLI arguments category for clarity

2.5.0

- Added option to print loop points to terminal STDOUT (contributed by Coolsonickirby).
- Project relicensed to MIT license as of v2.5+.

2.4.0

- Temporarily disabled preserve_tags features to resolve dependency installation issues; pending re-implementation.

Page 3 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.