0
0

Google Nest Miniを喋らせる

Posted at

はじめに

  • 我が家にGoogle Homeが4台ほどあるので活用したいので、とりあえずやってみる

結論ファースト

できた。

import pychromecast
from gtts import gTTS
import io
import base64

# テキストを音声に変換
message = "昔々、あるところにおじいさんとおばあさんがほにゃらら"
tts = gTTS(message, lang='ja')

# 音声をバイトストリームとして保存
audio_stream = io.BytesIO()
tts.write_to_fp(audio_stream)
audio_stream.seek(0)

# Google Nest Homeを探す
chromecasts, browser = pychromecast.get_chromecasts()
# とりあえず名前で探す
cast = next((cc for cc in chromecasts if cc.name == "1階Nest"), None)

if cast:
    cast.wait()
    mc = cast.media_controller
    
    # 音声データをメモリ上で再生    
    mc.play_media("data:audio/mp3;base64," + base64.b64encode(audio_stream.getvalue()).decode(), 'audio/mp3')
    mc.block_until_active()
else:
    print("1階Nestという名前のデバイスが見つかりません")    

備考

  • 文字列を音声ファイルにしたものをアップロードして、その音声ファイルのURLを関数に渡すやり方があるみたいだけど、今回はストリームでやってるのがポイントです。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0