Irene-Voice-Assistant
Irene-Voice-Assistant copied to clipboard
Дополнительные плагины
Пожалуйста, оставляйте здесь ссылки с коротким описанием, если вы разработали плагин для Ирины. Пожалуйста, НЕ оставляйте здесь другие сообщения и не устраивайте обсуждения.
Здесь есть пример реализации взаимодействия с MTQQ: https://github.com/zoboff/Irene-Voice-Assistant требуются файлы config.py + plugin_2mqtt_run.py
Плагин для запуска скриптов в Home Assistant: https://github.com/timhok/IreneVA-hassio-script-trigger-plugin Ирина - отличное решение для тех кто уже обладает умным домом на HA, но не осилил Rhasspy или не имеет достаточно ресурсов для его запуска
Плагин для озвучивания доступных текущих команд VA
https://github.com/SergeyMi37/va-jaa/blob/f1744d09090f832fce5e168d8fde527c7eff40e5/plugins/plugin_cmd_help.py#L1
Плагин для управления громкостью, через команды amixer. Плагин для выключения и перезагрузки компьютера. https://github.com/aquaratixc/irene_va_plugins
https://github.com/Lolipol/Irine-plugin/blob/main/plugin_open_win.py Открывает приложения на винде название и добавление нового приложения доступно в настройках. Сделано аналогично plugin_urlopener.py Проверено: win10, python 3.10
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_weather_wttr.py Погодный плагин, получает погоду с wttr.in, не требует ключей API. Местоположение (пока) настраивается в исходном файле плагина.
Альтернативный плагин приветствий/прощаний. https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_greetings_alt.py
Запускатель команд (для Linux) по мотивам плагина: https://github.com/Lolipol/Irine-plugin/blob/main/plugin_open_win.py https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_apprunner.py
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_datetime.py Несколько модифицированный плагин даты/времени из штатной поставки Ирины. Переработан немного код, а также добавлено произнесение дня недели. Возможно что то еще будет добавлено.
https://github.com/Lolipol/Irine-plugin/blob/main/plugin_control_window.py Проверено: win10, py 3.10 плагин позволяет взаимодействовать с активным окном закрыть окно, свернуть окно, открыть в полноэкранном режиме реализованы комбинации клавиш: alt+tab, alt+shift+tab (для переключения между окнами) ctrl+tab, ctrl+shift+tab (для вкладок), ctrl+w (для закрытия вкладок в браузере)
https://github.com/leontyko/reman_plugin Плагин управления медиа-функциями и функциями питания компьютеров в сети Позволяет выполнять те команды, которые будут прописаны в конфигурации.
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_random_alt.py
Альтернативный плагин для случайного выбора. Также как и оригинальная версия умеет бросать кубик, монетку, кости, а также выдает случайное число от 1 до 100
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_statistics.py
Плагин информации о системе. Ирина проговаривает IP, информацию о свободном месте на диске, нагрузке, о свободной RAM.
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_mpg123_control.py Управление плеером mpg123. Умеет выбор случайного трека, останавливать воспроизвдение, а также проигрывать следующий и предыдущий трек.
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_volume_control2.py Управление громкость через pamixer. Альтернативное управление громкостью.
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_cpu_temperature.py Температура процессора устами Ирины
https://github.com/Lolipol/Irine-plugin/blob/main/plugin_start.py (!переделано )Плагин запуска, запускает встроенную в windows команду start, для Linux.. Пути для windows: "C:\Python310\python.exe" перед спец символами ставить "". Открывает и папки "calc" Встроенные названия. "shell:appsfolder\Microsoft.Windows.Computer", # В такой форме shell:appsfolder\{название} для linux: взято из (https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_apprunner.py)
https://github.com/Lolipol/Irine-plugin/blob/main/plugin_easy_notes.py
Добавляет и загружает в core модель, расставляющую знаки препинания в тексте (https://github.com/snakers4/silero-models)
Поддерживаемые языки: ['en', 'de', 'ru', 'es']
. Расставляет следующие знаки препинания: '.,-!?—'
Чтобы воспользоваться в плагине core.te_model.enhance_text(text, 'ru')
. Ввернет обработанный текст
требуется torch 1.10+
модель весит 90 мб
https://github.com/Lolipol/Irine-plugin/blob/main/interface_tkinter/runva_vosk_interface.pyw
Графический интерфейс к Irine-Assistant написанный на tkinter
чтобы запустить необходимо файл положить в корень проекта
Реализован аналогичный Гугол или Алисы способ ввода, когда говорится "Ирина"
и затем некоторое время ждет ответа команды например "Привет"
Можно говорить и полную команду "Ирина привет"
Настройки пока что находится в классе APP settings (в тексте ошибок тьма)
интерфейс проверялся на Linux программа проверялась на win10
Плагин управления устройствами по mqtt с помощью фраз "Ирина включи свет" Требует подключения к интернету (для локального брокера не нужен) https://github.com/AzimovIz/Irine_mqtt_plugin
В будущем планируется двухстороннее общение для датчиков
Команды Для управления используются фразы с любыми (не чувствителен к склонениям) словами, порядок бъекта/параметров не важен. Ограничение только на первые два слова - имя ассистента и триггер действия.
Примеры команд: "Ирина сделай ночник на кухне красным" то-же самое, что "Ирина сделай красный цвет ночника на кухне" "Ирина включи лампу на кухне" то же самое, что "Ирина включи пожалуйста лампу на моей кухне" "Ирина выключи ночник в гостиной" не то-же самое, что "Ирина выключи ночник"
Изменено: В последней версии добавлена генерация ответов "Включила лампу", "Закрыла окно на кухне"
Простой MQTT-мост для Ирины, умеет:
- отправлять в MQTT команды по триггерным словам;
- получать из MQTT текст для озвучки.
Для каждого триггера можно привязать свою функцию. Наверное, не подойдёт при работе в варианте веб-апи — не проверил пока.
https://github.com/aadegtyarev/irene-voice-assistant-mqtt-bridge
Воспроизведение интернет-радиостанций. Управление громкостью.
https://github.com/Mmm-Vvv/Romeo_plugins
Болталка с OpenAI GPT-3 нейросетью. Требует API ключ от OpenAI. https://github.com/janvarev/irene_plugin_boltalka_openai
Второй вариант болталки с ChatGPT https://github.com/janvarev/irene_plugin_boltalka2_openai
В сравнении с оригинальной болталкой https://github.com/janvarev/irene_plugin_boltalka_openai
Плюсы:
- более дешевая нейросеть "gpt-3.5-turbo"
- поддержка контекста диалога
- возможность задавать стиль разговора с собеседником (параметр system в конфиге) - например "объясняй как маленькому ребенку"
Минусы:
- по ощущениям эта нейросеть работает медленнее, ответа приходится ждать дольше
Плагин перезагрузки плагинов https://github.com/AzimovIz/plugin_reload/blob/main/plugin_reload.py
- автоматическая перезагрузка при изменении файлов в plugins/ и options/
- исключения для перезагрузки, исключенные плагины - не будут перезагружаться (по умолчанию core.py)
- перезагрузка конкретного плагина
- добавление плагинов "на лету"
Плагин для воспроизведения видео камина на плеере Dune https://github.com/Localhost2005/Irene-Voice-Assistant-Plugins/blob/main/plugin_fireplace.py
Dune HD API http://dune-hd.com/firmware/ip_control/dune_ip_control_overview.txt
Метод для нечеткого сравнения строк - модификация
https://github.com/Localhost2005/Irene-Voice-Assistant-Plugins/blob/main/plugin_fuzzy_thefuzz.py
Было res = fuzz.ratio(cmdsub,key) Fuzz.ratio он сравнивает строку и оценку на основе того, насколько данная строка соответствует.
Стало res = fuzz.WRatio(cmdsub,key) WRatio дает лучший результат, чем простое соотношение. Он обрабатывает нижний и верхний регистры, а также некоторые другие параметры.
Плагин для нечеткого сравнения команд на нейросетевых моделях: https://github.com/janvarev/irene_plugin_fuzzy_ai_sentence
Идея - иметь возможность быстро голосом запускать короткие тренировочные видео из разных подпапок. Вам подойдёт, например, если у вас есть папка с видеотренировками Например, команда 'тренировка руки' запустит случайное видео из папки 'Руки'
https://github.com/SVerstov/irene_plugin_random_video
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_weather_wttr.py Погодный плагин, получает погоду с wttr.in, не требует ключей API. Местоположение (пока) настраивается в исходном файле плагина.
Привел плагин к стандартному виду (настройки местоположения вынесены в JSON). Поправлена ошибка со скоростью ветра, скорость ветра переведена в м/с. Добавил короткий вывод погоды (без влажности и давления).
https://github.com/Ivan-Firefly/Irene-Voice-Assistant-Docker/blob/master/docker_plugins/plugin_weather_wttr.py