[PYTHON] Parler à partir du code sur mac (eSpeak, OpenJTalk)

C'était vraiment facile à présenter. homebrew Merci.

espeak: anglais

Installer et exécuter

$ brew install espeak
$ espeak "hello world"

open-jtalk: japonais

Installation

$ brew install open-jtalk

Cela seul Aussi le fichier dictionnaire (/usr/local/Cellar/open-jtalk/1.10_1/dic/) Un fichier vocal (/usr/local/Cellar/open-jtalk/1.10_1/voice/) est également inclus.

Courir

Voix féminine: mei_normal.htsvoice

$ echo "Je suis un chat. Il n'y a pas encore de nom. Je n'ai aucune idée d'où je suis né. Je me souviens avoir pleuré dans un endroit sombre et humide. J'ai vu des êtres humains pour la première fois ici." > sample.txt
$ open_jtalk \
-x /usr/local/Cellar/open-jtalk/1.10_1/dic \
-m /usr/local/Cellar/open-jtalk/1.10_1/voice/mei/mei_normal.htsvoice \
-ow out.wav sample.txt
$ afplay out.wav

Voix masculine: nitech_jp_atr503_m001.htsvoice

$ open_jtalk \
-x /usr/local/Cellar/open-jtalk/1.10_1/dic \
-m /usr/local/Cellar/open-jtalk/1.10_1/voice/m100/nitech_jp_atr503_m001.htsvoice \
-ow out.wav sample.txt
$ afplay out.wav

Exécutez à partir de python. Créez et enregistrez le fichier jtalk.py suivant.

jtalk.py


# coding: utf-8
import subprocess
from datetime import datetime

def jtalk(t):
    open_jtalk = ['open_jtalk']
    mech = ['-x', '/usr/local/Cellar/open-jtalk/1.10_1/dic']
    htsvoice = ['-m', '/usr/local/Cellar/open-jtalk/1.10_1/voice/mei/mei_normal.htsvoice']
    speed = ['-r', '1.0']
    outwav = ['-ow', 'out.wav']
    cmd = open_jtalk + mech + htsvoice + speed + outwav
    c = subprocess.Popen(cmd, stdin=subprocess.PIPE)
    c.stdin.write(t)
    c.stdin.close()
    c.wait()
    aplay = ['afplay', 'out.wav']
    wr = subprocess.Popen(aplay)

def say_datetime():
    d = datetime.now()
    text = '%s mois%jour de s,%temps de s%s minutes%s secondes' % (d.month, d.day, d.hour, d.minute, d.second)
    jtalk(text)

if __name__ == '__main__':
    say_datetime()
$ python jtalk.py

Utilisé comme module python

$ python
>>> import jtalk
>>> jtalk.jtalk ("Rosei's Richou a été nommé d'après l'érudition Saiei, le trésor céleste Matsunen et Kobo à un jeune âge, et a ensuite été complété par Kounani.")

Référence: http://qiita.com/kkoba84/items/b828229c374a249965a9

Recommended Posts

Parler à partir du code sur mac (eSpeak, OpenJTalk)
OpenJTalk sur Windows10 (parler japonais avec Python depuis la construction de l'environnement)
Appeler C / C ++ depuis Python sur Mac
Mettre à jour Mac Python de 2 à 3
Installez PostgreSQL à partir du code source sur CentOS
python sur mac
Préférences pour générer des GIF animés à partir de Python sur Mac
Lire le code QR à partir du fichier image avec Python (Mac)