[Python] Talk en utilisant OpenJTalk et l'API Talk (jusqu'à la sortie vocale)

introduction

J'avais l'habitude de créer une fonction de réponse automatique à l'aide de l'API Talk de Recruit lorsque je créais mon propre slackbot. Et si vous utilisez OpenJTalk, dont vous avez récemment créé un environnement, vous pouvez réellement parler! J'ai pensé et essayé. Je ne suis pas sans amis

environnement

Windows 10 Python 3.7 OpenJTalk pya3rt (pour utiliser l'api talk)

Préparation

OpenJTalk C'est un logiciel de synthèse vocale qui peut également être utilisé depuis Python. L'article ici résume tout, de la construction de l'environnement au parler en Python.

Fonction de conversation

Talk API C'est une API qui renvoie une réponse lorsque vous envoyez une chaîne de caractères. J'ai fait référence à Résumé des API de conversation, des bibliothèques et des services qui peuvent être utilisés avec BOT.

Talk API
Recruit Technology est l'une des technologies ouvertes au public en tant qu'API, la technologie d'apprentissage automatique / d'apprentissage en profondeur utilisée en interne dans le cadre de l'innovation ouverte. D'autres choses intéressantes telles que l'API Image Environment qui peut créer un modèle pour juger de la préférence des images pour le test A / B et l'API de suggestion de texte qui génère automatiquement des phrases et assiste l'entrée sont publiées.

Vous pouvez enregistrer votre e-mail à partir d'ici et émettre une API. Talk API

pya3rt Une bibliothèque appelée pya3rt est fournie et est facile à utiliser à partir de Python. Veuillez installer avec la commande suivante.

pip install pya3rt

code

Fonction de conversation

J'ai fait de la fonction de conversation une fonction. message est une chaîne envoyée à l'API et la valeur de retour est la réponse de la conversation.

import pya3rt

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

Le contenu de reply_message est comme ça.

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

Je voulais retirer uniquement la partie réponse reply_message['results'][0]['reply'] C'était fabriqué.

Sortie audio

Vient ensuite la partie sortie audio, mais appelez jtalk.py créé dans cet article.

import jtalk

jtalk.jtalk('Personnages dont vous voulez parler')

résultat

Le total de ces derniers est le suivant. Le déroulement consiste à recevoir une chaîne de caractères de la console ⇒ la jeter à l'API ⇒ la voix de sortie.

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)

Résultat de sortie. Si OpenJTalk est utilisé, la réponse (celle sans message :) sera émise par la voix.

message :Bonjour
Bonjour
message :Il a neigé
As-tu un rhume?
message :il fait froid
Je le pense aussi
message :n'est-ce pas
C'est vrai
message :Qui êtes vous?
Je n'ai pas encore de nom

en conclusion

C'était très facile à mettre en œuvre. Python et API sont incroyables. Après cela, si vous pouvez reconnaître la voix, vous pouvez parler avec des personnes et des ordinateurs.

Le site que j'ai utilisé comme référence

Résumé des API, bibliothèques et services de conversation pouvant être utilisés avec BOT Ajouter une fonction de conversation au robot slack (créé par python) à l'aide de l'API Talk de Recruit

Recommended Posts

[Python] Talk en utilisant OpenJTalk et l'API Talk (jusqu'à la sortie vocale)
Ajouter une fonction de conversation au robot slack (créé par python) à l'aide de l'API Talk de Recruit
Exportez les informations produit au format CSV à l'aide de l'API de recherche de produits Rakuten [Python]
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
De Python à l'utilisation de MeCab (et CaboCha)
Procédure pour utiliser l'API WEB de TeamGant (en utilisant python)
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Comment configurer un environnement Python à l'aide de pyenv
Notification PUSH de Python vers Android à l'aide de l'API de Google
Envoyez et recevez Gmail via l'API Gmail en utilisant Python
entrée et sortie python
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Sortie sur "LED 7 segments" en utilisant python avec Raspberry Pi 3!
Créez une API simple juste pour entrer et sortir des fichiers JSON ~ Édition Python / Flask ~
Je veux faire un changeur de voix en utilisant Python et SPTK en référence à un site célèbre
API Nifty Cloud facile à utiliser avec botocore et python
Un script qui compte jusqu'à 5 secondes et s'arrête dans le Python de Blender
Essayez de le faire avec GUI, PyQt en Python
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
Prédire le sexe à partir du nom à l'aide de l'API Gender et de Pykakasi en Python
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
Regroupez et analysez les prix des produits à l'aide de l'API Rakuten Product Search [Python]
Publier sur Twitter en utilisant Python
Commencez à Selenium en utilisant python
Introduction à discord.py (3) Utilisation de la voix
Faites fonctionner Jupyter avec l'API REST pour extraire et enregistrer le code Python
[Python] Hit Keras depuis TensorFlow et TensorFlow depuis c ++ pour accélérer l'exécution.
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Collectez des informations sur les produits et traitez les données à l'aide de l'API de recherche de produits Rakuten [Python]
Exporter les résultats de la recherche de publication dans un fichier à l'aide de l'API Mattermost
[Python] J'ai essayé d'obtenir diverses informations en utilisant l'API de données YouTube!
[Python] J'ai écrit une API REST en utilisant AWS API Gateway et Lambda.
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python (2) ~ Server ~
Comment installer Python à l'aide d'Anaconda
Python 3.6 sous Windows ... et vers Xamarin.
Numba pour accélérer en Python
Acquisition de données à l'aide de l'API googlemap de python
Authentification à l'aide de l'authentification des utilisateurs tweepy et de l'authentification d'application (Python)
[Python3] Google translate google translation sans utiliser l'API
Sortie vers un fichier csv avec Python
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Coopération entre le module python et l'API
Comment utiliser l'API Python d'OpenPose
Essayez d'utiliser l'API d'action de Python argparse
Comment accélérer les calculs Python
Exporter et exporter des fichiers en Python
Journalisation Python et vidage vers json
Sélénium et python pour ouvrir Google
Sortie interactive de BPE à l'aide de curses python
Exécutez Ansible à partir de Python à l'aide de l'API
[Python] Comment utiliser l'API Typetalk
[Python] Créer une API pour envoyer Gmail
Défi pour créer un rapport de liste de l'axe des temps avec l'API Toggl et Python
[Circuit x Python] Comment développer et calculer les fonctions de transfert à l'aide de Lcapy
Que faire si ipython et python démarrent avec des versions différentes
Développement et déploiement de l'API REST en Python à l'aide de Falcon Web Framework
Exemple de code pour obtenir oauth_token et oauth_token_secret de l'API Twitter en Python 2.7