Home >Backend Development >Python Tutorial >Tutorial: Python connects to Huawei Cloud interface to implement speech synthesis function

Tutorial: Python connects to Huawei Cloud interface to implement speech synthesis function

王林
王林Original
2023-07-06 10:58:361544browse

Tutorial: Python connects to Huawei Cloud interface to implement speech synthesis function

Introduction:
In an era of rapid development of modern computer technology, human-computer interaction has become a very important field. Speech synthesis is one of the key technologies, which can convert text into sounds to provide users with a more natural interactive experience. This tutorial will introduce how to use Python language to connect to Huawei Cloud interface to implement speech synthesis function.

Step 1: Register a Huawei Cloud account and create a project

First, we need to register a Huawei Cloud account and create a project on the Huawei Cloud management console. In project management, we need to open the "speech synthesis" service and record the access key and region information of the project, which will be used in the subsequent code.

Step 2: Install Python SDK

Huawei Cloud provides python-sdk, which can easily call cloud service interfaces. We can use the pip command to install the SDK:

pip install huaweicloud-sdk

Step 3: Write Python code

First, we need to import the relevant modules in the 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

Next, we User identity authentication information and service area information need to be set:

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

Change 7256674f7f915b80c341861ffea2447b, 58c0bf1fbb777ffa7905aed6ceca46cd and c30dc4820909388c6148c21c63222b0d with the access key information obtained previously on the Huawei Cloud Management Console, and replace c81b9315ca326c2edfa8c85bfd323c9a with the actual service region used.

We can then create the speech synthesis client:

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

Replace ff8b9b92a2eb73dddc09188c7884845e with the actual service access point used.

Next, we can prepare the text for speech synthesis:

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

Create a synthesis task:

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

Among them, 'xiaoyan' is Huawei A speech synthesis style supported by the cloud. You can also choose other styles according to actual needs.

Query the synthesis task status:

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

Next, we can save the synthesis results as audio files:

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

Finally, we can print the synthesis results and play the audio files :

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

Step 4: Complete code example

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)

Summary:
Through the above steps, we can use Python to connect to the Huawei Cloud interface to implement the speech synthesis function. I hope this tutorial will be helpful to everyone and can be used to apply speech synthesis function in actual development to improve user interaction experience.

The above is the detailed content of Tutorial: Python connects to Huawei Cloud interface to implement speech synthesis function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn