OpenJTalk unter Windows 10 (Sprechen Sie Japanisch mit Python aus der Umgebungskonstruktion)

Einführung

Windows10 war es, OpenJTalk zu testen, aber die notwendige Umgebung, um für jeden geeignet zu sein, da es von Grund auf neu zugeschnitten wurde. Machen Sie sich eine Notiz. Wie der Titel schon sagt, werde ich vom Aufbau der Umgebung bis zum Sprechen von Japanisch in Python erklären.

Umgebung

Build-Umgebung vorbereiten

Unter Windows müssen Sie es selbst erstellen, um OpenJTalk auszuführen. Bereiten Sie also die Umgebung vor.

Installieren der Visual Studio 2019-Community

Dies ist nicht das Hauptthema, daher werde ich es speichern.

Installieren der Visual Studio 2019-Community Installieren Sie Visual Studio 2019 von der Website [hier](https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2019). Überprüfen Sie beim Starten des Installationsprogramms die Desktop-Entwicklung mit C ++ und klicken Sie auf Installieren. Bitte starten Sie einmal nach Abschluss der Installation. ↓ Ich habe auf diese Seite verwiesen. Vielen Dank. https://qiita.com/Gaccho/items/f748f59784ff68d7a474

Einstellungen erstellen

Starten Sie die Eingabeaufforderung und führen Sie die folgenden beiden Befehle aus.

cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build

vcvarsall.bat x64

nmake Einstellungen

Wenn Sie versuchen, den Befehl "nmake" an der Eingabeaufforderung auszuführen und eine Fehlermeldung erhalten, dass der Befehl nicht ausgeführt werden kann (ein Fehler, dass der Befehl nicht erkannt wird), müssen Sie den Pfad "nmake.exe" in die Umgebungsvariable einfügen. (Ich musste es bestehen) Ich konnte den folgenden Pass machen. C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64

Installieren Sie OpenJTalk

