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.11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 157c1b2ddd603e44a08a2f1d1339d6d3b12445c2a1573a85c2774aa427d8c76f |
|
MD5 | 42e26753a45cc079cbf6062c68826a21 |
|
BLAKE2b-256 | 7e242b47dd7bb7da83b3e388625380d3bffb919195a159664558ef9780c87d7d |
Hashes for audacity_scripting-1.0.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83f5e5c140b0497f8c64f5cfc271d52f49909e08497629fd444001bacd44f01c |
|
MD5 | 7ef3c819b465e4bd89ed9d555aabb2fa |
|
BLAKE2b-256 | 67dd44978a7ba6518be6b57ccf947142e3d89c83217ac14d5d6cd4838d07a8ce |