今回はgTTSライブラリを使って、Google音声認識の結果をGoogle Text-to-Speech で音声に戻してみた。つまり音声認識と音声合成(TTS)の両方でオンラインのサービスを使ってみた、というわけである。
pip3 install SpeechRecognition pip3 install gTTS
としてインストールした後に以下のスクリプト。
音声はmp3で保存するというユニークな仕様。
#!/usr/bin/env python3 # pip3 install SpeechRecognition # pip3 install gTTS import speech_recognition as sr import subprocess from gtts import gTTS out_mp3 = '/tmp/synth.mp3' if __name__ == "__main__": # マイクからの音声入力 r = sr.Recognizer() with sr.Microphone() as source: print("話しかけてみましょう!") r.adjust_for_ambient_noise(source) audio = r.listen(source) try: # 日本語でGoogle音声認識 text = r.recognize_google(audio, language="ja") except sr.UnknownValueError: print("Google音声認識は音声を理解できませんでした。") except sr.RequestError as e: print("Google音声認識サービスからの結果を要求できませんでした;" " {0}".format(e)) else: print(text) # Google TTS tts = gTTS(text=text, lang='ja') tts.save(out_mp3) # mp3で音声を保存する仕様 subprocess.run('afplay ' + out_mp3, shell=True)