[Python] Sprechen mit OpenJTalk und Talk API (bis zur Sprachausgabe)

Einführung

Ich habe eine automatische Antwortfunktion mit der Talk-API von Recruit erstellt, als ich meinen eigenen Slackbot erstellt habe. Und wenn Sie OpenJTalk verwenden, mit dem Sie kürzlich eine Umgebung erstellt haben, können Sie tatsächlich sprechen! Ich dachte und versuchte es. Ich bin nicht ohne Freunde

Umgebung

Windows 10 Python 3.7 OpenJTalk pya3rt (für die Verwendung von Talk-API)

Vorbereitung

OpenJTalk Es ist eine Sprachsynthesesoftware, die auch von Python aus verwendet werden kann. Der Artikel hier fasst alles von der Umgebungskonstruktion bis zum Sprechen in Python zusammen.

Konversationsfunktion

Talk API Es ist eine API, die eine Antwort zurückgibt, wenn Sie eine Zeichenfolge senden. Ich verwies auf Zusammenfassung der Konversations-APIs, Bibliotheken und Dienste, die mit BOT verwendet werden können.

Talk API
Die Rekrutierungstechnologie ist eine der öffentlich zugänglichen APIs für maschinelles Lernen / Deep Learning, die intern im Rahmen von Open Innovation eingesetzt wird. Andere interessante Dinge wie die Bildumgebungs-API, mit der ein Modell erstellt werden kann, um die Präferenz von Bildern für den A / B-Test zu beurteilen, und die Textvorschlags-API, die automatisch Sätze generiert und Eingaben unterstützt, werden veröffentlicht.

Sie können Ihre E-Mail von hier aus registrieren und eine API ausstellen. Talk API

pya3rt Es wird eine Bibliothek namens pya3rt bereitgestellt, die von Python aus einfach zu verwenden ist. Bitte installieren Sie mit dem folgenden Befehl.

pip install pya3rt

Code

Konversationsfunktion

Ich habe den Teil der Konversationsfunktion zu einer Funktion gemacht. message ist eine Zeichenfolge, die an die API gesendet wird, und der Rückgabewert ist die Antwort der Konversation.

import pya3rt

def send_message(message):
    apikey = "api key"
    client = pya3rt.TalkClient(apikey)
    reply_message = client.talk(message)
    return reply_message['results'][0]['reply']

Der Inhalt von reply_message ist wie folgt.

{'status': 0, 'message': 'ok', 'results': [{'perplexity': 0.06766985185966182, 'reply': 'Hallo'}]}

Ich wollte nur den Antwortteil herausziehen reply_message['results'][0]['reply'] Es wurde gemacht.

Audioausgang

