[PYTHON] J'ai demandé à google-home d'effectuer la conférence de beauté

Motivation pour la création

Vous pouvez faire en sorte que google-home parle avec python, mais ce n'est pas amusant de dire un mot, donc je voulais le faire parler comme une conversation

Qu'est-ce qu'une rencontre beauté?

Voir [Salle de réunion NEOGEO] dans ici

La source

talk.py


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import time
import datetime
import pychromecast
from gtts import gTTS
from mutagen.mp3 import MP3

#Google par adresse IP-Spécifiez la maison
googleHome = pychromecast.Chromecast('192.168.0.xx')

if not googleHome.is_idle:
    googleHome.quit_app()
    time.sleep(5)

f = open('./script.txt', 'r') #Préparez un texte qui décrit la conversation
line = f.readline()

while line:
  #Parlez ligne par ligne
  print(line.strip())

  savefile = "voice-%s.mp3" % datetime.datetime.now().strftime('%Y%m%d-%H%M%S')
  savepath = "/tts/%s" % savefile

  try:
    #Convertir en données vocales avec Google speech en texte et enregistrer
    tts = gTTS(text=line.strip(), lang='ja')
    tts.save(savepath)
  except:
    continue
  finally:
    line = f.readline()

  #Obtenir des informations sur les fichiers mp3
  audio = MP3(savepath)

  #Le chemin de sauvegarde ci-dessus est publié en tant qu'emplacement accessible depuis le Web
  mp3url = "https://(domainname)/tts/%s" % savefile;

  #Laisser google home parler mp3
  googleHome.wait()
  googleHome.media_controller.play_media(mp3url, 'audio/mp3')
  googleHome.media_controller.block_until_active()

  #Si la conversation suivante commence pendant que vous parlez, elle s'arrêtera à mi-chemin, donc
  #Attendez le nombre de secondes de données de conversation
  time.sleep(audio.info.length)

f.close()

exemple de script.txt

Salut! Le beau personnage de la légende du loup affamé, ~
Je le ferai même si je n'ai pas la peine de l'expliquer ~
Tachibana, un beau personnage de Samurai Spirits

commander

docker run -v /script:/data -v /tts/:/tts toru2220/google-home-python python talk.py

Fonctionnement réel

Recommended Posts

J'ai demandé à google-home d'effectuer la conférence de beauté
J'ai compté les grains