Pull to refresh

Comments 24

Проект Leon выглядит классно - нейросети и всё такое... Только я, возможно, не уловил чего-то, но набор навыков там довольно своеобразный. Скачивание видео из плейлиста YouTube, замер скорости канала, перечисление трендовых репозиториев на GitHub... Как будто инопланетянин писал. На какого потребителя расчитано? Возможно, Вы, как следящий за проектом, объясните мне? Мне действительно интересно - я сам пишу похожее и по-другому представлял себе типовые потребности пользователя такой системы.

Ну это скорее фреймворк, нежели готовый код. Насколько я понимаю, все допиливают его под какие-то свои конкретные нужды.

Спасибо за информацию, но я в предыдущей статье делал небольшой обзор помощников по материалам юзера putnik. Леон там был; насколько понял, там большая проблема с русским языком.

Помощников russian-first-language вообще как-то нет.

А вы всё распознаете или есть отдельная сетка, которая должна искать слово ИРИНА и потом запускать распознавание?

Нет, все делается через VOSK, специальной сетки нет.
Имя помощника можно сменить.

О, только на днях поставил, после видео Чёрного Треугольника.

Пытаюсь-вот пользоваться... получается так себе.

Очень много зависимостей, в основном достаточно устаревших. С моим никудышим опытом Linux на актуальной Манжаре, разрешить их не непросто.

Громоздко в установке. Каждая смена tts-движка заставляет искать необходимые библиотеки (которые еще и в разных дистрибутивах называются по-разному ). Нужна автоматизация.

НуженUI. Хотя бы в виде крохотного окошка с текущим статусом. Или плазмоида.

На мой взляд не хватает самого главного плагина - ввод текста в активное приложение.

Без всяких "Ирина привет/Ирина пока". Нажал кнопку (Ctrl|Meta) - наговорил (слов 10) - отпустил кнопку. Если бы еще распознанный текст вводился не после отпускания клавиши, было бы отлично. А если бы еще и в процессе отлавливать текстовые алиасы - было бы просто замечательно.

Голосовой ввод (с хорошим распознаванием) сильно ускоряет работу с большим объемом текста, даже в сравнении со "слепым" методом. (Заодно развивая коммуникабельность). И просто незаменим в дороге/на небольших устройствах (https://store.steampowered.com/steamdeck) .

До недавних пор пользовался Mspeech, затем Laitis под windows 10. Они хоть и завязаны на облачные сервисы, но более-менее работают.

Спасибо! Вам воспользовался вашим проектом очень Удобный голосовой помощник

Тоже занимаюсь чем то похожим, как хобби... Увидел у вас, что сделали перевод чисел в слова, на самом деле есть уже готовые библиотеки, например num2words

За библиотеку спасибо, гляну.
В той, что сейчас используется, есть один бонус — возможность согласования с последующим существительным (формы слова задаются как параметр при вызове). Например, «один градус», «десять градусов».

Единиц измерений там конечно нет. Но так может:

num2words(1, lang='ru') => 'один'

num2words(1, lang='ru', to="ordinal") => 'первый'

или так:

num2words(1.3, lang='ru') => 'один запятая три'

Не так давно попробовал на ассистента накатить NeMo от Nvidia. В первую очередь попробовал добавить TTS, но оказалось что предобученных моделей на русском просто нет. По-английски зато на предобученной модели FastSpeech2 говорит прекрасно. Но вот только один этот TTS модуль у меня на ноутбучной 3060 едва ли может обработать предложение из 25 слов. Памяти не хватает. Зато качество отличное. Пробую ещё обучить на датасете Ruslan модель GlowTTS, по идее она даже легче чем FastSpeech2. Если получится, оформлю подключаемый модуль с ним.

О, буду рад добавлениям!
Вообще довольно круто по качеству работает анонсированный позавчера TTS Silero v3.

Я из их статьи ссылку на датасет и нашёл. Посмотрим. В принципе для голосового ассистента все подобные модели дают хорошее качество. Ещё надо STT прикрутить, но там предобученная модель на русском есть, так что проблем не должно быть. Ну кроме размера, не факт что TTS и STT смогут одновременно крутиться в памяти. STT можно прямо сейчас подключать и пробовать, но это легко и не спортивно :) так что я начал с TTS.

Буквально вчера до 3 ночи просидел в интернете с идеей сделать голосового управления умным домом. И совсем забыл, что недавно читал твою первую статью. Хорошо, что хром сейчас предложил мне эту статью.

В первую очередь хочу сказать, что это колоссальный труд и я постараюсь любым возможным способом его поддержать!

