Mycroft-core: Usando mycroft sin casa

Creado en 4 may. 2018  ·  17Comentarios  ·  Fuente: MycroftAI/mycroft-core

Me gustaría usar mycroft sin que Home (cuenta de mycroft) configure mi propia clave de API de Google STT. No puedo encontrar una descripción exacta de eso. No puedo hacerlo de acuerdo con la breve descripción hele: https://github.com/MycroftAI/mycroft-core#using-mycroft-without-home .

Por favor, ¿dónde puedo encontrar una guía para eso?

Gracias.

Comentario más útil

Ok, gracias por la respuesta.

Al ver un código, encontré la manera de configurar algunas cosas útiles. Los estoy pegando aquí para los demás. Recomendaría incluirlos en la documentación.

Algunas modificaciones de la configuración local /home/mycroft/.mycroft/mycroft.conf

  • para usar la clave API personalizada de Google Cloud Speech (complete sus propias credenciales json):

~ json..."stt": {"módulo": "google_cloud","google_cloud": {"credencial": {"json": {}}}},...~

  • para usar google tts en lugar de mycroft mimic paquete:
    ~ json..."tts": {"módulo": "google","Google": {"lang": "en-us","lento": falso}},...~

  • para usar espeak tts en lugar de mycroft mimic paquete:

    • (no olvide instalar el paquete espeak en primer lugar)
      ~ json..."tts": {"módulo": "espeak","espeak": {"lang": "en"}},...~

Todos 17 comentarios

No sé cómo deshabilitar la dependencia en api.mycroft.ai.

1) Configuré una clave API personalizada de google_cloud stt.

2) Configuré "server.update": false en /home/mycroft/.mycroft/mycroft.conf

Pero todavía tengo estas líneas en el registro:

~14: 48: 28.473 - solicitudes.paquetes.urllib3.connectionpool - DEPURACIÓN - Restablecimiento de la conexión interrumpida: api.mycroft.ai14: 48: 29.084 - request.packages.urllib3.connectionpool - DEBUG - https://api.mycroft.ai : 443 "GET / v1 / device HTTP / 1.1" 401 3814: 48: 29.104 - request.packages.urllib3.connectionpool - DEBUG - Iniciando una nueva conexión HTTPS (1): api.mycroft.ai14: 48: 29.645 - request.packages.urllib3.connectionpool - DEBUG - https://api.mycroft.ai : 443 "GET / v1 / auth / token HTTP / 1.1" 401 38~

¿Por qué?

Desafortunadamente, encontré la documentación de mycroft muy incompleta para el juego avanzado. Es necesario inspeccionar el código fuente para una configuración específica.

  • Se dice: "Puedes usar mycroft sin casa", pero no se proporciona una configuración de ejemplo.
  • Es sadi: "Puedes usar tu propia clave API de Google". pero no se proporciona una configuración de ejemplo para eso.

Es un proyecto muy interesante y me gusta pero MEJORAR LA DOCUMENTACIÓN , por favor.

Hola @Josca , estamos trabajando continuamente en la documentación pero, como ves, hay lagunas.

Si google_cloud stt está configurado correctamente, debería poder hablar con mycroft y preguntar cosas como la hora.

Debe incluir en la lista negra la habilidad de emparejamiento y la habilidad de configuración en la configuración agregando una entrada:

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

Es posible que aún vea conexiones fallidas a los servidores de mycroft debido a cosas como la configuración de habilidades. Creo que todavía no respetan el valor de actualización.

Ok, gracias por la respuesta.

Al ver un código, encontré la manera de configurar algunas cosas útiles. Los estoy pegando aquí para los demás. Recomendaría incluirlos en la documentación.

Algunas modificaciones de la configuración local /home/mycroft/.mycroft/mycroft.conf

  • para usar la clave API personalizada de Google Cloud Speech (complete sus propias credenciales json):

~ json..."stt": {"módulo": "google_cloud","google_cloud": {"credencial": {"json": {}}}},...~

  • para usar google tts en lugar de mycroft mimic paquete:
    ~ json..."tts": {"módulo": "google","Google": {"lang": "en-us","lento": falso}},...~

  • para usar espeak tts en lugar de mycroft mimic paquete:

    • (no olvide instalar el paquete espeak en primer lugar)
      ~ json..."tts": {"módulo": "espeak","espeak": {"lang": "en"}},...~

ping @KathyReid

¿Google TTS funcionará localmente? ¿Tenemos que instalar algún paquete para ello?

Google TTS no funciona localmente, es un servicio remoto. (Pero no necesita los servidores mycroft para ello)

@YogeshSingla , Google TTS es un servicio remoto pero gratuito. No necesitas ningún registro también. Pero creo que no está garantizado el funcionamiento de este servicio. Está implementado usando el paquete Python gTTS . Parece que Google no lo admite.

Recomiendo espeak como una solución simple y local. Su calidad no es grande pero es confiable.

