Mycroft-core: Использование Майкрофта без дома

Созданный на 4 мая 2018  ·  17Комментарии  ·  Источник: MycroftAI/mycroft-core

Я хотел бы использовать mycroft без Home (учетная запись mycroft), настраивая свой собственный ключ API Google STT. Я не могу найти точного описания этого. Я не могу сделать это в соответствии с кратким описанием: https://github.com/MycroftAI/mycroft-core#using-mycroft-without-home .

Пожалуйста, где мне найти руководство по этому поводу?

Спасибо.

Самый полезный комментарий

Хорошо, спасибо за ответ.

Увидев код, я нашел способ настроить некоторые полезные вещи. Я вставляю их сюда для остальных. Я бы рекомендовал включить их в документацию.

Некоторые модификации локальной конфигурации /home/mycroft/.mycroft/mycroft.conf

  • для использования пользовательского ключа Google Cloud Speech API (введите свои учетные данные в формате json):

~ json..."stt": {"модуль": "google_cloud","google_cloud": {"учетные данные": {"json": {}}}},...~

  • использовать google tts вместо пакета mycroft mimic :
    ~ json..."tts": {"модуль": "гугл","Google": {"lang": "en-us","медленно": ложь}},...~

  • чтобы использовать espeak tts вместо пакета mycroft mimic :

    • (не забудьте сначала установить пакет espeak)
      ~ json..."tts": {"модуль": "espeak","espeak": {"lang": "en"}},...~

Все 17 Комментарий

Я не знаю, как отключить зависимость от api.mycroft.ai.

1) Я установил собственный ключ API google_cloud stt.

2) Я установил server.update: false в /home/mycroft/.mycroft/mycroft.conf

Но у меня в журнале все еще есть такие строки:

~14: 48: 28.473 - requests.packages.urllib3.connectionpool - DEBUG - Сброс разорванного соединения: api.mycroft.ai14: 48: 29.084 - requests.packages.urllib3.connectionpool - DEBUG - https://api.mycroft.ai : 443 "GET / v1 / device HTTP / 1.1" 401 3814: 48: 29.104 - requests.packages.urllib3.connectionpool - ОТЛАДКА - Запуск нового HTTPS-соединения (1): api.mycroft.ai14: 48: 29.645 - requests.packages.urllib3.connectionpool - ОТЛАДКА - https://api.mycroft.ai : 443 "GET / v1 / auth / token HTTP / 1.1" 401 38~

Почему?

К сожалению, я нашел документацию по mycroft очень неполной для продвинутой игры. Необходимо проверить исходный код на предмет конкретной конфигурации.

  • Сказано: «Вы можете использовать mycroft без дома», но пример конфигурации не предоставляется.
  • Это сади: «Вы можете использовать свой собственный ключ API Google». но для этого не приводится пример конфигурации.

Это очень интересный проект и он мне нравится, но, пожалуйста, УЛУЧШИТЕ ДОКУМЕНТАЦИЮ .

Привет, @Josca, мы постоянно работаем над документацией, но, как вы видите, есть пробелы.

Если google_cloud stt настроен правильно, вы сможете поговорить с mycroft и спросить такие вещи, как время.

Вы должны занести в черный список навыки сопряжения и навыки конфигурации в конфигурации, добавив запись:

"skills" {
   "blacklisted_skills": ["skill-media", "send_sms", "skill-wolfram-alpha", "skill-pairing", "skill-configuration"]
}

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

Хорошо, спасибо за ответ.

Увидев код, я нашел способ настроить некоторые полезные вещи. Я вставляю их сюда для остальных. Я бы рекомендовал включить их в документацию.

Некоторые модификации локальной конфигурации /home/mycroft/.mycroft/mycroft.conf

  • для использования пользовательского ключа Google Cloud Speech API (введите свои учетные данные в формате json):

~ json..."stt": {"модуль": "google_cloud","google_cloud": {"учетные данные": {"json": {}}}},...~

  • использовать google tts вместо пакета mycroft mimic :
    ~ json..."tts": {"модуль": "гугл","Google": {"lang": "en-us","медленно": ложь}},...~

  • чтобы использовать espeak tts вместо пакета mycroft mimic :

    • (не забудьте сначала установить пакет espeak)
      ~ json..."tts": {"модуль": "espeak","espeak": {"lang": "en"}},...~

пинг @KathyReid

Будет ли Google TTS работать локально? Нужно ли для этого устанавливать какой-либо пакет?

Google TTS не работает локально, это удаленный сервис. (Но для этого майкрофт-серверы не нужны)

@YogeshSingla , Google TTS - это удаленный, но бесплатный сервис. Вам тоже не нужна регистрация. Но я думаю, что работа этого сервиса не гарантируется. Это реализовано с использованием пакета Python gTTS . Вроде не поддерживается самим Google.

