{"id":20645957,"url":"https://github.com/jakecyr/chatgpt-voice-assistant","last_synced_at":"2025-04-05T02:11:55.064Z","repository":{"id":114277020,"uuid":"578028575","full_name":"jakecyr/chatgpt-voice-assistant","owner":"jakecyr","description":"A chatbot that integrates OpenAI Whisper, Chat Completions and Voice Generation. Also provides the option to use free transcription / TTS options.","archived":false,"fork":false,"pushed_at":"2025-02-04T01:27:18.000Z","size":441,"stargazers_count":130,"open_issues_count":2,"forks_count":30,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-29T01:14:41.535Z","etag":null,"topics":["artificial-intelligence","chatgpt","machine-learning","python","voice-assistant","voice-recognition"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakecyr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-14T04:43:05.000Z","updated_at":"2025-03-20T04:41:40.000Z","dependencies_parsed_at":"2023-12-18T23:34:24.244Z","dependency_job_id":"8c30e39d-7d3d-4773-8f18-4a5882f6ae68","html_url":"https://github.com/jakecyr/chatgpt-voice-assistant","commit_stats":null,"previous_names":["jakecyr/openai-gpt3-chatbot"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakecyr%2Fchatgpt-voice-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakecyr%2Fchatgpt-voice-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakecyr%2Fchatgpt-voice-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakecyr%2Fchatgpt-voice-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakecyr","download_url":"https://codeload.github.com/jakecyr/chatgpt-voice-assistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","chatgpt","machine-learning","python","voice-assistant","voice-recognition"],"created_at":"2024-11-16T16:22:49.457Z","updated_at":"2025-04-05T02:11:55.039Z","avatar_url":"https://github.com/jakecyr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChatGPT Voice Assistant\n\n![GitHub Actions Build Status](https://github.com/jakecyr/openai-gpt3-chatbot/actions/workflows/test-application.yml/badge.svg)\n\nA simple interface to the OpenAI ChatGPT model with speech to text for input and text to speech for the output.\nchatgpt-voice-assistant uses OpenAI Whisper for speech transcription and OpenAI Speech Generation for TTS.\n\n## Setup\n\n### Mac Prerequisites\n\nInstall dependencies:\n\n```bash\nbrew install portaudio\nbrew link portaudio\n```\n\nUpdate your pydistutils config file for portaudio usage by running the following:\n\n```bash\necho \"[build_ext]\" \u003e\u003e $HOME/.pydistutils.cfg\necho \"include_dirs=\"`brew --prefix portaudio`\"/include/\" \u003e\u003e $HOME/.pydistutils.cfg\necho \"library_dirs=\"`brew --prefix portaudio`\"/lib/\" \u003e\u003e $HOME/.pydistutils.cfg\n```\n\n### Install from PyPI\n\nRun the following to install the `chatgpt-assist` CLI application:\n\n```bash\npip install chatgpt-voice-assistant\n```\n\n### Install from Source\n\n1. Install poetry ([official docs](https://python-poetry.org/docs/#installation) or with `pip install poetry`)\n2. Install all dependencies with `poetry install`\n\n## Running the Script\n\nEither set the `OPENAI_API_KEY` environment variable before running the script or pass in your secret key to the script like in the example below:\n\n```bash\nexport OPENAI_API_KEY=\u003cOPEN API SECRET KEY HERE\u003e\ngptassist\n\n# OR\n\ngptassist --open-ai-key=\u003cOPEN API SECRET KEY HERE\u003e\n```\n\nor if installed from source with poetry:\n\n```bash\npoetry run gptassist --open-ai-key=\u003cOPEN API SECRET KEY HERE\u003e\n```\n\nStart speaking and turn up your volume to hear the AI assistant respond.\n\nSay the word \"exit\" or hit Ctrl+C in your terminal to stop the application.\n\n### Options\n\nBelow is the help menu from the chatgpt-assist CLI detailing all available options:\n\n```txt\n-h, --help\n    show this help message and exit\n\n--log-level LOG_LEVEL\n    Whether to print at the debug level or not.\n\n--input-device-name INPUT_DEVICE_NAME\n    The input device name.\n\n--lang LANG\n    The language to listen for when running speech to text (ex. en or fr).\n\n--max-tokens MAX_TOKENS\n    Max OpenAI completion tokens to use for text generation.\n\n--tld TLD\n    Top level domain (ex. com or com.au).\n\n--safe-word SAFE_WORD\n    Word to speak to exit the application.\n\n--wake-word WAKE_WORD\n    (Optional) Word to trigger a response.\n\n--open-ai-key OPEN_AI_KEY\n    Required. Open AI Secret Key (or set OPENAI_API_KEY environment variable)\n\n--tts {apple,google,openai}\n    Choose a text-to-speech engine.\n\n--speech-rate SPEECH_RATE\n    The rate at which to play speech. 1.0=normal\n```\n\n### Specifying an Output Language Accent\n\nSpecify both the `LANGUAGE` and `TOP_LEVEL_DOMAIN` vars to override the default English (United States)\n\n```bash\ngptassist --open-ai-key=\u003cOPENAI_KEY\u003e --lang=en --tld=com\n```\n\n#### Language Examples\n\n- English (United States) _DEFAULT_\n  - `LANGUAGE=en TOP_LEVEL_DOMAIN=com`\n- English (Australia)\n  - `LANGUAGE=en TOP_LEVEL_DOMAIN=com.au`\n- English (India)\n  - `LANGUAGE=en TOP_LEVEL_DOMAIN=co.in`\n- French (France)\n  - `LANGUAGE=fr TOP_LEVEL_DOMAIN=fr`\n\nSee Localized 'accents' section on gTTS docs for more information\n\n## References\n\n* [Speech Recognition library docs](https://pypi.org/project/SpeechRecognition/1.2.3)\n* [Google Translate Text-to-Speech API (gTTS)](https://gtts.readthedocs.io/en/latest/module.html#)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakecyr%2Fchatgpt-voice-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakecyr%2Fchatgpt-voice-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakecyr%2Fchatgpt-voice-assistant/lists"}