华为云耀云服务器L实例:高级篇-部署自己的ASRT语音识别api

221 阅读4分钟

华为云耀云服务器L实例是一款可快速部署且易于运维的轻量级云服务器,专为中小企业和入门级开发者打造。它不仅拥有华为云擎天架构的强大性能,还具有多项用户体验优化方案,让用户轻松上手,享受简单上云的乐趣。

本产品网址为:www.huaweicloud.com/product/hec…

在当今数字化时代,语音合成技术正变得越来越重要。无论是在智能助手、语音导航还是语音广播等领域,语音合成都扮演着重要的角色。如果你也想在华为云耀云服务器L实例上搭建一个自己的语音合成API,以便将文字转换为自然流畅的语音,那么你来对地方了!本文为一份详细的部署实测,帮助大家快速搭建自己的语音合成API,为我们的应用或项目增加强大的语音合成能力。

ASRT是一个基于深度学习的中文语音识别系统,本项目使用tensorFlow.keras基于深度卷积神经网络和长短时记忆神经网络、注意力机制以及CTC实现。

下载文件

现在我们来到asrt项目的wiki下,先将文件下载到本地,并将压缩包解压。

网址为 wiki.ailemon.net/docs/asrt-d…

ee77e5d5d950974a421d13cb730852f8_AgAACqYyBu_D_L1TgQRHUoj-CpIn1IxG_w=1847&h=931.png

a7dd6216d389234b3167fb0ae8422d79_AgAACqYyBu-VGoQs7yhONKbC-Ypys5yQ_w=795&h=58.png

ad082c2c54bb98e3aa6b6ce1806f4db4_AgAACqYyBu85lPnLstZIqrEqyR0_HC2m_w=859&h=65.png现在我们来到宝塔面板,点击 文件-上传,将我们的服务端文件夹ASRT_v1.3.0上传到我们的华为云耀云服务器L实例上。(目录可以不同,但记得下方所有操作可能都要先跳转到该目录下再执行指令)

93b5e134dbc3fbc058389674ca9175a7_AgAACqYyBu8-gMFgZKRFgLFwOIBOB1Du_w=1864&h=913.png

a5ae221c80be6440d3a15c5a4a900a91_AgAACqYyBu9-QfvH_jdBm785z_zf4MWw_w=763&h=27.png

6947a84b61172df7400d83f196e57dd6_AgAACqYyBu80_LCecVhM6qw9Ru_SDVkJ_w=810&h=752.png这样,我们的第一步就完成了。

安装依赖包

我们刚刚上传的ASRT_v1.3.0文件夹中已经包含所需要的包依赖,可以直接一键运行。

pip install -r requirements.txt

来一键下载包依赖

4a5eaf2204c2404693f07472e4e9b28e_AgAACqYyBu_DlCdYCAtEObE3R4NkkK-7_w=1014&h=575.png但我个人此处由于未知原因下载失败,于是我选择手动下载每个依赖(在官方文档中有说明),如果上方的指令下载成功,就可以跳过下方这一部分了。

pip install tensorFlow

57fe6eb0ee2d8103a62492a2a2e63f80_AgAACqYyBu-qO7O_T4tPLo6jhQ06zaIA_w=1447&h=240.pngpip install numpy

b65a5267497e4678c10708a3f0bcd5e5_AgAACqYyBu8oSewMr9lO8Lv0x0SlMHms_w=1443&h=102.pngpip install wave

3378dd88a61dc5749ebc3c5a9086e6bd_AgAACqYyBu_EaUC20n5DVJ12C_ZgMyLF_w=1452&h=290.pngpip install matplotlib

f3da7887cbe96072990b5a9f7bbc3576_AgAACqYyBu_017KwqXxJroLsk3AJebVH_w=1452&h=79.pngpip install requests

f19e66f5da149ba2219711daba0cc245_AgAACqYyBu9kNXJGq1xNwLVVT8r93OfQ_w=1446&h=178.pngpip install flask

c5c41aaa267e28eb0fdbd0f03a1395fd_AgAACqYyBu89hg_5dNJEAIwhkt1EArXV_w=1452&h=482.pngpip install waitress

