Maison  >  Article  >  développement back-end  >  Tutoriel : Python se connecte à l'interface Huawei Cloud pour implémenter la fonction de synthèse vocale

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

王林
王林original
2023-07-06 10:58:361519parcourir

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

É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

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__))

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

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

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

ff8b9b92a2eb73dddc09188c7884845e替换为实际使用的服务接入点。

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

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

创建合成任务:

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

其中,'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

Remplacez ff8b9b92a2eb73dddc09188c7884845e 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)

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

print('合成结果:', synthesis_result)

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)
🎜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!

Déclaration:
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