Je souhaite utiliser SofTalk de Python
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
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
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.
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.
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