Faisons la voix lentement avec Python

Je souhaite utiliser SofTalk de Python

environnement

Préparation

Télécharger SofTalk Veuillez télécharger la dernière version à partir de la page suivante https://w.atwiki.jp/softalk/pages/15.html

Essayez d'utiliser SofTalk à partir de la ligne de commande

Il existe également un moyen d'utiliser Softalk à partir de la ligne de commande, comme décrit dans le fichier help.chm inclus. Décompressez le zip DL

start ..\softalk\Softalk.exe

Cela lancera SofTalk lui-même et les arguments suivants seront disponibles

Table de référence rapide des arguments SofTalk

Exclut les arguments qui ne sont pas disponibles dans Slow Voice (uniquement disponible dans Aquestalk 10)

type valeur effet Détails Remarques
/NM: Chaîne Désignation de la voix Spécifiez la voix par son nom Exemple)/NM:Femme 01
/M: 0~? Spécifiez la voix par numéro
/PR: Chaîne Spécification préréglée Spécifiez le préréglage par nom Exemple)/PR:Réglage initial
/N: 0~? Spécifiez les préréglages par numéro
/O: 0~300 Pas 声のPas Si vous la réduisez, la vitesse de lecture ne fera que diminuer, il se peut donc qu'il n'y ait pas beaucoup de différence avec la vitesse.
/P: en train de lire en train de lire追加 en train de lire(Hiragana),mot,tout/Distinguer la demi-largeur(True/False) Exemple)/P:Tesuto,Test,True
Mettre à jour les mots précédents pour les mots enregistrés
/Q: 0~5 Comment lire 0:Pas de conversion de pseudonyme à plat / pas d'intonation Définir pour la bibliothèque sélectionnée
1:Pas de conversion de pseudonyme à plat, avec intonation
2:Avec conversion de pseudonyme plate, sans intonation
3:Avec conversion de pseudonyme plate / avec intonation
4:Avec conversion de pseudonyme à plat, sans intonation, avec des oreilles vides
5:Avec conversion de pseudonyme à plat Oui, avec intonation, avec chant
/R: enregistrement 読み上げた文章のenregistrement Exemple)/R:c:\test.wav
/S: 1~300 la vitesse 読み上げのla vitesse
/T: 7~11 Spécification de la bibliothèque Spécification de la bibliothèque (moteur) Reimu lentement avec 0, Marisa voix lentement avec 1
7:AquesTalk
8:SAPI
9:Speech Platform
10:AquesTalk2
11:AquesTalk10
/U: 0~? Désignation de la voix Spécifier la voix de la bibliothèque (moteur) Définir pour la bibliothèque sélectionnée
/V: 0~100 Le volume 声のLe volume
/W: Phrase Phrase 読み上げたいPhrase このオプション以降の文字は全てPhraseとみなす
/X: 0~1 Écran d'affichage 0:Affichage 1:Cacher Valable uniquement au démarrage, à la sortie/close
/Z: chemin Sortie XML Sortie de voix spécifiable au format XML

Cela ne semble pas particulièrement difficile si vous faites attention à la position de / W.

Essayez de courir à partir de Python

C'est un problème de taper à partir de la ligne de commande à chaque fois Laissez Python faire les tracas

Lorsque vous souhaitez exécuter une commande depuis Python, utilisez le module de sous-processus [^ subprocess]

Je ne le savais pas avant d'écrire cet article, mais il semble que vous devriez utiliser subprocess.run () '' au lieu de subprocess.call () '' `` dans Python 3.5 ou version ultérieure.

** La méthode recommandée pour démarrer un sous-processus est d'utiliser la fonction run (), qui peut gérer toutes les utilisations. ** Pour une utilisation plus avancée, vous pouvez également utiliser directement l'interface Popen sous-jacente. ** La fonction run () a été ajoutée dans Python 3.5 **; Si vous avez besoin de maintenir la compatibilité avec les versions précédentes, consultez l'ancienne section API de haut niveau.

Essayez d'écrire du code

yukkuri ├yukkuritest.py └softalk (dossier décompressé)  └ SofTalk.exe

Imaginez une structure de répertoires comme celle-ci

Vous pouvez lister les commandes par espace et les transmettre à la fonction run (). J'ai pensé ... mais apparemment, je dois combiner les listes une fois avec un espace demi-largeur. Donc, en termes simples, cela ressemble à ceci:

yukkuritest.py


import os
import subprocess

os.chdir(os.path.dirname(os.path.abspath(__file__)))

_start = "start ..\\yukkuri\\softalk\\SofTalk.exe"
_speed = "/S:120"
_word = "/W:Bonjour"

_command = [_start, _speed, _word]

subprocess.run(' '.join(_command), shell=True)


Vous pouvez maintenant émettre lentement la voix de Python

[^ subprocess]: subprocess --- Gestion des sous-processus https://docs.python.org/ja/3/library/subprocess.html

Recommended Posts

Faisons la voix lentement avec Python
Faisons une interface graphique avec python.
Faisons un graphe avec python! !!
Faisons un jeu de shiritori avec Python
Créez un framework Web avec Python! (1)
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Faites une loterie avec Python
Remplaçons UWSC par Python (5) Faisons un robot
[Jouons avec Python] Créer un livre de comptes de ménage
Essayez de créer un jeu simple avec Python 3 et iPhone
[Super facile] Faisons un LINE BOT avec Python.
Créer un système de recommandation avec python
Faisons un spacon avec xCAT
Analysons la voix avec Python # 1 FFT
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
Créons un groupe gratuit avec Python
Faisons un langage simple avec PLY 1
[Python] Rendons matplotlib compatible avec le japonais
Faisons une IA à trois yeux avec Pylearn 2
Faisons un calcul de combinaison avec Python
Créez une application de bureau avec Python avec Electron
Faisons une discussion WEB en utilisant WebSocket avec AWS sans serveur (Python)!
Analyse vocale par python
Analyse vocale par python
Créer un bot Twitter Trend avec heroku + Python
Je veux faire un jeu avec Python
Essayez de créer un code de "décryptage" en Python
Essayez de créer un groupe de dièdre avec Python
Faisons un module pour Python en utilisant SWIG
[Ev3dev] Faisons un programme de contrôle à distance par Python avec le protocole RPyC
Combinez des chaînes répétitives en une seule avec des expressions régulières Python.
Faisons un robot Discord.
Faisons un outil de veille de commande avec python
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
Créez un Slackbot simple avec un bouton interactif en python
Faisons Othello avec wxPython
Faire un point d'arrêt sur la couche c avec python
Créez Puyopuyo AI avec Python
Créer un bookmarklet en Python
Facilitons un peu la gestion des dépendances avec pip
[Pour jouer] Essayez de faire de Yuma un robot LINE (Python)
Écrivons python avec cinema4d.
Créer un outil de formatage CSV avec Python Pandas Py Installer
Créons une application Mac avec Tkinter et py2app
Essayez de créer une grille sphérique avec Rhinoceros / Grasshopper / GHPython
Créer un répertoire avec python
Construisons git-cat avec Python
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
Si vous voulez créer un bot discord avec python, utilisons un framework
Faire un feu avec kdeplot
[Pratique] Créez une application Watson avec Python! # 3 [Classification du langage naturel]
Associez Python Enum à une fonction pour la rendre appelable
Créons un script qui s'enregistre avec Ideone.com en Python.