Von hier aus habe ich auf die Website von [hier] verwiesen (https://qiita.com/kkoba84/items/b828229c374a249965a9). Vielen Dank.

Abrufen des Quellcodes OpenJTalk, hts_engineAPI

Holen Sie sich zuerst OpenJTalk 1.09. Wählen Sie aus hier, aber es wird sofort unter dem folgenden Link heruntergeladen.

http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.09.tar.gz

Wählen Sie die für die Kompilierung erforderliche hts_engine-API für die Sprachsynthese unter hier aus. Wie OpenJTalk wird sie jedoch sofort über den folgenden Link heruntergeladen.

http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.10.tar.gz

Extrahieren Sie das heruntergeladene open_jtalk-1.09.tar.gz Setzen Sie es auf "c: \ temp \ open_jtalk-1.09". Wenn die hts_engineAPI auf "c: \ temp \ open_jtalk-1.09 \ hts_engine_API-1.10" erweitert wird, werden Probleme beim Kompilieren reduziert.

Kompilieren Sie mit nmake

Jetzt, da Sie "nmake" an der Eingabeaufforderung verwenden können, kompilieren Sie es.

Kompilieren von hts_engine_API-1.10.

Beginnen Sie zunächst mit hts_engine_API-1.10 und führen Sie die folgenden drei Befehle aus. Nach Abschluss wird eine Datei in c: \ hts_engine_API erstellt.

cd c:\temp\open_jtalk-1.09\hts_engine_API-1.10
nmake /f Makefile.mak
nmake /f Makefile.mak install

Kompilieren von open_jtalk-1.09

Kompilieren Sie als Nächstes open_jtalk-1.09. Führen Sie die folgenden drei Befehle aus. Nach Abschluss wird eine Datei in c: \ open_jtalk erstellt.

cd c:\temp\open_jtalk-1.09
nmake /f Makefile.mak
nmake /f Makefile.mak install

Gegen Ende wird eine verstümmelte Zeichenfolge angezeigt, aber Sie müssen sich vorerst keine Sorgen machen. Klicken Sie hier für Details (https://qiita.com/kkoba84/items/b828229c374a249965a9)

Dadurch wird c: \ open_jtalk \ bin \ open_jtalk.exe generiert.

Sprachdaten abrufen

Von MMDAgent https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.6/ Laden Sie MMDAgent_Example-1.6.zip von herunter und kopieren Sie Voice / mei / *. Htvoice nach c: \ open_jtalk \ bin . Es sind die Daten von vier Emotionen eines Mädchens namens Mei. image.png

Damit ist die Vorbereitung abgeschlossen.

Öffnen Sie den JTalk-Ausführungstest

Angenommen, eine Datei mit japanischer Eingabe wurde als input.txt in c: \ open_jtalk \ bin erstellt , Führen Sie den folgenden Befehl aus.

cd c:\open\jtalk\bin
open_jtalk -m mei_normal.htsvoice -x ../dic -ow output.wav input.txt

Wenn output.wav im selben Verzeichnis erstellt wird, ist dies erfolgreich. Doppelklicken Sie darauf, um festzustellen, ob es abgespielt wird. Zu diesem Zeitpunkt funktioniert es aufgrund des Einflusses der Codierung möglicherweise nicht auf Japanisch. Eigentlich habe ich nicht gearbeitet.

Führen Sie OpenJTalk von Python aus

Verwenden Sie das Winsound-Modul, um OpenJTalk unter Python unter Windows auszuführen. Da das Wörterbuch dieses Mal durch Kompilieren unter Windows generiert wurde, war es Shift-Jis. Daher muss die Codierung konvertiert werden, wenn von der internen Codierung von Python zu STDIN übergegangen wird.

jtalk.py



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

def jtalk(t):
    # depend on your install folder
    OPENJTALK_BINPATH = 'c:/open_jtalk/bin'
    OPENJTALK_DICPATH = 'c:/open_jtalk/dic'
    # VOICEPATH -> can change mei voice
    OPENJTALK_VOICEPATH = 'c:/open_jtalk/bin/mei_normal.htsvoice'
    open_jtalk=[OPENJTALK_BINPATH + '/open_jtalk.exe']
    mech=['-x',OPENJTALK_DICPATH]
    htsvoice=['-m',OPENJTALK_VOICEPATH]
    speed=['-r','1.0']
    outwav=['-ow','open_jtalk.wav']
    cmd=open_jtalk+mech+htsvoice+speed+outwav
    c = subprocess.Popen(cmd,stdin=subprocess.PIPE)

    # convert text encoding from utf-8 to shitf-jis
    c.stdin.write(t.encode('shift-jis'))
    c.stdin.close()
    c.wait()

    # play wav audio file with winsound module
    winsound.PlaySound('open_jtalk.wav', winsound.SND_FILENAME)


def say_datetime():
    # get datetime and call jtalk
    d = datetime.now()
    text = '%s Monat%s Tag,%s Zeit%s Minuten%s Sekunden' % (d.month, d.day, d.hour, d.minute, d.second)
    jtalk(text)

if __name__ == '__main__':
    say_datetime()

Legen Sie es in ein beliebiges Verzeichnis und starten Sie es mit Python jtalk.py. Natürlich ist die Startmethode kostenlos. Es ist ein Erfolg, wenn der Computer Datum und Uhrzeit spricht.

Verwendung als Python-Modul

Rufen Sie die obige Datei (jtalk in jtalk.py) aus demselben Verzeichnis auf (auch hier kostenlos). Da das Argument das Zeichen ist, das Sie sprechen möchten, geben Sie es an. u'' gibt auch die Codierung an.

test.py


import jtalk
jtalk.jtalk(u'Das ist es')

das ist alles. Es ist lange her, aber danke!

Die Seite, die ich als Referenz verwendet habe

https://qiita.com/Gaccho/items/f748f59784ff68d7a474 https://qiita.com/kkoba84/items/b828229c374a249965a9

Recommended Posts

OpenJTalk unter Windows 10 (Sprechen Sie Japanisch mit Python aus der Umgebungskonstruktion)
Python-Umgebungskonstruktionsnotiz unter Windows 10
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Sprechen Sie japanischen Text mit OpenJTalk + Python
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
Erstellen Sie eine Python-Umgebung unter Windows
Erstellen Sie eine Python-Umgebung mit Windows
Erstellen einer Python-Umgebung unter Windows 7
[Tensorflow] Aufbau der Tensorflow-Umgebung unter Windows 10
Beginnen Sie mit Python! ~ ① Umweltbau ~
Python2.7-Installation in einer Windows 32-Bit-Umgebung
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Aufbau einer Python-Entwicklungsumgebung unter macOS
Memo zum Erstellen einer Python-Umgebung mit Docker unter Windows 10 Home
Erstellen einer Umgebung für Python3.8 auf einem Mac
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Installieren Sie die Python-Entwicklungsumgebung unter Windows 10
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
Erste Schritte mit Python 3.8 unter Windows
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Japanische Dateiaufzählung mit Python2-System unter Windows (Gegenmaßnahme gegen 5C-Probleme)
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Aufbau einer LaTeX- und R-Umgebung (ein wenig Python) mit SublimeText3 (Windows)
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
Konstruktionsverfahren für die Python-Projektumgebung (für Windows)
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Hinweise zur japanischen OCR mit Python
Aufbau einer VScode-Umgebung (Windows 10, Python, C ++, C, Git)
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
[Windows 10] Aufbau einer "Deep Learning from Scratch" -Umgebung
Kommen wir zu Python # 0 (Umgebungskonstruktion)
Erstellen einer Python-Entwicklungsumgebung für Windows + gVim + Poetry
Python unter Windows
Python Windows-Umgebung
Umgebungskonstruktion (Python)
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
Datenintegration von der Python-App unter Windows zu Amazon Redshift mit ODBC
[Hinweis] Erstellen Sie eine Python-Umgebung auf dem Mietserver "CORESERVER".
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Aufbau einer explosiven Python-Umgebung ab Null (Mac)
Aufbau einer Python-Umgebung (Anaconda + VSCode) @ Windows10 [Version Januar 2020]
Sprechen Sie vom Code auf dem Mac (eSpeak, OpenJTalk)
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Virtuelle Python / Windows (Windows 10) -Umgebung / Paket mit VSCode