# bro, listen 🤖
Tool that allows for voice interaction with OpenAI chat without need to type long, detailed requests. <br>
It's an terminal application that captures audio from microphone and queries chat with transcripted message.
<p align="center">
<img src="https://github.com/mikkac/bro_listen/blob/master/demo/bro_demo.gif" alt="animated" />
</p>
---
**Note:** Currently `text-davinci-003` model is used as a chat backend. Unfortunately API for chatGPT is not yet provided by OpenAI.
## Installation
### Via PyPI
To install `bro_listen` package via PyPI, execute following command:
```bash
pip install bro-listen
```
**Note:** Consider creating a separate virtual environment if you want to avoid polluting system with dependencies of `bro_listen` package.
### From source
`poetry` is required to install the package from the source code. You can get it [here](https://python-poetry.org/docs/)
Once `poetry` is enabled in the system, to install the project and its dependencies, execute following command:
```bash
git clone https://github.com/mikkac/bro_listen.git && cd bro_listen && poetry install
```
## Configuration
After installation, configuration file has to be provided.
Default location used by the application is `$HOME/.config/bro_listen/config.toml`. <br>
One can use the default [configuration file](https://github.com/mikkac/bro_listen/blob/master/src/bro_listen/config.toml). The only thing that needs to be provided is OpenAI API key that can be generated [here](https://beta.openai.com/account/api-keys).
### Configuration details
Application supports several configuration parameters.
* `voice_api` - Voice recognition API. Currently only `"vosk"` is supported, but it's planned to also enable usage of [Google Speech-To-Text](https://cloud.google.com/speech-to-text) and [Azure Speech to text](https://azure.microsoft.com/en-us/products/cognitive-services/speech-to-text/).
* `language` - language used by `voice_api`. Currently available languages are listed in [Vosk's documentation](https://github.com/alphacep/vosk-api).
* `enable_audio_response` - chat's responses are only written to console by default. However, it's possible to vocalize them by setting this parameter to `true`.
* `device_id` - ID of recording device. It should be commented out or completely removed from configuration if default device shall be used.
## Usage
If package has been installed via PyPI, run following command:
```bash
bro_listen
```
If it was installed from source, start the application with command:
```bash
poetry run bro_listen
```
or
```bash
poetry shell
bro_listen
```
## License
This project is licensed under the LICENSE file that [can be found here](https://github.com/mikkac/bro_listen/blob/master/LICENSE.md)
Raw data
{
"_id": null,
"home_page": "https://github.com/mikkac/bro_listen",
"name": "bro-listen",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "voice recognition,chat,transcription,vosk,openai",
"author": "Mikolaj Kaczmarek",
"author_email": "m.kaczmarek9@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/64/f0/3726544d787868f0db8cbcec13eaad4a0a66e0ff25dc25a8bb671094f12a/bro_listen-0.2.0.tar.gz",
"platform": null,
"description": "# bro, listen \ud83e\udd16\nTool that allows for voice interaction with OpenAI chat without need to type long, detailed requests. <br>\nIt's an terminal application that captures audio from microphone and queries chat with transcripted message.\n\n<p align=\"center\">\n <img src=\"https://github.com/mikkac/bro_listen/blob/master/demo/bro_demo.gif\" alt=\"animated\" />\n</p>\n\n---\n**Note:** Currently `text-davinci-003` model is used as a chat backend. Unfortunately API for chatGPT is not yet provided by OpenAI.\n\n\n## Installation\n\n### Via PyPI\nTo install `bro_listen` package via PyPI, execute following command:\n```bash\npip install bro-listen\n```\n**Note:** Consider creating a separate virtual environment if you want to avoid polluting system with dependencies of `bro_listen` package.\n\n### From source\n`poetry` is required to install the package from the source code. You can get it [here](https://python-poetry.org/docs/)\n\nOnce `poetry` is enabled in the system, to install the project and its dependencies, execute following command:\n\n```bash\ngit clone https://github.com/mikkac/bro_listen.git && cd bro_listen && poetry install\n```\n\n## Configuration\n\nAfter installation, configuration file has to be provided.\nDefault location used by the application is `$HOME/.config/bro_listen/config.toml`. <br>\nOne can use the default [configuration file](https://github.com/mikkac/bro_listen/blob/master/src/bro_listen/config.toml). The only thing that needs to be provided is OpenAI API key that can be generated [here](https://beta.openai.com/account/api-keys).\n\n### Configuration details\n\nApplication supports several configuration parameters.\n* `voice_api` - Voice recognition API. Currently only `\"vosk\"` is supported, but it's planned to also enable usage of [Google Speech-To-Text](https://cloud.google.com/speech-to-text) and [Azure Speech to text](https://azure.microsoft.com/en-us/products/cognitive-services/speech-to-text/).\n* `language` - language used by `voice_api`. Currently available languages are listed in [Vosk's documentation](https://github.com/alphacep/vosk-api).\n* `enable_audio_response` - chat's responses are only written to console by default. However, it's possible to vocalize them by setting this parameter to `true`.\n* `device_id` - ID of recording device. It should be commented out or completely removed from configuration if default device shall be used.\n\n## Usage\nIf package has been installed via PyPI, run following command:\n```bash\nbro_listen\n```\n\nIf it was installed from source, start the application with command:\n```bash\npoetry run bro_listen\n```\nor\n\n```bash\npoetry shell\nbro_listen\n```\n\n## License\n\nThis project is licensed under the LICENSE file that [can be found here](https://github.com/mikkac/bro_listen/blob/master/LICENSE.md)",
"bugtrack_url": null,
"license": "MIT License (MIT)",
"summary": "Interact with openAI API with voice",
"version": "0.2.0",
"split_keywords": [
"voice recognition",
"chat",
"transcription",
"vosk",
"openai"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3629706ac2f87678433cbf9070d2abc2",
"sha256": "592914c9c2c347be3e6169c884cdfe0af0a4207d907bd2129322af323ecaa429"
},
"downloads": -1,
"filename": "bro_listen-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3629706ac2f87678433cbf9070d2abc2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 7823,
"upload_time": "2022-12-28T17:03:20",
"upload_time_iso_8601": "2022-12-28T17:03:20.330736Z",
"url": "https://files.pythonhosted.org/packages/6b/61/0cdc192083906c6cf94914f330f167fcfc9b1bc4e2526aa286e7662d6608/bro_listen-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a57cfdfee4d3c055befac5f7d2c3dfec",
"sha256": "6a7f167b43ce33dc3ed3eda026fa7e590ba199005ee022a7e9d5a474759a56ca"
},
"downloads": -1,
"filename": "bro_listen-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "a57cfdfee4d3c055befac5f7d2c3dfec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 7044,
"upload_time": "2022-12-28T17:03:22",
"upload_time_iso_8601": "2022-12-28T17:03:22.034339Z",
"url": "https://files.pythonhosted.org/packages/64/f0/3726544d787868f0db8cbcec13eaad4a0a66e0ff25dc25a8bb671094f12a/bro_listen-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-28 17:03:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "mikkac",
"github_project": "bro_listen",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "bro-listen"
}