部分と全体

知識の巣窟

Pythonにしゃべらせてみたよ Part.2 | Google APIさんの声

前回はWindowsのSAPIさんを使ってPythonにしゃべってもらいました。 今回はGoogleAPIさんにしゃべってもらおうと思います。

おしゃべり

パッケージはgTTSというのを使います。(いつまで使えるかはわからんそうです) gTTS — gTTS documentation

gTTS インストール🐶

pip install gTTS

ひとまず日本語と英語に対応するようにメニュー化しました。 Googleはいろんな言語に対応してるそうなので、コードをいじって試してみてください。

しゃべってもらいたい言葉を入力するか、ペーストすれば 同じフォルダにmp3ファイルとテキストファイルで保存して、作成したmp3ファイルを試しに再生してくれます。 SAPIよりは聞きやすいかな?

Python コード

# -*- coding: utf-8 -*-
"""
Created on Wed May 12 23:08:53 2021
@author: kz713hatena
using gTTS, module
https://gtts.readthedocs.io/en/latest/index.html
"""
from gtts import gTTS
import win32com.client
from datetime import datetime
import webbrowser

# In[1]:
# ===========================================
# Preparation
# ===========================================

now = datetime.now()
today = now.date()

#Menu
print('Menu: \n')

#Select Langage
Lang=input('Please choose speaking language | 1:ja, 2:en -  ')

if Lang == str(1):
    slang='ja'
    print('Japanese Mode')
elif Lang == str(2):
    slang='en'
    print('English Mode') 

#input speak contents
contents = input('what shall I speak? \n')

#speaking
s = contents
tts = gTTS(s, lang=slang)
    
# In[2]:   
# ===========================================
# Create Voice mp3 file and text file
# ===========================================

print('Generating...')

filename = f'{today} - {contents[:12]}'
tts.save(f'{filename}.mp3')

# UTF-8 を指定してファイルを出力する
with open(f'{filename}.txt', "w", encoding='UTF-8') as f:
    f.write(contents)
    f.close()

# Load `mp3_fp` as an mp3 file in the audio library of your choice
# mp3_fp = BytesIO()
# tts.write_to_fp(mp3_fp)

# ===========================================
# Speak generated voice by webbrowser pkg
# ===========================================

webbrowser.open(f'{filename}.mp3')

print('Saved: ' + f'{filename}.mp3')
print('Done')