Я рекомендую espeak как простое и локальное решение. Качество небольшое, но надежное.

Вы должны сначала установить пакет espeak , чтобы использовать его:
~sudo apt-get install espeak~

Просто любопытно, зачем вам использовать espeak для локальных tts вместо Mimic, который также работает локально? Я могу думать о свободных причинах, честно говоря, мне просто интересно ваше.

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

@penrods

Я знаю, что Espeak имеет довольно низкое качество по сравнению с Mimic, Google TTS и другими, но также
имеет много преимуществ:

  1. Мимика требует долгой сборки. Я не нашел простого руководства по установке Mimic в виде предварительно скомпилированного пакета. Когда я настраиваю mycroft-core , я предпочитаю установить skip mimic option ( bash dev_setup.sh -sm ).
    Espeak - это стандартный пакет Debian, поэтому его очень легко установить и использовать.

  2. Espeak поддерживает множество языков, включая мой родной чешский. Я не видел списка поддерживаемых языков в документации Mimic . Думаю, он сильно ориентирован на английский (по понятным причинам).

  3. Espeak имеет очень быстрый отклик, что очень полезно, особенно на этапе разработки. Возможно, у мимиков это так, но не проверял.

  4. По этим причинам я нашел его лучшим решением для целей разработки.

picotts работает так же быстро, но имеет лучшее качество вывода, насколько я знаю (не знаю о чешском) - я не знаю, можно ли в настоящее время использовать его с Mycroft из коробки.

Меня также интересует независимый Майкрофт, работа которого не зависит от подключения к Интернету.

Одна из наших целей - переместить как можно больше этого «локально», но в целом мы хотим поддерживать все языки. А пока мы стремимся получить не просто игрушку, а жизнеспособного помощника. Итак, на данный момент мы решили использовать некоторые облачные сервисы, в то время как мы работали независимо и с партнерами над созданием технологий, необходимых для достижения полной автономной работы.

Таким образом, пока что мы не собираемся фокусировать ресурсы разработки на поддержке того, что, несомненно, является неудовлетворительным пользовательским интерфейсом с движками TTS старого поколения. Вы _абсолютно_ можете отправлять PR, если хотите это увидеть, но основная команда сосредоточена на создании открытых технологий, таких как DeepSpeech и Mimic / Mimic2, вместо того, чтобы отступать в производительности, а также идти по технологическим переулкам, у которых нет хороший способ поддержки других языков.

Если вы хотите внести некоторые изменения в сценарии или документацию dev_setup.sh для поддержки альтернативных движков TTS, я буду рад их принять. Но я действительно не считаю это шагом вперед в целом.

Надеюсь, это не покажется пренебрежительным, мы просто ограничены в нашем времени и должны выбирать, чем заняться.

@penrods Это не был запрос на добавление пиктограмм, а просто совет для указанного выше пользователя и других, кто может захотеть узнать. Запрос функции здесь предназначен для обеспечения возможности автономного использования (что я бы понял, если бы это не было в интересах компании, которой нужно как-то зарабатывать на жизнь).

Полностью понимаю, просто объяснив, почему мы не спешим добавлять поддержку пиктограмм и тому подобное! Я думаю, что мимика сегодня вполне жизнеспособна в качестве автономного движка TTS (да, его создание требует времени, то есть разового). Мы работаем над несколькими другими вещами для «автономного» STT - в ближайшем будущем мы действительно будем больше ориентироваться на «персональное облако».

Мне грустно это слышать. В настоящее время я работаю над решением для безоблачного умного дома. По умолчанию он никак не подключается к облаку.

Я изучаю, может ли MyCroft быть хорошим решением для голосового управления. Но если для какой-либо установки требуется подключение к облаку, я не могу его использовать.

Для моей целевой аудитории ограничение разговора только на английском языке является приемлемым компромиссом, по крайней мере, до тех пор, пока периферийное оборудование для машинного обучения не станет обычным явлением.

Я также заметил, что MyCroft действительно построил версию движка Tacotron TTS? Разве это не дало приемлемых результатов?
https://github.com/MycroftAI/mimic2

Есть некоторый прогресс, есть личный бэкэнд- проект. Однако этот проект по-прежнему в значительной степени WIP, и, как указано выше для STT, вам нужно будет использовать что-то вроде backend deepspeech_server с локальным экземпляром deepspeech, работающим на мощной машине в локальной сети.

Тем временем Selene-Backend (программный стек, стоящий за home.mycroft.ai) стал общедоступным.

Поскольку я думаю, что большая часть, если не все конфигурации здесь уже описаны в документации, и Селена была выпущена, я закрываю эту проблему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги