Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tutorial: Python menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi sintesis pertuturan

Tutorial: Python menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi sintesis pertuturan

王林
王林asal
2023-07-06 10:58:361490semak imbas

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. 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'

Kami kemudiannya boleh mencipta klien sintesis pertuturan:

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

Ganti 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn