前言
之前的文章绍一个准确率非常高的语音识别框架,但那个只能识别实时的短音频,如果想要识别一个非常长的音频,几十分钟,甚至几个小时,那之前的那个是做不到的所以就有了本文。本文介绍搭建一个长语音识别服务,可以把任意长度的音视频到识别结果。
启动Docker服务
需要把整个文件夹上传到服务器上,并在该目录执行以下命令:
编译Docker容器:
sudo docker build -t offline_asr .
修改权限:
sudo chmod +x run_server.sh
在项目根目录执行启动命令:
sudo docker run -p 10095:10095 -itd --privileged=true --name offline_asr -v $PWD/:/workspace/websocket offline_asr
重新启动服务,如果之前因为一些原因关闭了docker服务,可以执行下面命令重新启动,需要开机自启动的,把下面命令复制到开机自启动脚本中/etc/rc.local
:
sudo docker start offline_asr
测试服务
使用上面服务之后,可以执行下面命令测试一下服务是否正常启动可用。
python asr_client.py --wav_path=test.wav
搭建HTTP服务
上面搭建的是websocket的服务,使用起来非常不方便,所以下面提供了一个Websockt转http服务的程序,并且提供了网页可以上传音视频获取识别结果,启动HTTP服务命令如下。
python asr_server.py
访问http://192.168.0.100:6060
打开页面,可以上传WAV、MP3、MP4等多种格式,同时也支持录制识别。
扫码入知识星球,搜索【FunASR语音识别长音频视频服务】获取源码