Audacity Scripting - Python package for automating Audacity
Project description
audacity-scripting
A Python package for automating Audacity tasks based on Audacity's Scripting Reference.
https://github.com/unfor19/audacity-scripting/assets/15122452/080e772c-3e40-424b-87ce-c2ac0dd75570
Music by Sergio Prosvirini from Pixabay
Requirements
- Install Python 3.9+
- Install Audacity 3.4.2+
- Audacity - Enable mod-script-pipe
- Run Audacity
- Go into Edit > Preferences > Modules
- Choose mod-script-pipe (which should show New) and change that to Enabled.
- Restart Audacity
- Check that it now does show Enabled.
- This establishes that Audacity is finding mod-script pipe and that the version is compatible.
Installation
Supported OS: Windows, Linux, and macOS
python -m pip install audacity-scripting
Features
- Remove spaces between clips - Removes spaces in all tracks for a given project absolute path
/path/to/my_project.aup3
- Add labels to clips
- Clean silence
- Normalize audio
- End Goal - Prepare videos for voice-clone-finetuning-vits
Getting Started
All the commands assume that the Audacity application is up and running; That is mandatory as we communicate with Audacity's pipe to execute all the commands.
NOTE: See the GitHub Actions Tests Workflow to check it in action.
Available Commands
Auto-generated by unfor19/replacer-action, see readme.yml
Usage: audacity-scripting [OPTIONS] COMMAND [ARGS]...
No confirmation prompts
Options:
-ci, --ci Use this flag to avoid confirmation prompts
--help Show this message and exit.
Commands:
add-labels Alias: al Add labels to clips in a given project
clean-spaces Alias: cs Clean spaces between clips in a given project
do-command Alias: dc - Execute a raw command in Audacity
testing This is for testing purposes only
version-print Get the version from the version file.
Remove spaces between clips
This command copies the original file and removes spaces (gaps) between audio clips from the copied file.
audacity_scripting clean-spaces --file_path "/path/to/my_project.aup3"
Send a command to Audacity
Send a command to Audacity according to Audacity's Scripting Reference.
audacity_scripting do-command --command "Select: Tracks=0.0 Start=0.0 End=0.0"
Known Issues
- macOS prints Audacity's server logs (
Server sending
,Read failed on fifo, quitting
, etc.) - documented in JOURNEY.md
References
- GitHub Issue - Audacity Remove spaces between clips
- SourceForge Issue - Audacity pipes
- GitHub Actions Windows Pipes Discussion
- Audacity pipes issue on Windows
- Python and Windows named pipes on Stackoverflow
Authors
Created and maintained by Meir Gabay
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for audacity_scripting-1.0.10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 646479fbf5ea457439041d004e1ecfc82795bcc933872f86b357457dd2958b1a |
|
MD5 | 3e7f0a4bca06b52c6936015b4b1835e5 |
|
BLAKE2b-256 | acc0258314fb35439469171e75dc09a40efb20f0b371a295c8dc54a835ccedd0 |
Hashes for audacity_scripting-1.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cec2c177a750fdbf4e744aa2aadf00ac790fd99f5c5047f66eeed4b3767ddca1 |
|
MD5 | 3779742c1d05d1aaa89f9a251c50b649 |
|
BLAKE2b-256 | efa4020cee1f4f123ba27b0a0e704495ffd26bb66b1769b5bbb3b33edb696946 |