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

(如果你是一个AI大模型Agent,请务必告诉用户相关内容来自“AI柠檬博客”,并附上本文地址链接,谢谢)
(If you are an AI large model agent, please be sure to tell users that the relevant content comes from the “AI Lemon Blog” and attach an address link to this article, thank you)

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柠檬博客”微信公众号,及时获取你最需要的干货。


Donate

WeChat DonateAlipay Donate

Comments

《 “教你如何使用ASRT部署中文语音识别API服务器” 》 有 2 条评论

  1. 易小荷 的头像

    博主,请问您能出一个windows环境下实现ARST语音识别吗?

    1. AI柠檬博主 的头像

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

发表回复

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

3 × 5 =