Skip to content

TTS de Google

Después de mucho tiempo de estarlo esperando, ya tenemos solución para el TTS de Google en Home Assistant. El Text-to-Speech (TTS) permite que Home Assistant hable contigo, es decir, que te mande notificaciones.

Código a copier en configuration.yaml

tts:
  - platform: google_translate

Automatización de ejemplo.

- id: '1607270421988'
  alias: tts new
  description: ''
  trigger:
  - platform: time
    at: '16:05'
  condition: []
  action:
  - service: tts.google_translate_say
    data:
      entity_id: media_player.salon
      language: es
      message: Este es otro mensaje de prueba para ver si esto funciona!!
  mode: single
Índice de contenido

    Mira el vídeo!

    Los siguientes parámetros opcionales se pueden utilizar con cualquier plataforma. Sin embargo, la integración TTS solo buscará configuraciones globales bajo la configuración de la primera plataforma configurada:

    VARIABLES DE CONFIGURACIÓN

    caché booleano ( opcional , predeterminado: verdadero )

    Permita que TTS almacene en caché el archivo de voz en el almacenamiento local.cadena cache_dir ( opcional , predeterminado: tts )

    Nombre de carpeta o ruta a una carpeta para almacenar archivos en caché.time_memory integer ( opcional , predeterminado: 300 )

    Es hora de guardar los datos de voz en la memoria para una reproducción rápida en un reproductor multimedia. El mínimo es 60 sy el máximo 57600 s (16 horas).cadena base_url ( opcional , predeterminado: valor de la URL interna )

    Una URL base para usar en lugar de la establecida en la configuración de Home Assistant . El ttscomponente lo utiliza tal cual . En particular, debe incluir el esquema de protocolo http://https://y el número de puerto correcto. No se agregarán automáticamente.service_name string ( opcional)

    Defina el nombre del servicio.

    El nombre de servicio predeterminado establecido en _decir. Por ejemplo, para google_translate tts, su nombre de servicio predeterminado es google_translate_say.

    El ejemplo extendido de arriba se vería como el siguiente ejemplo:

    tts:
      - platform: google_translate
        cache: true
        cache_dir: /tmp/tts
        time_memory: 300
        base_url: http://192.168.0.10:8123
        service_name: google_say

    _urlestá personalizado para esta configuración de plataforma TTS en particular. No sugiere que utilice la URL interna que ha establecido para la configuración principal de Home Assistant. La razón por la que podría necesitar hacer esto se describe en la siguiente sección.

    ¿Cuándo necesitas establecer base_url aquí?

    La respuesta general es «siempre que la URL interna global establecida en la configuración de Home Assistant no sea adecuada para permitir la sayejecución del servicio». El sayservicio opera generando un archivo multimedia que contiene el discurso correspondiente al texto que se pasa al servicio. Luego, el sayservicio envía un mensaje al dispositivo multimedia con una URL que apunta al archivo. El dispositivo obtiene el archivo multimedia en la URL y reproduce el contenido multimedia. Algunas combinaciones de dispositivo multimedia, configuración de red y configuración de Home Assistant pueden hacer que el dispositivo no pueda recuperar el archivo multimedia.

    Las siguientes secciones describen algunos de los problemas encontrados con los dispositivos multimedia.

    CERTIFICADOS AUTOFIRMADOS

    Este problema ocurre cuando su instancia de Home Assistant está configurada para ser accedida a través de SSL y está utilizando un certificado autofirmado en su URL interna.

    El ttsservicio enviará una https://URL al dispositivo multimedia, que comprobará el certificado y lo rechazará. Entonces no reproducirá su archivo. Si pudiera hacer que el dispositivo aceptara su certificado, reproduciría el archivo. Sin embargo, muchos dispositivos multimedia no permiten cambiar la configuración para aceptar certificados autofirmados. En última instancia, su opción puede ser entregar archivos a dispositivos locales en http://lugar de https://.

    DISPOSITIVOS GOOGLE CAST

    Los dispositivos Google Cast (Google Home, Chromecast, etc.) presentan los siguientes problemas:

    • Se rechazan los certificados de firma propia .
    • No funcionan con URL que contienen nombres de host establecidos por medios de denominación local. Digamos que su instancia de Home Assistant se está ejecutando en una máquina conocida localmente como ha. Todas sus máquinas en su red local pueden acceder a él como ha. Sin embargo, por más que lo intente, su dispositivo de transmisión no descargará los archivos multimedia de su hamáquina. Eso es porque su dispositivo de transmisión ignora su configuración de nombres local. En este ejemplo, el sayservicio crea una URL como http://ha/path/to/media.mp3(o https://...si está utilizando SSL). Si está no utiliza SSL, el establecimiento de una dirección URL interna que contiene la dirección IP de su servidor funciona en torno a este tema. Al usar una dirección IP, el dispositivo de transmisión no tiene que resolver el nombre de host.
    • Si está utilizando un SSL (por ejemplo, https://yourhost.example.org/...), debe utilizar el nombre de host en el certificado (por ejemplo, base_url: https://yourhost.example.org). No puede utilizar una dirección IP ya que el certificado no será válido para la dirección IP y el dispositivo de transmisión rechazará la conexión.

    Servicio dice

    El saysoporte de servicio languagey en algunas plataformas también optionspara el sistema, es decir, voz, movimiento, velocidad, etc . El texto para voz se establece con message. Desde la versión 0.92, el nombre del servicio se puede definir en la service_nameopción de configuración .

    Diga a todas las media_player entidades del dispositivo:

    # Replace google_translate_say with <platform>_say when you use a different platform.
    service: tts.google_translate_say
    entity_id: "all"
    data:
      message: 'May the Force be with you.'

    Dile a la media_player.floor entidad del dispositivo:

    service: tts.google_translate_say
    entity_id: media_player.floor
    data:
      message: 'May the Force be with you.'

    Dile a la media_player.floor entidad del dispositivo en francés:

    service: tts.google_translate_say
    entity_id: media_player.floor
    data:
      message: 'Que la force soit avec toi.'
      language: 'fr'

    Con una plantilla:

    service: tts.google_translate_say
    data:
      message: "Temperature is {{states('sensor.temperature')}}."
      cache: false

    Cache

    La integración tiene dos cachés. Ambas cachés se pueden controlar con la cacheopción en la configuración de la plataforma o la llamada de servicio say. Se ubicará una caché de mucho tiempo en el sistema de archivos. La memoria caché en memoria para respuestas rápidas a los reproductores multimedia se limpiará automáticamente después de un breve período.

    API REST

    POST / API / TTS_GET_URL

    Devuelve una URL al archivo TTS generado. Se requieren plataforma y mensaje.

    {
        "platform": "amazon_polly",
        "message": "I am speaking now"
    }

    El código de retorno es 200 si se genera el archivo. El cuerpo del mensaje contendrá un objeto JSON con la URL.

    {
        "url": "http://127.0.0.1:8123/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd_en_-_demo.mp3"
    }

    Comando de muestra :

    $ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
           -H "Content-Type: application/json" \
           -d '{"message": "I am speaking now", "platform": "amazon_polly"}' \
           http://localhost:8123/api/tts_get_url

    Sígueme en Youtube!

    Sígueme en Youtube
    Sígueme en Youtube

    Related Posts

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Comments (12)

    […] recibir de muchas formas, por Telegram, por Alexa y si somos de los afortunados que nos funciona el tts de Google, también por los altavoces de Google podremos recibir las […]

    Responder

    Howdy! This article couldn’t be written any better! Going through this post reminds me of my previous roommate! He constantly kept preaching about this. I most certainly will send this article to him. Pretty sure he’ll have a good read. Thanks for sharing!

    Responder

    Thank you for your comment! I’m glad to hear that you enjoyed reading my article about Google TTS. It’s great to know that the article reminded you of your previous roommate who also enjoyed the topic. I hope your roommate finds the article informative and engaging as well. Thank you for sharing it with him, and feel free to share my other articles as well. Let me know if you have any questions or if there’s anything else I can assist you with.

    Responder

    I’m always happy watching him work hard on the book work.

    Responder

    Great to hear that you’re always happy watching the reader work hard on their book work! Hard work and dedication are crucial to making progress in any area, including language learning. It’s important to continue supporting the reader in their efforts and providing them with the resources and guidance they need to succeed. Encourage the reader to keep up the great work and celebrate their achievements along the way!

    Responder

    After a few readings, he has a good understanding of most of the Reading he does.gramar

    Responder

    It’s great to hear that after a few readings, the reader is able to understand most of what they read. This is a sign of progress and improvement in their reading skills. Reading regularly and challenging oneself with more complex texts can further improve comprehension. Keep up the good work and keep reading!

    Responder

    After a few readings, he has a good understanding of most of the Reading he does.

    Responder

    Your style is unique in comparison to other people I’ve read stuff from. I appreciate you for posting when you have the opportunity, Guess I will just bookmark this blog.

    Responder

    Thank you, Sabine! It’s an honor to be bookmarked among your favorites. Hope to see you again son!

    Responder

    Good post. I learn something totally new and challenging on websites I stumbleupon on a daily basis. It will always be exciting to read through articles from other writers and practice a little something from their websites.

    Responder

    That’s great, Gail! Learning something new every day is the beauty of the web. Thanks for your kind words!

    Responder
    Ajustes