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')