Думаю такой ассистент действительно найдёт применение в связке с Home Assistant, так как русскоязычных ассистентов с возможностью кастомизации под себя ну просто нет. Ту же Алису полноценно под себя не запилишь (хотя бы переименовать, чтобы отзывалась на другое имя), в Raspberry PI не запихнёшь, да и у нас к ней доступ только через VPN.

Поэтому желаю успехов в начинаниях и неугасающего интереса!

С нетерпением жду следующего поста!

Интересная штука.
Я собирал "попугая" (распознаёт и распознанное выводит голосом) на RPi (VOSK+RHVoice через speechd).
Решил попробовать вашу Ирину, но.. то ли я с ГитХабом не дружу, то ли выборочная слепота.
Помогите, пожалуйста, разобраться -
"Конфиг настраивается в options/plugin_urlopener.json" , "Настройки ядра (core.json)"
- где всё это богатство лежит?
Не могу найти..

После первого запуска Ирины появится папка options с конфигами. Их надо править :)

угу.
проверил. не стартует.
выдает такое:
pi@rpi4-01:~/Irene-Voice-Assistant-master $ ./runva_vosk.py
./runva_vosk.py: строка 1: import: команда не найдена
./runva_vosk.py: строка 2: import: команда не найдена
./runva_vosk.py: строка 3: import: команда не найдена
./runva_vosk.py: строка 4: import: команда не найдена
./runva_vosk.py: строка 5: import: команда не найдена
./runva_vosk.py: строка 6: import: команда не найдена
./runva_vosk.py: строка 7: import: команда не найдена
./runva_vosk.py: строка 8: import: команда не найдена
from: can't read /var/mail/vacore
./runva_vosk.py: строка 12: mic_blocked: команда не найдена
./runva_vosk.py: строка 14: синтаксическая ошибка рядом с неожиданным маркером «(»
./runva_vosk.py: строка 14: `def block_mic():'


при запуске runva_cmd - похожая картина,
зависимости все удовлетворены
что может быть?

(сорри за прямую копипасту лога, еще и без ката - еще не разобрался с местным интерфейсом)

Не знаю, если честно. Похоже на отсутствие пакетов или еще что-то.
Отлаживать лучше через runva_cmdline, у него меньше зависимостей.

та же картина
лог запуска runva_cmdline:

pi@rpi4-01:~/Irene-Voice-Assistant-master $ ./runva_cmdline.py
./runva_cmdline.py: строка 1: import: команда не найдена
from: can't read /var/mail/vacore
./runva_cmdline.py: строка 4: import: команда не найдена
./runva_cmdline.py: строка 8: синтаксическая ошибка рядом с неожиданным маркером «(»
./runva_cmdline.py: строка 8: ` cmd_core = VACore()'

почему-то pyton ругается на import.
очень странный путь при этом:

from: can't read /var/mail/vacore

скрипт для запуска VOSK'а также содержит import, но работает.
(установлен pyton 3.7.3)

я нашел. это касается запуска на Linux из bash.
в начале - первой строчкой - запускаемого скрипта (runva_*) должен идти т.н. shebang - указатель для bash, чем это обрабатывать. иначе он пытается его выполнить сам.
в данном случае шебанг выглядит так:

#!/usr/bin/env python3

Огромнейшее спасибо Вам за проект! Искал что-то похожее, даже хотел сделать сам, но, видимо, это для мне пока сложно. Даже понять vosk.))

Интересный проект. Спасибо что нашли время описать.

Мне только до сих пор непонятно, почему же вы всё-таки решили своё писать, а не взять Rhasspy? https://rhasspy.readthedocs.io/en/latest/ Там ведь уже всё из коробки сделано, протестировано и архитектура более-менее норм. И разраба того в материнскую компанию Home Assistant захайрили, как я понял, после того, как он им интеграцию сделал.

А коль вас уже и стянуло на тёмную сторону Майкрофт, то я отчаянно советую посмотреть в сторону его форка - OpenVoiceOS. Они исправили множественные ахритектурные косяки Майкрофта. Как самый простой пример: невозможность заткнуть этого гада если он говорит что-то длинное. Как пример посложнее - отсустствие необходимости делать речевую паузу между wake word и собственно фразой которая предназначается для распознавания. Майкрофт имхо дело гибловатое, уж больно те товарищи заинтересованы в продажах своих железок и привязке к своим сервисам. Мне кажется их это сгубит и комьюнити перетечет в сторону OpenVoiceOS.

И добавлю, если кто-то захочет на разные другие варианты посмотреть - https://github.com/topics/personal-assistant (посортируйте по звездам). Леон канеш мимо, но все остальное вполне удобоваримое. Одних Жарвисов штук 10 :)

Sign up to leave a comment.

Articles