Ich habe dieses Programm geändert, um eine Textdatei vorzulesen. Mit OpenJtalk auf Japanisch sprechen
Programm
kusamakura01.py
#! /usr/bin/python
#
# kusamakura01.py
#
# Nov/01/2020
#
# --------------------------------------------------------------------
import subprocess
import sys
# --------------------------------------------------------------------
def jtalk_proc(tt):
open_jtalk=['open_jtalk']
mech=['-x','/var/lib/mecab/dic/open-jtalk/naist-jdic']
htsvoice=['-m','/usr/share/hts-voice/mei/mei_normal.htsvoice']
speed=['-r','1.0']
outwav=['-ow','open_jtalk.wav']
cmd=open_jtalk+mech+htsvoice+speed+outwav
subprocess.run(cmd,input=tt.encode())
sys.stderr.write("*** wav is created ***\n")
args = ['aplay','-q','open_jtalk.wav']
print(args)
subprocess.run(args)
#
# --------------------------------------------------------------------
sys.stderr.write("***Start***\n")
file_in = sys.argv[1]
#
fp_in = open(file_in,encoding='utf-8')
lines = fp_in.readlines()
fp_in.close()
#
count = 0
line_out = ""
for line in lines:
print(count,line)
if 5 < count:
break
line_out += line[:-1]
line_out += " "
line_out += " "
line_out += " "
count += 1
#
print(line_out)
jtalk_proc(line_out)
#
sys.stderr.write("***Ende***\n")
# --------------------------------------------------------------------
Eingabedaten
in01.txt
Graskissen
Natsume Soseki
Beim Klettern auf Yamamichi dachte ich so.
Wenn Sie später arbeiten Wenn Sie es gut gehen lassen, wird es weggespült. Es ist eine hartnäckige Sache. Wie auch immer, die Welt der Menschen ist schwer zu leben.
Wenn es schwierig wird zu leben, möchte ich an einen billigen Ort ziehen. Wenn es mir schwer fällt, überall zu leben, wird Poesie geboren und ich kann es tun.
Ausführungsmethode
./kusamakura01.py in01.txt
Wenn Sie dasselbe mit bash machen
#
perl -pe 's/\n/ /g' < in01.txt > tmp01.txt
#
open_jtalk \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-m /usr/share/hts-voice/mei/mei_normal.htsvoice \
-r 1.0 \
-ow ./out01.wav \
tmp01.txt
#
aplay out01.wav
#
So erstellen Sie keine WAV-Datei
perl -pe 's/\n/ /g' < in01.txt \
| open_jtalk \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-m /usr/share/hts-voice/mei/mei_normal.htsvoice \
-r 1.0 \
-ow /dev/stdout | aplay --quiet