Als nächstes folgt der Audioausgabeteil, aber rufen Sie "jtalk.py" auf, das in [diesem Artikel] erstellt wurde (https://qiita.com/koichi_baseball/items/09cd984a409b3701b423).

import jtalk

jtalk.jtalk('Charaktere, die Sie sprechen möchten')

Ergebnis

Die Summe davon ist wie folgt. Der Ablauf besteht darin, eine Zeichenfolge von der Konsole zu empfangen. ⇒ In die API zu werfen. ⇒ Voice auszugeben.

import pya3rt
import jtalk

def send_message(message):
    apikey = "api key"
    client = pya3rt.TalkClient(apikey)
    reply_message = client.talk(message)
    return reply_message['results'][0]['reply']

if __name__ == "__main__":
    while True:
        message = input("message : ")
        reply   = send_message(message)
        print(reply)
        jtalk.jtalk(result)

Ausgabeergebnis. Wenn OpenJTalk verwendet wird, wird die Antwort (die ohne Nachricht :) per Sprache ausgegeben.

message :Hallo
Hallo
message :Es schneite
Hast du Schnupfen?
message :es ist kalt
Das denke ich auch
message :nicht wahr
Korrekt
message :Wer bist du?
Ich habe noch keinen Namen

abschließend

Es war sehr einfach zu implementieren. Python und API sind unglaublich. Wenn Sie danach die Stimme erkennen können, können Sie mit Personen und Computern sprechen.

Die Seite, die ich als Referenz verwendet habe

Zusammenfassung der Konversations-APIs, -Bibliotheken und -Dienste, die mit BOT verwendet werden können Hinzufügen einer Konversationsfunktion zum Slack Bot (erstellt von Python) mithilfe der Talk-API von Recruit

Recommended Posts

[Python] Sprechen mit OpenJTalk und Talk API (bis zur Sprachausgabe)
Fügen Sie dem Slack Bot (erstellt von Python) mithilfe der Talk-API von Recruit eine Konversationsfunktion hinzu
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
Von Python bis zur Verwendung von MeCab (und CaboCha)
Vorgehensweise zur Verwendung der WEG-API von TeamGant (mit Python)
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
So richten Sie eine Python-Umgebung mit pyenv ein
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Senden und empfangen Sie Google Mail über die Google Mail-API mit Python
Python-Eingabe und Ausgabe
Sprachtranskriptionsverfahren mit Python und Google Cloud Speech API
Ausgabe auf "7 Segment LED" mit Python mit Raspberry Pi 3!
Erstellen Sie eine einfache API, um JSON-Dateien einzugeben und auszugeben ~ Python / Flask Edition ~
Ich möchte einen Sprachwechsler mit Python und SPTK in Bezug auf eine berühmte Site erstellen
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Ein Skript, das bis zu 5 Sekunden zählt und in Blenders Python stoppt
Versuchen Sie es mit GUI, PyQt in Python
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
Prognostizieren Sie das Geschlecht anhand des Namens mithilfe der Gender-API und von Pykakasi in Python
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Aggregieren und analysieren Sie Produktpreise mit der Rakuten Product Search API [Python]
Mit Python auf Twitter posten
Starten Sie mit Python zu Selen
Einführung in discord.py (3) Verwenden von Stimme
Führen Sie Jupyter mit der REST-API aus, um Python-Code zu extrahieren und zu speichern
[Python] Drücken Sie Keras von TensorFlow und TensorFlow von c ++, um die Ausführung zu beschleunigen.
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
Sammeln Sie Produktinformationen und Prozessdaten mit der Rakuten-Produktsuch-API [Python].
Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
So installieren Sie Python mit Anaconda
Python 3.6 unter Windows ... und zu Xamarin.
Numba als Python zu beschleunigen
Datenerfassung mit Python Googlemap API
Authentifizierung mit Tweepy-User-Authentifizierung und Anwendungsauthentifizierung (Python)
[Python3] Google übersetzt Google Übersetzung ohne Verwendung von API
Ausgabe in eine CSV-Datei mit Python
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Zusammenarbeit zwischen Python-Modul und API
Verwendung der Python-API von OpenPose
Versuchen Sie es mit der Aktions-API von Python argparse
So beschleunigen Sie Python-Berechnungen
Exportieren und Ausgeben von Dateien in Python
Python-Protokollierung und Dump an JSON
Selen und Python zum Öffnen von Google
Interaktives Ausgeben von BPE mithilfe von Python-Flüchen
Führen Sie Ansible über Python mithilfe der API aus
[Python] Verwendung der Typetalk-API
[Python] API zum Senden von Google Mail erstellen
Herausforderung beim Erstellen eines Zeitachsenlistenberichts mit der Toggl-API und Python
[Circuit x Python] So erweitern und berechnen Sie Übertragungsfunktionen mit Lcapy
Was tun, wenn ipython und python mit unterschiedlichen Versionen starten?
Entwicklung und Bereitstellung der REST-API in Python mit Falcon Web Framework
Codebeispiel zum Abrufen von oauth_token und oauth_token_secret der Twitter-API in Python 2.7