# audacity-scripting
[![PyPI](https://img.shields.io/pypi/v/audacity-scripting?label=PyPi)](https://pypi.org/project/audacity-scripting)
A Python package for automating Audacity tasks based on [Audacity's Scripting Reference](https://manual.audacityteam.org/man/scripting_reference.html).
https://github.com/unfor19/audacity-scripting/assets/15122452/080e772c-3e40-424b-87ce-c2ac0dd75570
> Music by Sergio Prosvirini from Pixabay
## Requirements
- Install [Python 3.9+](https://www.python.org/downloads/)
- Install [Audacity 3.4.2+](https://www.audacityteam.org/download/)
- Audacity - Enable [mod-script-pipe](https://manual.audacityteam.org/man/scripting.html)
- 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
- [x] Remove spaces between clips - Removes spaces in all tracks for a given project absolute path `/path/to/my_project.aup3`
- [x] Add labels to clips
- [ ] Clean silence
- [ ] Normalize audio
- [ ] End Goal - Prepare videos for voice-clone-finetuning-vits
<!-- available_commands_end -->
## Getting Started
All the commands assume that the _Audacity_ application is up and running; That is mandatory as we communicate with [_Audacity_'s pipe](https://manual.audacityteam.org/man/scripting.html) to execute all the commands.
> **NOTE**: See the [GitHub Actions Tests Workflow](https://github.com/unfor19/audacity-scripting/actions/workflows/test.yml) to check it in action.
### Available Commands
Auto-generated by [unfor19/replacer-action](https://github.com/marketplace/actions/replacer-action); see [readme.yml](https://github.com/unfor19/audacity-scripting/blob/master/.github/workflows/readme.yml)
<!-- available_commands_start -->
```
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.
```bash
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](https://manual.audacityteam.org/man/scripting_reference.html).
```bash
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](./JOURNEY.md)
## References
- [GitHub Issue - Audacity Remove spaces between clips](https://github.com/audacity/audacity/issues/3924)
- [SourceForge Issue - Audacity pipes](https://sourceforge.net/p/audacity/mailman/audacity-devel/thread/CAJhgUZ1DOvHMie7KHJ45EuDztw-8WJM8Qd0d%2BNfkQaEje%3D-7Lg%40mail.gmail.com/)
- [GitHub Actions Windows Pipes Discussion](https://github.com/orgs/community/discussions/40540)
- [Audacity pipes issue on Windows](https://forum.audacityteam.org/t/different-errors-running-pipe-test/65305/40)
- [Python and Windows named pipes on Stackoverflow](https://stackoverflow.com/questions/48542644/python-and-windows-named-pipes)
## Authors
Created and maintained by [Meir Gabay](https://github.com/unfor19)
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/unfor19/audacity-scripting/blob/main/LICENSE) file for details
Raw data
{
"_id": null,
"home_page": "https://github.com/unfor19/audacity-scripting",
"name": "audacity-scripting",
"maintainer": "",
"docs_url": null,
"requires_python": "~=3.6",
"maintainer_email": "",
"keywords": "python,audacity,scripting,automation",
"author": "Meir Gabay",
"author_email": "unfor19@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7e/24/2b47dd7bb7da83b3e388625380d3bffb919195a159664558ef9780c87d7d/audacity_scripting-1.0.11.tar.gz",
"platform": "any",
"description": "# audacity-scripting\n\n[![PyPI](https://img.shields.io/pypi/v/audacity-scripting?label=PyPi)](https://pypi.org/project/audacity-scripting)\n\nA Python package for automating Audacity tasks based on [Audacity's Scripting Reference](https://manual.audacityteam.org/man/scripting_reference.html).\n\nhttps://github.com/unfor19/audacity-scripting/assets/15122452/080e772c-3e40-424b-87ce-c2ac0dd75570\n\n> Music by\u00a0Sergio Prosvirini\u00a0from\u00a0Pixabay\n\n## Requirements\n\n- Install [Python 3.9+](https://www.python.org/downloads/)\n- Install [Audacity 3.4.2+](https://www.audacityteam.org/download/)\n- Audacity - Enable [mod-script-pipe](https://manual.audacityteam.org/man/scripting.html)\n - Run Audacity\n - Go into Edit > Preferences > Modules\n - Choose mod-script-pipe (which should show New) and change that to Enabled.\n - Restart Audacity\n - Check that it now does show Enabled.\n - This establishes that Audacity is finding mod-script pipe and that the version is compatible.\n\n## Installation\n\nSupported OS: Windows, Linux, and macOS\n\n```\npython -m pip install audacity-scripting\n```\n\n## Features\n\n- [x] Remove spaces between clips - Removes spaces in all tracks for a given project absolute path `/path/to/my_project.aup3`\n- [x] Add labels to clips\n- [ ] Clean silence\n- [ ] Normalize audio\n- [ ] End Goal - Prepare videos for voice-clone-finetuning-vits\n\n<!-- available_commands_end -->\n\n## Getting Started\n\nAll the commands assume that the _Audacity_ application is up and running; That is mandatory as we communicate with [_Audacity_'s pipe](https://manual.audacityteam.org/man/scripting.html) to execute all the commands.\n\n> **NOTE**: See the [GitHub Actions Tests Workflow](https://github.com/unfor19/audacity-scripting/actions/workflows/test.yml) to check it in action.\n\n### Available Commands\n\nAuto-generated by [unfor19/replacer-action](https://github.com/marketplace/actions/replacer-action); see [readme.yml](https://github.com/unfor19/audacity-scripting/blob/master/.github/workflows/readme.yml)\n\n<!-- available_commands_start -->\n\n```\nUsage: audacity-scripting [OPTIONS] COMMAND [ARGS]...\n\n No confirmation prompts\n\nOptions:\n -ci, --ci Use this flag to avoid confirmation prompts\n --help Show this message and exit.\n\nCommands:\n add-labels Alias: al Add labels to clips in a given project\n clean-spaces Alias: cs Clean spaces between clips in a given project\n do-command Alias: dc - Execute a raw command in Audacity\n testing This is for testing purposes only\n version-print Get the version from the version file.\n```\n\n### Remove spaces between clips\n\nThis command copies the original file and removes spaces (gaps) between audio clips from the copied file.\n\n```bash\naudacity_scripting clean-spaces --file_path \"/path/to/my_project.aup3\"\n```\n\n### Send a command to Audacity\n\nSend a command to Audacity according to [Audacity's Scripting Reference](https://manual.audacityteam.org/man/scripting_reference.html).\n\n```bash\naudacity_scripting do-command --command \"Select: Tracks=0.0 Start=0.0 End=0.0\"\n```\n\n## Known Issues\n\n- macOS prints Audacity's server logs (`Server sending`, `Read failed on fifo, quitting`, etc.) - documented in [JOURNEY.md](./JOURNEY.md)\n\n## References\n\n- [GitHub Issue - Audacity Remove spaces between clips](https://github.com/audacity/audacity/issues/3924)\n- [SourceForge Issue - Audacity pipes](https://sourceforge.net/p/audacity/mailman/audacity-devel/thread/CAJhgUZ1DOvHMie7KHJ45EuDztw-8WJM8Qd0d%2BNfkQaEje%3D-7Lg%40mail.gmail.com/)\n- [GitHub Actions Windows Pipes Discussion](https://github.com/orgs/community/discussions/40540)\n- [Audacity pipes issue on Windows](https://forum.audacityteam.org/t/different-errors-running-pipe-test/65305/40)\n- [Python and Windows named pipes on Stackoverflow](https://stackoverflow.com/questions/48542644/python-and-windows-named-pipes)\n\n## Authors\n\nCreated and maintained by [Meir Gabay](https://github.com/unfor19)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/unfor19/audacity-scripting/blob/main/LICENSE) file for details\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Audacity Scripting - Python package for automating Audacity",
"version": "1.0.11",
"project_urls": {
"Documentation": "https://github.com/unfor19/audacity-scripting",
"Download": "https://github.com/unfor19/audacity-scripting/archive/1.0.11.tar.gz",
"Homepage": "https://github.com/unfor19/audacity-scripting"
},
"split_keywords": [
"python",
"audacity",
"scripting",
"automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "67dd44978a7ba6518be6b57ccf947142e3d89c83217ac14d5d6cd4838d07a8ce",
"md5": "7ef3c819b465e4bd89ed9d555aabb2fa",
"sha256": "83f5e5c140b0497f8c64f5cfc271d52f49909e08497629fd444001bacd44f01c"
},
"downloads": -1,
"filename": "audacity_scripting-1.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ef3c819b465e4bd89ed9d555aabb2fa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.6",
"size": 14793,
"upload_time": "2023-12-30T19:02:49",
"upload_time_iso_8601": "2023-12-30T19:02:49.044547Z",
"url": "https://files.pythonhosted.org/packages/67/dd/44978a7ba6518be6b57ccf947142e3d89c83217ac14d5d6cd4838d07a8ce/audacity_scripting-1.0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e242b47dd7bb7da83b3e388625380d3bffb919195a159664558ef9780c87d7d",
"md5": "42e26753a45cc079cbf6062c68826a21",
"sha256": "157c1b2ddd603e44a08a2f1d1339d6d3b12445c2a1573a85c2774aa427d8c76f"
},
"downloads": -1,
"filename": "audacity_scripting-1.0.11.tar.gz",
"has_sig": false,
"md5_digest": "42e26753a45cc079cbf6062c68826a21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.6",
"size": 14195,
"upload_time": "2023-12-30T19:02:50",
"upload_time_iso_8601": "2023-12-30T19:02:50.654331Z",
"url": "https://files.pythonhosted.org/packages/7e/24/2b47dd7bb7da83b3e388625380d3bffb919195a159664558ef9780c87d7d/audacity_scripting-1.0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-30 19:02:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "unfor19",
"github_project": "audacity-scripting",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "audacity-scripting"
}