Python memanggil antara muka Alibaba Cloud untuk melaksanakan fungsi pengecaman audio
Dalam beberapa tahun kebelakangan ini, perkembangan pesat kecerdasan buatan telah memanfaatkan banyak bidang. Antaranya, penerapan teknologi pengecaman pertuturan menjadi topik hangat. Alibaba Cloud ialah pengeluar pengkomputeran awan terkemuka di China dan menyediakan set antara muka kecerdasan buatan yang kaya, termasuk fungsi pengecaman audio. Artikel ini akan memperkenalkan cara menggunakan Python untuk memanggil antara muka Alibaba Cloud untuk melaksanakan fungsi pengecaman audio.
Sebelum bermula, kita perlu terlebih dahulu memohon kunci API yang sepadan pada konsol Alibaba Cloud. Dalam konsol Alibaba Cloud, pilih "Kecerdasan Buatan" - "Pengecaman Pertuturan", buat aplikasi baharu dan dapatkan ID Kunci Akses dan Rahsia Kunci Akses.
Seterusnya, kita perlu memasang Python SDK. Buka terminal baris arahan dan masukkan arahan berikut:
pip install aliyun-python-sdk-core pip install aliyun-python-sdk-asr
Selepas pemasangan selesai, kita boleh mula menulis kod.
Pertama, kita perlu mengimport perpustakaan dan modul yang diperlukan:
import time from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest
Kemudian, cipta objek klien Alibaba Cloud dan gunakan Kunci Akses yang kami gunakan dalam konsol Awan Alibaba untuk pengesahan:
client = AcsClient('<your_access_key_id>', '<your_access_key_secret>', 'cn-hangzhou')
Seterusnya, Kami boleh menulis berfungsi untuk memuat naik fail audio dan mengembalikan laluan fail selepas muat naik berjaya. Di sini kami menganggap bahawa fail audio telah disimpan pada cakera setempat, dan laluannya ialah file_path
:
def upload_audio(file_path): request = CommonRequest() request.set_domain('nls-meta.cn-shanghai.aliyuncs.com') request.set_uri_pattern('/pop/2019-02-28/2019-06-30/instances') request.set_method('POST') request.add_header('Content-type', 'multipart/form-data') # 创建上传参数 body_params = { 'Type': 'MultipartFormData', 'file': open(file_path, 'rb') } request.set_content(body_params) # 发送上传请求 response = client.do_action(request) # 解析返回结果,获取上传成功后的文件路径 file_id = response.decode('utf-8').split('"FileId":"')[1].split('","InstanceId"')[0] return file_id
Seterusnya, kita boleh menulis fungsi untuk melaksanakan fungsi pengecaman audio. Fungsi ini akan menggunakan antara muka pengecaman audio Alibaba Cloud untuk mengenal pasti fail audio yang berjaya dimuat naik. Hasil pengecaman akan dikembalikan sebagai nilai pulangan:
def recognize_audio(file_id): request = CommonRequest() request.set_domain('nls-meta.cn-shanghai.aliyuncs.com') request.set_uri_pattern('/pop/2019-02-28/2019-06-30/instances/%s' % file_id) request.set_method('GET') # 发送识别请求 response = client.do_action(request) # 解析返回结果,获取识别结果 result = response.decode('utf-8').split('"Result":"')[1].split('","CreateTime"')[0] return result
Akhir sekali, kami boleh menulis fungsi utama untuk memanggil muat naik audio dan fungsi pengecaman, dan mencetak hasil pengecaman:
def main(): # 音频文件路径 file_path = '<your_audio_file_path>' # 上传音频文件 file_id = upload_audio(file_path) print('音频文件上传成功,文件ID:%s' % file_id) # 等待音频上传完成 time.sleep(10) # 开始音频识别 result = recognize_audio(file_id) print('音频文件识别结果:%s' % result) if __name__ == '__main__': main()
Pada ketika ini, kami telah menyelesaikan panggilan Python antara muka Alibaba Cloud untuk melaksanakan penulisan Kod fungsi pengecaman audio.
Menggunakan fungsi pengecaman audio Alibaba Cloud, kami boleh menukar fail audio kepada teks untuk menyediakan sokongan asas untuk aplikasi berkaitan pengecaman pertuturan. Teknologi ini mempunyai prospek aplikasi yang luas dalam pembantu suara, terjemahan suara, sari kata masa nyata dan bidang lain.
Nota: Disebabkan penglibatan permintaan rangkaian dan muat naik fail, kod mungkin mengambil masa yang lama untuk dijalankan, harap bersabar.
Rujukan:
Atas ialah kandungan terperinci Python memanggil antara muka Alibaba Cloud untuk melaksanakan fungsi pengecaman audio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!