ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub( https://github.com/nl8590687/ASRT_SpeechRecognition )上,为了便于大家使用,本文将手把手按顺序教你如何使用ASRT语音识别系统在测试和生产环境中部署中文语音识别API服务器。文本以CPU (Intel x86_64) + Linux + Python 3 + Nginx 为示例运行环境。
1 下载ASRT服务端程序
下载地址:https://wiki.ailemon.net/docs/asrt-doc/download
在“ASRT语音识别服务端”下,点击最新的发布版本的下载链接,既可点击“GitHub站”的链接下载,也可点击AI柠檬位于国内的下载链接下载。建议下载最新版本。
2 上传到服务器并解压
可使用SCP或FTP等软件将压缩文件上传到服务器端。然后使用”unzip”命令解压文件到目录。
$ unzip ASRT_v1.0.0.zip
3 安装运行环境
首先请确保安装好Python 3.6或者Python 3.7软件,或者Anaconda 并创建好3.6或3.7版本的虚拟环境。本项目不支持python 2.7版本,也暂时不支持python 3.8以上版本。如果pip命令对应的是python 2.7版本请将下述的pip命令替换为pip3命令。
以下两种依赖包安装方式二选一,建议用第二种:
$ pip install -r requirements.txt
$ pip install tensorflow==2.5.2 $ pip install wave $ pip install matplotlib $ pip install requests $ pip install scipy $ pip install flask $ pip install waitress
其中,TensorFlow版本和Keras版本可根据实际情况灵活调整,但需注意版本的对应关系。然后我们需要安装Nginx服务器,对于CentOS/Fedora系统,可使用下述命令安装:
$ yum install -y nginx
对于Ubuntu/Debian系统,则使用:
$ apt install nginx
另外,我们还需要安装一个辅助工具,用于在我们退出登陆服务器后,语音识别API服务器程序仍旧能够正常运行,对于CentOS/Fedora系统,可使用下述命令安装:
$ yum install -y screen
对于Ubuntu/Debian系统,则使用:
$ apt install screen
4 同时运行多道API服务器程序
根据服务器负载能力,以及对于目标并发数的要求,可同时复制多份,然后修改每一份代码中监听的端口号。打开asrserver_http.py文件,如图。
在文件末尾,有默认监听的端口配置,默认为20001端口,可根据需要,运行的第2道程序、第3道程序的端口号修改为20002、20003等,以此类推。
运行每一道程序时,都新建一个screen虚拟屏幕并命名:
$ screen -S asrt_server_1 $ screen -S asrt_server_2 $ screen -S asrt_server_3 …
在每启动一个虚拟屏幕后,执行命令:
$ python asrserver_http.py
然后,键盘按ctrl + A + D挂起当前屏幕,然后再用上述screen命令新建下一个屏幕,以此往复。
服务器启动好后,可用下述命令查看是否成功监听到对应端口:
$ netstat -ntlp
5 配置Nginx服务器
Nginx服务器主要用来反向代理语音识别API服务端,并进行服务器后端的负载均衡。例如,配置一个AI柠檬语音识别API服务器,Nginx配置为:
upstream asrt_servers { server 127.0.0.1:20000; server 127.0.0.1:20001; server 127.0.0.1:20002; } server { server_name <这里改为你自己的域名>; listen 80; listen [::]:80; location /asrt/v1/ { proxy_pass http://asrt_servers; } }
6 检验服务器部署
下载ASRT语音识别客户端程序,并解压和运行。
运行后界面如图。
例如,在上方URL处修改URL为上述我用自己域名配置的Nginx服务器链接: http://api.ailemon.me/asrt/v1/
并点击“修改URL”按钮。点击“开始语音输入”按钮,说一段话后,点击“停止语音输入”,等待服务器识别并返回结果。如果用浏览器打开上述链接可以看到ASRT字样,以及语音识别客户端可以正常收到返回结果,或者在服务器端看到输出信息,那么API服务器部署成功。
7 查看ASRT语音识别项目文档
在使用ASRT的过程中,难免会遇到一些问题,大部分问题,都已经说明并记录在了项目文档中,点击 https://wiki.ailemon.net/docs/asrt-doc 即可打开项目文档。
如果您还有其他的问题或者希望跟大家一起交流讨论,请加“AI柠檬博客-ASRT语音2群”QQ群:894112051 ,欢迎进群一起交流讨论哦。
如果需要加微信群,请在进QQ群后向群主说明,会发加群二维码,或在本文下方留言。也可以发邮件给我,或者关注微信公众号“AI柠檬博客”并留言。
版权声明本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。本文地址: https://blog.ailemon.net/2020/08/27/teach-you-how-use-asrt-deploy-chinese-asr-api-server/ All articles are under Attribution-NonCommercial-ShareAlike 4.0 |
“教你如何使用ASRT部署中文语音识别API服务器”上的2条回复
博主,请问您能出一个windows环境下实现ARST语音识别吗?
ASRT语音识别的Python代码跟操作系统没啥关系,你完全可以拿来运行在Windows系统上启动模型训练或者推理服务,可以认为就是Windows下实现的。至于Windows下客户端界面的话,完全可以参考这个项目:https://github.com/nl8590687/ASRT_SDK_WinClient
界面和语音识别后端服务是分离的