分类
ASRT 智能语音技术 长期更新的内容

教你如何使用ASRT部署中文语音识别API服务器

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

关注“AI柠檬博客”微信公众号,及时获取你最需要的干货。


“教你如何使用ASRT部署中文语音识别API服务器”上的2条回复

ASRT语音识别的Python代码跟操作系统没啥关系,你完全可以拿来运行在Windows系统上启动模型训练或者推理服务,可以认为就是Windows下实现的。至于Windows下客户端界面的话,完全可以参考这个项目:https://github.com/nl8590687/ASRT_SDK_WinClient
界面和语音识别后端服务是分离的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

11 − 4 =

如果您是第一次在本站发布评论,内容将在博主审核后显示,请耐心等待