Mycroft-core: 在家中使用 mycroft

创建于 2018-05-04  ·  17评论  ·  资料来源: MycroftAI/mycroft-core

我想在没有 Home(mycroft 帐户)的情况下使用 mycroft 设置我自己的 Google STT api 密钥。 我找不到确切的描述。 我无法根据简短的描述来做到这一点: https://github.com/MycroftAI/mycroft-core#using-mycroft-without-home

请问,我在哪里可以找到相关指南?

谢谢。

最有用的评论

好的,谢谢回复。

看到一个代码,我找到了设置一些有用东西的方法。 我将它们粘贴在这里供其他人使用。 我建议将它们包含在文档中。

本地配置的一些修改/home/mycroft/.mycroft/mycroft.conf

  • 使用自定义 Google Cloud Speech API 密钥(填写您自己的凭据 json):

~json...“stt”:{“模块”:“google_cloud”,“谷歌云”:{“凭据”:{“json”:{}}}},...~

  • 使用 google tts 而不是 mycroft mimic包:
    ~json...“tts”:{“模块”:“谷歌”,“谷歌”: {"lang": "en-us",“慢”:假}},...~

  • 使用 espeak tts 而不是 mycroft mimic包:

    • (不要忘记先安装espeak包)
      ~json...“tts”:{"module": "espeak",“说”:{"lang": "en"}},...~

所有17条评论

我不知道如何禁用对 api.mycroft.ai 的依赖。

1)我设置了自定义 google_cloud stt API 密钥。

2)我在/home/mycroft/.mycroft/mycroft.conf中设置了“server.update”:false

但我在日志中仍然有这些行:

~14:48:28.473-requests.packages.urllib3.connectionpool-调试-重置断开的连接: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 - DEBUG - 启动新的 HTTPS 连接(1):api.mycroft.ai14:48:29.645 - requests.packages.urllib3.connectionpool - DEBUG - https://api.mycroft.ai :443 "GET /v1/auth/token HTTP/1.1" 401 38~

为什么?

不幸的是,我发现 mycroft 文档对于高级游戏来说非常不完整。 需要检查特定配置的源代码。

  • 据说:“你可以在没有家的情况下使用 mycroft。”,但没有提供示例配置。
  • 这是sadi:“您可以使用自己的Google API 密钥。” 但没有为此提供示例配置。

这是一个非常有趣的项目,我喜欢它,但请改进文档

@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”,“谷歌云”:{“凭据”:{“json”:{}}}},...~

  • 使用 google tts 而不是 mycroft mimic包:
    ~json...“tts”:{“模块”:“谷歌”,“谷歌”: {"lang": "en-us",“慢”:假}},...~

  • 使用 espeak tts 而不是 mycroft mimic包:

    • (不要忘记先安装espeak包)
      ~json...“tts”:{"module": "espeak",“说”:{"lang": "en"}},...~

@KathyReid

Google TTS 可以在本地使用吗? 我们是否必须为它安装任何软件包?

Google TTS 不在本地工作,它是一项远程服务。 (但你不需要 mycroft-servers)

@YogeshSingla ,Google TTS 是远程但免费的服务。 您也不需要任何注册。 但我认为不能保证这项服务的工作。 它是使用 Python gTTS包实现的。 Google 本身似乎不支持它。

我推荐 espeak 作为一个简单的本地解决方案。 它的质量不大,但很可靠。

您必须首先安装espeak包才能使用它:
~sudo apt-get install espeak~

只是好奇,你为什么要为本地 tts 使用 espeak 而不是 Mimic,后者也在本地运行? 我能想到一个免费的理由,老实说,我只是想知道你的理由。

我也对避免使用 Home 的原因同样感兴趣。 同样,我可以想到一些,但如果您愿意分享,我想知道您的想法。

@penrods

我知道与 Mimic、Google TTS 等相比,Espeak 的质量相当低,但它也
有很多优点:

  1. 模仿需要长时间的构建。 我没有找到任何关于如何将 Mimic 安装为预编译包的简单指南。 当我设置mycroft-core 时,我宁愿设置skip mimic选项( bash dev_setup.sh -sm )。
    Espeak 是一个标准的 Debian 软件包,所以它非常容易安装和使用。

  2. Espeak 支持多种语言,包括我的母语捷克语。 我在Mimic 的文档中没有看到任何支持的语言列表。 我想它非常关注英语(出于可以理解的原因)。

  3. Espeak 的响应速度非常快,这在开发阶段非常有用。 Mimics 可能有它,但没有测试它。

  4. 由于这些原因,我发现它是用于开发目的的最佳解决方案。

picotts 同样快,但输出质量更好,据我所知(不知道捷克语) - 我不知道目前是否可以在 Mycroft 开箱即用地使用它。

我也有兴趣拥有一个独立的 Mycroft,它不依赖于互联网连接来工作。

我们的目标之一是尽可能多地在“本地”移动,但总体而言,我们希望支持所有语言。 与此同时,我们的目标是拥有一个可行的助手,而不仅仅是一个玩具。 因此,目前我们选择使用一些云服务,同时我们独立工作并与合作伙伴一起构建实现完全离线操作所需的技术。

因此,在此期间,我们不会集中开发资源来支持老一代 TTS 引擎无可争议的劣质用户体验。 如果你想看到这个,_绝对_欢迎你提交 PR,但核心团队专注于构建像 DeepSpeech 和 Mimic/Mimic2 这样的开放技术,而不是在性能上退步,也没有走上没有支持其他语言的好方法。

如果您想对 dev_setup.sh 脚本或文档提交一些更改以支持替代 TTS 引擎,我很乐意将它们拉进来。但我真的不认为这是总体上的进步。

我希望这不会显得不屑一顾,我们只是时间有限,必须选择我们要解决的问题。

@penrods这不是添加 picotts 的功能请求,只是给上面的用户和其他可能想知道的人的提示。 这里的功能请求是为了使离线使用成为可能(如果这不符合需要以某种方式谋生的公司的利益,我会理解)。

完全理解,只是解释为什么我们不增加对 picotts 等的支持! 我认为现在 mimim 作为离线 TTS 引擎是完全可行的(是的,构建需要一段时间,这是一次性的)。 我们正在为“离线”STT 做其他几件事——在短期内更多的是“个人云”方法。

我很伤心听到它。 我目前正在研究无云智能家居解决方案。 默认情况下,它不会以任何方式连接到云。

我正在探索 MyCroft 是否可以成为语音控制的一个很好的解决方案。 但是如果任何安装都必须有云连接,我就不能使用它。

对于我的目标受众来说,只说英语的限制是一个可以接受的权衡,至少在边缘机器学习硬件变得普遍之前。

我还注意到 MyCroft 实际上已经构建了一个版本的 Tacotron TTS 引擎? 它没有提供可接受的结果吗?
https://github.com/MycroftAI/mimic2

有一些进展,有个人后端项目。 然而,这个项目仍然非常在制品,如上所述,对于 STT,您需要使用类似 deepspeech_server 后端和在本地网络上的强大机器上运行的 deepspeech 本地实例的东西。

与此同时, Selene-Backend (home.mycroft.ai 背后的软件栈)已经向公众开放。

我认为这里的大部分配置现在都包含在文档中,并且 Selene 已经发布,我正在关闭这个问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Zacki84 picture Zacki84  ·  10评论

InconsolableCellist picture InconsolableCellist  ·  8评论

fermulator picture fermulator  ·  6评论

mghoffmann picture mghoffmann  ·  6评论

damorosodaragona picture damorosodaragona  ·  5评论