{"id":20614509,"url":"https://github.com/enjirouz/voice-assistant-app","last_synced_at":"2025-09-10T22:42:14.554Z","repository":{"id":49842229,"uuid":"300853308","full_name":"EnjiRouz/Voice-Assistant-App","owner":"EnjiRouz","description":"Python Voice Assistant project can: recognize and synthesize speech without Internet access; report the weather forecast anywhere in the world; make a search in the Google; make a video search in the YouTube; make a search for a definition in Wikipedia and read it; translate from the target language to the user's native language, and much more","archived":false,"fork":false,"pushed_at":"2020-11-24T16:19:44.000Z","size":111,"stargazers_count":117,"open_issues_count":0,"forks_count":51,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-15T07:39:43.173Z","etag":null,"topics":["google","linux","macos","offline","offline-windows","openweathermap","python","python3","speech-recognition","speech-synthesis","voice-assistant","wikipedia","windows-10","youtube"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EnjiRouz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-03T10:25:47.000Z","updated_at":"2025-04-05T17:14:40.000Z","dependencies_parsed_at":"2022-09-09T18:55:05.854Z","dependency_job_id":null,"html_url":"https://github.com/EnjiRouz/Voice-Assistant-App","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EnjiRouz/Voice-Assistant-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnjiRouz%2FVoice-Assistant-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnjiRouz%2FVoice-Assistant-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnjiRouz%2FVoice-Assistant-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnjiRouz%2FVoice-Assistant-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EnjiRouz","download_url":"https://codeload.github.com/EnjiRouz/Voice-Assistant-App/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnjiRouz%2FVoice-Assistant-App/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262704307,"owners_count":23351040,"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":["google","linux","macos","offline","offline-windows","openweathermap","python","python3","speech-recognition","speech-synthesis","voice-assistant","wikipedia","windows-10","youtube"],"created_at":"2024-11-16T11:12:55.907Z","updated_at":"2025-06-30T03:33:23.459Z","avatar_url":"https://github.com/EnjiRouz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Voice Assistant Python App for Windows, Linux \u0026 MacOS\n\n### Возможности приложения\nДанный проект голосового ассистента на Python 3 для Windows и Linux умеет:\n* распознавать и синтезировать речь в offline-режиме (без доступа к Интернету);\n* сообщать о прогнозе погоды в любой точке мира;\n* производить поисковый запрос в поисковой системе Google\n  (а также открывать список результатов и сами результаты данного запроса);\n* производить поисковый запрос видео в системе YouTube и открывать список результатов данного запроса;\n* выполнять поиск определения в Wikipedia c дальнейшим прочтением первых двух предложений;\n* переводить с изучаемого языка на родной язык пользователя (с учетом особенностей воспроизведения речи);\n* искать человека по имени и фамилии в соцсетях ВКонтакте и Facebook;\n* \"подбрасывать монетку\";\n* воспроизводить случайное приветствие;\n* воспроизводить случайное прощание с последующим завершением работы программы;\n* менять настройки языка распознавания и синтеза речи;\n* TODO многое другое...\n\nДля **быстрой установки** всех требуемых зависимостей можно воспользоваться командой:\n\n`pip install requirements.txt`\n\n### Настройка синтеза и анализа речи с возможностью offline-работы\nГолосовой ассистент использует для синтеза речи встроенные в операционные системы возможности\n(т.е. **голоса зависят от настроек операционной системы**). Для этого используется библиотека `pyttsx3`. [Подробнее здесь](https://github.com/nateshmbhat/pyttsx3)\n\n    Для корректной работы системы распознавания речи в сочетании с библиотекой SpeechRecognition\n    используется библиотека PyAudio для получения звука с микрофона.\n\nВ целом, решение работает на Windows, Linux и MacOS с незначительными различиями при установке библиотек PyAudio и Google.\n\nДля установки PyAudio на Windows можно найти и скачать нужный в зависимости от архитектуры и версии Python whl-файл [здесь](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio) в папку с проектом. После чего его можно установить при помощи подобной команды:\n\n`pip install PyAudio-0.2.11-cp38-cp38m-win_amd64.whl`\n\nВ случае проблем с установкой PyAudio на MacOS может помочь [данное решение](https://stackoverflow.com/questions/33851379/pyaudio-installation-on-mac-python-3).\n\n    Для использования SpeechRecognition в offline-режиме (без доступа к Интернету), \n    потребуется дополнительно установить Vosk (качество моделей близко к Google)\n    \n    В проекте преимущественно используется Google при наличии доступа в Интернет и\n    предусмотрено переключение на Vosk в случае отсутствия доступа к сети.\n\nДля избежания проблем с установкой Vosk на Windows, я предлагаю скачать whl-файл в зависимости от требуемой архитектуры и версии Python. Его можно найти [здесь](https://github.com/alphacep/vosk-api/releases/). Загрузив файл в папку с проектом, установку можно будет запустить с помощью подобной команды: \n\n`pip install vosk-0.3.7-cp38-cp38-win_amd64.whl`\n\nМодели для распознавания речи с помощью Vosk можно найти [здесь](https://alphacephei.com/vosk/models). Я использовала в проекте [ru](https://alphacephei.com/vosk/models/vosk-model-small-ru-0.4.zip) и [en](http://alphacephei.com/vosk/models/vosk-model-small-en-us-0.4.zip) модели\n\n### Настройка получения прогноза погоды от OpenWeatherMap\nДля получения данных прогноза погоды мною был использован сервис `OpenWeatherMap`, который **требует API-ключ**.\nПолучить API-ключ и ознакомиться с документацией можно после регистрации (есть `Free`-тариф) [здесь](https://openweathermap.org/).\nПримеры использования можно найти [здесь](https://pyowm.readthedocs.io/en/latest/v3/code-recipes.html)\n\n\n### Прочие зависимости\nКоманды для установки прочих сторонних библиотек:\nКоманда установки  | Назначение библиотеки\n----------------|----------------------\n`pip install google`       | Поисковые запросы в Google\n`pip install SpeechRecognition`       | Распознавание речи (Speech-To-Text)\n`pip install vosk`       | Offline распознавание речи (Speech-To-Text)\n`pip install pyttsx3`   | Offline синтез речи на Windows (Text-To-Speech)\n`pip install wikipedia-api`| Wikipedia API\n`pip install googletrans`| Google Translate\n`pip install pyowm`| Получение данных погоды с помощью OpenWeatherMap\n`pip install python-dotenv`| Работа с `.env`-файлами для хранения API-ключей\n`pip install scikit-learn`| Машинного обучение для угадывания намерений\n\nДополнительную информацию по установке и использованию библиотек можно найти [здесь](https://pypi.org/)\n\n    У меня на Windows не возникало проблем с установкой библиотек, перечисленных в таблице выше, \n    потому прилагаю только команды для установки.\n    \n    В случае возникновения проблем с установкой на Windows, вы можете воспользоваться тем же способом, \n    который я предлагала для установки PyAudio выше.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenjirouz%2Fvoice-assistant-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenjirouz%2Fvoice-assistant-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenjirouz%2Fvoice-assistant-app/lists"}