Rumah >pembangunan bahagian belakang >Tutorial Python >Tutorial: Python menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi sintesis pertuturan
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 fc1c0eed2efd8c3ea37e8f7f3d7ce2b4
, f4fe4421f87e1a5ba079e38e3481eae7
dan b9e1e44c2c67751e4d500d1bf987ab02
dengan yang sebelumnya yang dalam Pengurusan Awan Huawei Akses maklumat utama yang diperoleh pada konsol dan gantikan a0cc4be454d55c88c330951d3f70c6b0
dengan rantau perkhidmatan sebenar yang digunakan. 7256674f7f915b80c341861ffea2447b
、58c0bf1fbb777ffa7905aed6ceca46cd
和ea792162b6afaa9039790dc847131176
替换为前面在华为云管理控制台上获取到的访问密钥信息,并将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'
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_resultGanti
ff8b9b92a2eb73dddc09188c7884845e
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)Buat tugasan sintesis:
print('合成结果:', synthesis_result)Antaranya,
'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)🎜Seterusnya, kita boleh menyimpan hasil sintesis sebagai fail audio:🎜rrreee🎜Akhir sekali, kita boleh mencetak hasil sintesis dan memainkan fail audio:🎜rrreee🎜Langkah 4: Contoh kod lengkap🎜 rrreee 🎜Ringkasan: 🎜Melalui langkah di atas, kita boleh menggunakan Python untuk menyambung ke antara muka Awan Huawei untuk melaksanakan fungsi sintesis pertuturan. Saya harap tutorial ini akan membantu semua orang dan boleh digunakan untuk menggunakan fungsi sintesis pertuturan dalam pembangunan sebenar untuk meningkatkan pengalaman interaksi pengguna. 🎜
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!