LoginSignup
1
1

More than 3 years have passed since last update.

pythonで音声発話 [text to speech]

Last updated at Posted at 2020-08-15

音声発話させよう

環境

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!")
1
1
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
1
1