Tutoriel : Python se connecte à l'interface Huawei Cloud pour implémenter la fonction de synthèse vocale

王林
Libérer: 2023-07-06 10:58:36
original
1538 Les gens l'ont consulté

Tutoriel : Python se connecte à l'interface Huawei Cloud pour implémenter la fonction de synthèse vocale

Introduction :
À une époque de développement rapide de la technologie informatique moderne, l'interaction homme-machine est devenue un domaine très important. La synthèse vocale est l'une des technologies clés capables de convertir du texte en sons pour offrir aux utilisateurs une expérience interactive plus naturelle. Ce didacticiel expliquera comment utiliser le langage Python pour se connecter à l'interface Huawei Cloud afin d'implémenter la fonction de synthèse vocale.

Étape 1 : Enregistrez un compte Huawei Cloud et créez un projet

Tout d'abord, nous devons enregistrer un compte Huawei Cloud et créer un projet sur la console de gestion Huawei Cloud. En gestion de projet, nous devons ouvrir le service « synthèse vocale » et enregistrer la clé d'accès et les informations de région du projet, qui seront utilisées dans le code suivant.

Étape 2 : Installez le SDK Python

Huawei Cloud fournit python-sdk, qui peut facilement appeler des interfaces de service cloud. Nous pouvons utiliser la commande pip pour installer le SDK :

pip install huaweicloud-sdk
Copier après la connexion

Étape 3 : Écrire le code Python

Tout d'abord, nous devons importer les modules pertinents dans le SDK :

from huaweicloud_sdk.asr.v1 import asr_client
from huaweicloud_sdk.asr.v1.region.asr_region import AsrRegion
from huaweicloud_sdk.core.auth.credentials import BasicCredentials
from huaweicloud_sdk.core.auth import auth
from huaweicloud_sdk.core.http.http_config import HttpConfig
Copier après la connexion

Ensuite, nous devons définir les informations et le service d'authentification de l'utilisateur. informations sur la zone :

credentials = BasicCredentials('<Access Key ID>', '<Secret Access Key>', '<Security Token>')
config = HttpConfig.get_default_config()
config.region = AsrRegion.<Region>
auth = auth(dict(credentials=credentials, **config.__dict__))
Copier après la connexion

Remplacez <Access Key ID>, <Secret Access Key> et <Security Token> par le précédent ceux de Huawei Cloud Management Accédez aux informations clés obtenues sur la console et remplacez <Region> par la région de service réelle utilisée. <Access Key ID><Secret Access Key><Security Token>替换为前面在华为云管理控制台上获取到的访问密钥信息,并将<Region>替换为实际使用的服务区域。

然后,我们可以创建语音合成客户端:

client = asr_client.AsrClient.asr_client_factory(
    endpoint='<Endpoint>', credentials=credentials, security=None)
client.client_config.region = AsrRegion.<Region>
Copier après la connexion

<Endpoint>替换为实际使用的服务接入点。

接下来,我们可以准备要进行语音合成的文本:

text = '''
欢迎来到华为云语音合成教程。华为云提供了强大的云服务,帮助用户实现各种语音合成需求。本教程将通过Python连接华为云接口,实现语音合成功能。
'''
Copier après la connexion

创建合成任务:

response = client.create_task(text, {'voice_name': 'xiaoyan'})
task_id = response.result.task_id
Copier après la connexion

其中,'xiaoyan'

Nous pouvons ensuite créer le client de synthèse vocale :

response = client.get_task(task_id)
status = response.result.status
while status == 'starting' or status == 'running':
    response = client.get_task(task_id)
    status = response.result.status
synthesis_result = response.result.synthesis_result
Copier après la connexion

Remplacez <Endpoint> par le point d'accès au service réellement utilisé.

Ensuite, nous pouvons préparer le texte pour la synthèse vocale :

with open('output.mp3', 'wb') as f:
    f.write(synthesis_result)
Copier après la connexion

Créer une tâche de synthèse :

print('合成结果:', synthesis_result)
Copier après la connexion

Parmi elles, 'xiaoyan' est un style de synthèse vocale pris en charge par Huawei Cloud. Vous pouvez également. Vous pouvez choisir d'autres styles en fonction des besoins réels.


Requête de l'état de la tâche de synthèse :

from huaweicloud_sdk.asr.v1 import asr_client
from huaweicloud_sdk.asr.v1.region.asr_region import AsrRegion
from huaweicloud_sdk.core.auth.credentials import BasicCredentials
from huaweicloud_sdk.core.auth import auth
from huaweicloud_sdk.core.http.http_config import HttpConfig

credentials = BasicCredentials('<Access Key ID>', '<Secret Access Key>', '<Security Token>')
config = HttpConfig.get_default_config()
config.region = AsrRegion.<Region>
auth = auth(dict(credentials=credentials, **config.__dict__))

client = asr_client.AsrClient.asr_client_factory(
    endpoint='<Endpoint>', credentials=credentials, security=None)
client.client_config.region = AsrRegion.<Region>

text = '''
欢迎来到华为云语音合成教程。华为云提供了强大的云服务,帮助用户实现各种语音合成需求。本教程将通过Python连接华为云接口,实现语音合成功能。
'''

response = client.create_task(text, {'voice_name': 'xiaoyan'})
task_id = response.result.task_id

response = client.get_task(task_id)
status = response.result.status
while status == 'starting' or status == 'running':
    response = client.get_task(task_id)
    status = response.result.status
synthesis_result = response.result.synthesis_result

with open('output.mp3', 'wb') as f:
    f.write(synthesis_result)

print('合成结果:', synthesis_result)
Copier après la connexion
🎜Ensuite, nous pouvons enregistrer les résultats de la synthèse sous forme de fichiers audio :🎜rrreee🎜Enfin, nous pouvons imprimer les résultats de la synthèse et lire les fichiers audio :🎜rrreee🎜Étape 4 : Exemple de code complet🎜 rrreee 🎜Résumé : 🎜Grâce aux étapes ci-dessus, nous pouvons utiliser Python pour nous connecter à l'interface Huawei Cloud afin d'implémenter la fonction de synthèse vocale. J'espère que ce didacticiel sera utile à tout le monde et pourra être utilisé pour appliquer la fonction de synthèse vocale dans le développement réel afin d'améliorer l'expérience d'interaction utilisateur. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal