Shabda
======
![Shabda logo](https://raw.githubusercontent.com/ilesinge/shabda/master/assets/logo.png)
Shabda is a tool to fetch random samples from https://freesound.org/ based on given words or to generate Text-to-Speech samples for use in impro sessions on instruments such as Tidal Cycles and Estuary.
[Shabda](https://en.wikipedia.org/wiki/Shabda) is the Sanskrit word for "speech sound". In Sanskrit grammar, the term refers to an utterance in the sense of linguistic performance.
Install
-------
- Install Python 3: https://www.python.org/
- Install pip: https://pypi.org/project/pip/
- Install ffmpeg: https://ffmpeg.org/ (e.g. Debian/Ubuntu: `apt install ffmpeg`)
- Install Shabda for standard usage: `pip install shabda`
or
- Install shabda for hacking:
- Install poetry: https://python-poetry.org/docs/#installation
- In Shabda repository, install dependencies: `poetry install`
Use (command line)
------------------
In order to download a sample pack, execute in the terminal `shabda <definition> --licenses <license_name>`.
Any word can be a pack definition. If you want more than one sample, separate words by a comma: `blue,red`
You can define how many variations of a sample to assemble by adding a colon and a number.
e.g. `blue,red:3,yellow:2` will produce one 'blue' sample, three 'red' samples and two 'yellow' sample.
The optional `--licenses` parameter allows to fetch only samples that have the specified license. Multiple licenses can be allowed by repeating the `--licenses` argument. Possible licenses are `cc0` (Creative Commons Zero), `by` (Creative Commons Attribution), and `by-nc` (Creative Commons Attribution Non-Commercial).
Full example:
```
shabda spaghetti:2,monster:4 --licenses cc0 --licenses by
```
The first time you execute this command, it will ask you for a Freesound token, that you will be redirected to. You will need a Freesound account.
By default, samples will be downloaded in a `samples` directory under the current working directory. You can override this by adding a `config.ini` file to the `$HOME/.shabda/` directory, containing:
```ini
[shabda]
samples_path=/path/to/your/desired/samples/directory/
```
Use (web application)
---------------------
Launch the web application:
In debug mode:
```
FLASK_APP=shabda FLASK_DEBUG=1 flask run
```
In production:
```
gunicorn --workers=4 "shabda:create_app()" -b localhost:8000
```
Test
----
```
poetry run pytest
```
Notes
-----
With Estuary, Shabda makes use of this feature: https://github.com/dktr0/estuary/wiki#adding-sound-files-to-estuarywebdirt-on-the-fly
All command line examples must be preceded by `poetry run` if in hacking/development mode.
Roadmap
-----
See: https://github.com/users/ilesinge/projects/4
Raw data
{
"_id": null,
"home_page": "https://shabda.ndre.gr/",
"name": "shabda",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "music,livecoding,tidalcycles",
"author": "Alexandre G.-Raymond",
"author_email": "alex@ndre.gr",
"download_url": "https://files.pythonhosted.org/packages/4d/43/658ed68f2d27153d559b3fefbce0cb77493bd0a6af0960b945456671927b/shabda-0.2.1.0.tar.gz",
"platform": null,
"description": "Shabda\n======\n\n![Shabda logo](https://raw.githubusercontent.com/ilesinge/shabda/master/assets/logo.png)\n\n\nShabda is a tool to fetch random samples from https://freesound.org/ based on given words or to generate Text-to-Speech samples for use in impro sessions on instruments such as Tidal Cycles and Estuary.\n\n[Shabda](https://en.wikipedia.org/wiki/Shabda) is the Sanskrit word for \"speech sound\". In Sanskrit grammar, the term refers to an utterance in the sense of linguistic performance. \n\nInstall\n-------\n\n- Install Python 3: https://www.python.org/\n- Install pip: https://pypi.org/project/pip/\n- Install ffmpeg: https://ffmpeg.org/ (e.g. Debian/Ubuntu: `apt install ffmpeg`)\n- Install Shabda for standard usage: `pip install shabda`\nor\n- Install shabda for hacking:\n - Install poetry: https://python-poetry.org/docs/#installation\n - In Shabda repository, install dependencies: `poetry install`\n\nUse (command line)\n------------------\n\nIn order to download a sample pack, execute in the terminal `shabda <definition> --licenses <license_name>`.\n\nAny word can be a pack definition. If you want more than one sample, separate words by a comma: `blue,red`\n\nYou can define how many variations of a sample to assemble by adding a colon and a number.\ne.g. `blue,red:3,yellow:2` will produce one 'blue' sample, three 'red' samples and two 'yellow' sample.\n\nThe optional `--licenses` parameter allows to fetch only samples that have the specified license. Multiple licenses can be allowed by repeating the `--licenses` argument. Possible licenses are `cc0` (Creative Commons Zero), `by` (Creative Commons Attribution), and `by-nc` (Creative Commons Attribution Non-Commercial).\n\nFull example:\n```\nshabda spaghetti:2,monster:4 --licenses cc0 --licenses by\n```\n\nThe first time you execute this command, it will ask you for a Freesound token, that you will be redirected to. You will need a Freesound account.\n\nBy default, samples will be downloaded in a `samples` directory under the current working directory. You can override this by adding a `config.ini` file to the `$HOME/.shabda/` directory, containing:\n\n```ini\n[shabda]\n\nsamples_path=/path/to/your/desired/samples/directory/\n```\n\nUse (web application)\n---------------------\n\nLaunch the web application:\n\nIn debug mode:\n```\nFLASK_APP=shabda FLASK_DEBUG=1 flask run\n```\nIn production:\n```\ngunicorn --workers=4 \"shabda:create_app()\" -b localhost:8000\n```\n\nTest\n----\n\n```\npoetry run pytest\n```\n\nNotes\n-----\n\nWith Estuary, Shabda makes use of this feature: https://github.com/dktr0/estuary/wiki#adding-sound-files-to-estuarywebdirt-on-the-fly\n\nAll command line examples must be preceded by `poetry run` if in hacking/development mode.\n\nRoadmap\n-----\n\nSee: https://github.com/users/ilesinge/projects/4\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A semantic audio samples curator for livecoding software",
"version": "0.2.1.0",
"split_keywords": [
"music",
"livecoding",
"tidalcycles"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0a5ed3ad657c3dd7f3e7c1edb4bc3e3d",
"sha256": "6251535129272170d307a0bc4240bfd610cf7a8a7f4fc57234f3848cca85e4f0"
},
"downloads": -1,
"filename": "shabda-0.2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0a5ed3ad657c3dd7f3e7c1edb4bc3e3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 18685,
"upload_time": "2022-12-17T11:10:25",
"upload_time_iso_8601": "2022-12-17T11:10:25.963406Z",
"url": "https://files.pythonhosted.org/packages/bf/1e/067ac90c3f7533761c7207cef7baf8c1b0e7cbf5bc3777a6ba922c3f548e/shabda-0.2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2235c306b6da22f68146fba76dbc8207",
"sha256": "3bbf9f60823694b50a1bd3fa9460ddf25c1833a6abe22aad4047298730527255"
},
"downloads": -1,
"filename": "shabda-0.2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "2235c306b6da22f68146fba76dbc8207",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 17710,
"upload_time": "2022-12-17T11:10:28",
"upload_time_iso_8601": "2022-12-17T11:10:28.583424Z",
"url": "https://files.pythonhosted.org/packages/4d/43/658ed68f2d27153d559b3fefbce0cb77493bd0a6af0960b945456671927b/shabda-0.2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-17 11:10:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "shabda"
}