Primero debe instalar el paquete espeak para usarlo:
~sudo apt-get install espeak~

Solo por curiosidad, ¿por qué usarías espeak para tts locales en lugar de Mimic, que también se ejecuta localmente? Puedo pensar en razones gratuitas, honestamente, me pregunto las tuyas.

También estoy igualmente interesado en las razones para evitar Home. Una vez más, puedo pensar en algunos, pero me gustaría saber lo que piensas si estarías dispuesto a compartirlos.

@penrods

Sé que Espeak tiene una calidad bastante baja en comparación con Mimic, Google TTS y otros, pero también
tiene muchas ventajas:

  1. Mimic requiere una construcción larga. No encontré ninguna guía sencilla sobre cómo instalar Mimic como un paquete precompilado. Cuando configuro mycroft-core , prefiero configurar la opción skip mimic ( bash dev_setup.sh -sm ).
    Espeak es un paquete estándar de Debian, por lo que es muy fácil de instalar y usar.

  2. Espeak admite muchos idiomas, incluido mi idioma nativo, el checo. No vi ninguna lista de idiomas admitidos en los documentos de Mimic . Supongo que está muy centrado en el inglés (por razones comprensibles).

  3. Espeak tiene una respuesta muy rápida que es muy útil, especialmente durante la fase de desarrollo. Mimics tal vez lo tenga, pero no lo probó.

  4. Por estas razones, lo encontré como la mejor solución para propósitos de desarrollo.

picotts es igualmente rápido, pero tiene una mejor calidad de salida, hasta donde yo sé (no sé sobre el checo). No sé si actualmente es posible usarlo con Mycroft listo para usar.

También estoy interesado en tener un Mycroft independiente que no dependa de la conexión a Internet para funcionar.

Uno de nuestros objetivos aquí es mover tanto de esto "localmente" como sea posible, pero en general queremos admitir todos los idiomas. Mientras tanto, también nuestro objetivo es tener un asistente viable, no solo un juguete. Por lo tanto, en este momento hemos optado por utilizar algunos servicios en la nube mientras trabajamos de forma independiente y con socios para desarrollar la tecnología necesaria para lograr una operación completa fuera de línea.

Por lo tanto, mientras tanto, no vamos a concentrar los recursos de desarrollo para respaldar lo que son experiencias de usuario indiscutiblemente inferiores con los motores TTS de generaciones anteriores. Usted es _absolutamente_ bienvenido a enviar PR si desea ver esto, pero el equipo central se enfoca en construir tecnologías abiertas como DeepSpeech y Mimic / Mimic2 en lugar de retroceder en rendimiento y también ir por callejones tecnológicos que no tienen un buena ruta para admitir otros idiomas.

Si desea enviar algunos cambios a los scripts dev_setup.sh o al documento para admitir motores TTS alternativos, me complace incorporarlos. Pero realmente no lo veo como un paso adelante en general.

Espero que esto no parezca desdeñoso, simplemente estamos limitados en nuestro tiempo y tenemos que elegir lo que abordamos.

@penrods Esta no fue una solicitud de función para agregar picotts, solo un consejo para el usuario anterior y otros que quieran saberlo. La solicitud de función aquí es para hacer posible el uso fuera de línea (lo que entendería si no fuera en el interés de una empresa que necesita ganarse la vida de alguna manera).

¡Entiendo totalmente, solo explicando por qué no estamos agregando soporte para picotts y demás! Creo que la mímica es perfectamente viable como motor TTS sin conexión en la actualidad (sí, lleva un tiempo construirlo, es decir, una sola vez). Estamos trabajando en varias otras cosas para STT "sin conexión", en realidad más un enfoque de "nube personal" a corto plazo.

Me entristece escucharlo. Actualmente estoy trabajando en una solución de hogar inteligente sin nubes. De forma predeterminada, no se conecta a la nube de ninguna manera.

Estoy explorando si MyCroft podría ser una buena solución para el control por voz. Pero si alguna instalación debe tener una conexión a la nube, no puedo usarla.

Para mi público objetivo, la limitación de solo hablar en inglés es una compensación aceptable, al menos hasta que el hardware de aprendizaje automático perimetral se convierta en algo común.

También noté que MyCroft realmente ha construido una versión del motor Tacotron TTS. ¿No ofreció resultados aceptables?
https://github.com/MycroftAI/mimic2

Ha habido algunos avances, está el proyecto de backend personal . Sin embargo, este proyecto todavía es en gran medida WIP y, como se indicó anteriormente para STT, necesitaría usar algo como el backend deepspeech_server con una instancia local de deeppeech ejecutándose en una máquina poderosa en la red local.

Mientras tanto, Selene-Backend (la pila de software detrás de home.mycroft.ai) se ha puesto a disposición del público.

Como creo que la mayoría, si no todas, las configuraciones aquí están cubiertas por la documentación ahora y Selene ha sido liberado, estoy cerrando este problema.

¿Fue útil esta página
0 / 5 - 0 calificaciones