5e19404f00fdb4fa0675164924674c6d_AgAACqYyBu8LVbhfOOxDoIulJUAre3Fo_w=1451&h=191.pngpip install grpcio

ad9deca74d9c11e16466a5b1e09c488a_AgAACqYyBu8JkCPPIo5Ks7pQ_KkzD1kr_w=1452&h=103.png 设置端口

现在我们来针对asrt端口打开我们华为云耀云服务器L实例的防火墙,打开宝塔面板,点击 安全-添加端口规则

c3736afff22b7636adbb82b30e143128_AgAACqYyBu-z5XMuhNdAE79jt0dktmb9_w=1845&h=852.png将如下端口20001添加并提交(如果该端口已占有,可以尝试修改运行文件找一个不用的端口,并在这里开启对应端口)

757fdede5ee851423facc4e1aa984690_AgAACqYyBu9NShJi2DNJbbLOMUpoHbj1_w=522&h=522.png

接着我们来到我们的华为云耀云服务器L实例控制台界面,点击 安全组-配置规则

6cf62874b7d047f4ae327a3f58e1cb5e_AgAACqYyBu_JBsPBHlVBYqKBl_oN9vQt_w=1741&h=873.png在入方向规则中,点击添加规则,依旧将端口20001填入,如下图

c3ed3dcd10a94875746a5a3a28e80424_AgAACqYyBu9Y3HqX6uRADLLo58dL1VKK_w=1750&h=829.png

3a5c22c37380b0034c8fedfe2f2eeecf_AgAACqYyBu8qDwCp81JHhb7Ktb10STPJ_w=1302&h=576.png这样,我们的准备工作就基本完成了!

运行并测试api

我们首先打开自己的Shell连接到云耀云服务器,输入指令转到ASRT_v1.3.0文件夹下

cd ASRT_v1.3.0

然后执行服务端的运行文件

python asrserver_http.py

51460f7be1023ebf94b83e264c20c657_AgAACqYyBu9bs8aOAohIhbetA0MxcZ63_w=1450&h=264.png那么现在,让我们访问一下我们的api网页界面,在我们的浏览器中输入 华为云耀云服务器L实例IP:20001,可以看到以下界面,说明api已经可以正常工作了!

98bb14b94ecbd02897efafaebe07caf7_AgAACqYyBu_ACKjMOGdMHYj6wR2q8dTK_w=1855&h=783.png之后,我们使用官方提供的测试工具,配置好我们的api接口,即可在 客户端 使用免费的语音识别api了!

那么让我们使用之前下载的测试工具测试一下。

打开之前下载文件时的另一个文件夹ASRT_SDK_WinClient_WithDemo_v1.1.0

fe2e2006ddc6d2fa4c6d02fa4820c1c5_AgAACqYyBu-pujTq839P-7ZchDb4TfzA_w=810&h=63.png然后接着运行ASRT_SpeechClient_WPF.exe

870442ad57b98aaa455552f9059972e0_AgAACqYyBu94ggwdycBJErNVbbkcTuta_w=1057&h=452.png我们可以看到这是一个简单的测试程序,点击开始输入(当然一可以点击下方直接选择wav格式文件,注意不要太大):

01109e4812436213732b677ce28ff10b_AgAACqYyBu9Repdd0RBOJbo7IlLuqzRS_w=1228&h=863.png

bdf037ea392db777ea3e0e94a262ee5c_AgAACqYyBu9iIzah9L5NlKXO3fs0SGEQ_w=1234&h=866.png当然,我们正常使用语音识别功能不可能在这个测试界面使用,但只要我们已经在华为云耀云服务器L实例上部署并启动了这个功能,然后我们在需要使用的地方向我们的华为云耀云服务器L实例IP:20001 这个地址以post请求发送所要识别的wav语音文件即可进行识别!

通过本文,我们已经成功在华为云耀云服务器L实例上搭建了ASRT的语音合成API。现在,我们可以使用这个API将文字转换为自然流畅的语音,为我们的应用或项目增加更好的用户体验。云端搭建的语音合成API具有高度可扩展性和灵活性,可以满足不同场景和需求的语音合成任务。希望本文对大家有所帮助,祝大家成功地搭建自己的语音合成API,并享受使用这一强大技术的乐趣!