##音声発話させよう
####環境
ubuntu 18.04
python3
##日本語を発話
日本語の発話はOpenJtalkでできます、以下のQiitaが分かりやすいです.
OpenJTalk + python で日本語テキストを発話
##英語を発話
英語での音声発話は, espeakとsvoxpico を紹介します.
####espeak
環境構築は以下のコマンドでインストールします.
$sudo apt-get install espeak
動作確認
from subprocess import call
call(["espeak","hello world"])
####svoxpico
環境構築は以下のコマンドでインストールします.
sudo apt-get install -y libttspico-utils
動作確認
注意!ファイル名はmodule_pico.pyにしています、
他の名前で作成する場合、# Define path の部分を変えないと動作しません.
module_pico.py
import os
import subprocess
file_path = os.path.abspath(__file__)
# Define path
speech_wave = file_path.replace('/module_pico.py', '/speech.wav')
def speak(content):
print("[*] SPEAK : {0}".format(content),flush=True)
#subprocess.call('amixer sset Master 90% -q --quiet', shell=True) # big voice
subprocess.call(['pico2wave', '-w={}'.format(speech_wave), content])
subprocess.call('aplay -q --quiet {}'.format(speech_wave), shell=True)
#subprocess.call('amixer sset Master 75% -q --quiet', shell=True) # default voice
if __name__ == '__main__':
speak("I like apple!")
モジュールとして使う場合、同じフォルダ内で以下のようにすれば発話できます。
ファイル名は気にしなくて大丈夫です。
test.py
import module_pico
module_pico.speak("I like apple!")