Tutorial: Python menyambung ke antara muka Awan Huawei untuk melaksanakan fungsi sintesis pertuturan
Pengenalan:
Dalam era perkembangan pesat teknologi komputer moden, interaksi manusia-komputer telah menjadi bidang yang sangat penting. Sintesis pertuturan ialah salah satu teknologi utama, yang boleh menukar teks kepada bunyi untuk memberikan pengguna pengalaman interaktif yang lebih semula jadi. Tutorial ini akan memperkenalkan cara menggunakan bahasa Python untuk menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi sintesis pertuturan.
Langkah 1: Daftar akaun Huawei Cloud dan buat projek
Mula-mula, kita perlu mendaftar akaun Huawei Cloud dan mencipta projek pada konsol pengurusan Huawei Cloud. Dalam pengurusan projek, kita perlu membuka perkhidmatan "sintesis pertuturan" dan merekodkan kunci akses dan maklumat wilayah projek, yang akan digunakan dalam kod berikutnya.
Langkah 2: Pasang Python SDK
Huawei Cloud menyediakan python-sdk, yang boleh memanggil antara muka perkhidmatan awan dengan mudah. Kita boleh menggunakan arahan pip untuk memasang SDK:
pip install huaweicloud-sdk
Langkah 3: Tulis kod Python
Pertama, kita perlu mengimport modul yang berkaitan dalam 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
Seterusnya, kita perlu menetapkan maklumat dan perkhidmatan pengesahan pengguna maklumat kawasan:
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__))
Ganti <ID Kunci Akses>
, <Kunci Akses Rahsia>
dan <Token Keselamatan>
dengan yang sebelumnya yang dalam Pengurusan Awan Huawei Akses maklumat utama yang diperoleh pada konsol dan gantikan <Wilayah>
dengan rantau perkhidmatan sebenar yang digunakan. <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>
将<Endpoint>
替换为实际使用的服务接入点。
接下来,我们可以准备要进行语音合成的文本:
text = ''' 欢迎来到华为云语音合成教程。华为云提供了强大的云服务,帮助用户实现各种语音合成需求。本教程将通过Python连接华为云接口,实现语音合成功能。 '''
创建合成任务:
response = client.create_task(text, {'voice_name': 'xiaoyan'}) task_id = response.result.task_id
其中,'xiaoyan'
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
<Endpoint>
dengan pusat akses perkhidmatan sebenar yang digunakan. Seterusnya, kita boleh menyediakan teks untuk sintesis pertuturan: with open('output.mp3', 'wb') as f: f.write(synthesis_result)
print('合成结果:', synthesis_result)
'xiaoyan'
ialah gaya sintesis pertuturan yang disokong oleh Huawei Cloud Anda juga boleh Anda boleh memilih gaya lain mengikut keperluan sebenar.
Soal status tugas sintesis:
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)
Atas ialah kandungan terperinci Tutorial: Python menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi sintesis pertuturan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!