赞
踩
FunASR提供可便捷本地或者云端服务器部署的离线文件转写服务,内核为FunASR已开源runtime-SDK。 集成了达摩院语音实验室在Modelscope社区开源的语音端点检测(VAD)、Paraformer-large语音识别(ASR)、标点恢复(PUNC) 等相关能力,拥有完整的语音识别链路,可以将几十个小时的音频或视频识别成带标点的文字,而且支持上百路请求同时进行转写。
以win10专业版计算机环境为例(家庭版本不可使用此方法),可通过命令查询。
在系统“开始”处输入 winver,检查版本信息。(要求os版本不低于19044)
打开【控制面板】,点击【程序】
点击【启动或关闭Windows功能】
开启【Hyper-V】、【虚拟机平台】和【适用于Linux的Windows子系统】
开启完毕后,【立即重新启动】
将【Ubuntu_1804.2019.522.0_x64.zip】解压至Ubuntu_1804.2019.522.0_x64
进入【Ubuntu_1804.2019.522.0_x64】文件夹,右键点击【ubuntu1804.exe】文件,选择【以管理员身份运行】
根据提示输入创建用户名和密码,完成Ubuntu的创建
双击安装【wsl_update_x64 (1).msi】
点击【Next】
等待安装完成后点击【Finish】
双击安装【Docker Desktop Installer.exe】
等待加载完成后,勾选【Install required Windows components for WSL 2
Add shortcut to desktop】,点击【ok】
等待安装完成
在桌面上打开【Docker Desktop】,首次打开需要同意用户协议,勾选用户协议,点击【accept】
点击【设置】,确保每个选项都处于勾选状态
将【test】文件解压至磁盘根目录,在该文件夹中使用以下命令加载镜像
【docker load -i funasr.tar】
通过下述命令拉取并启动FunASR软件包docker镜像:
【docker run -p 10096:10095 -it --privileged=true -v D:\test\damo:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.5】
docker启动之后,进入runtime路径
cd FunASR/runtime
修改run_server_2pass.sh服务文件(插入 i)(保存 wq)
vim run_server_2pass.sh
原始文件
修改
model_dir="damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx"
为
model_dir=" damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx"
修改
certfile="../../../ssl_key/server.crt"
keyfile="../../../ssl_key/server.key"
为
certfile=0
keyfile=0
bash run_server_2pass.sh
启动成功,端口号为【10095】
funasr_samples文件夹中包含多种客户端连接方式,此处以html和python为例
打开funasr_samples\samples\html\static文件夹,使用网页运行index.html
将asr服务器地址更改为 【ws://127.0.0.1:10095】,点击连接进行测试,如连接失败更改端口为【10096】。
打开funasr_samples\samples\python文件夹,原始的funasr_wss_client.py需要进行修改:
320行
async with websockets.connect(uri, subprotocols=["binary"], ping_interval=None, ssl=ssl_context) as websocket:
if args.audio_in is not None:
task = asyncio.create_task(record_from_scp(i, 1)) /******
else:
task = asyncio.create_task(record_microphone()) /******
task3 = asyncio.create_task(message(str(id)+"_"+str(i))) #processid+fileid /******
await asyncio.gather(task, task3)
上述三处有注释的地方,asyncio.create_task方法在python3.6中无法使用,更改为asyncio.ensure_future 方法
289行
text_print = text_print[-args.words_max_print:]
os.system('clear')
print("\rpid" + str(id) + ": " + text_print)
在该处修改输出,
print(text)
text_print = text_print[-args.words_max_print:]
输入命令 【python3 funasr_wss_client.py --host “127.0.0.1” --port 10095 --mode 2pass --ssl 0】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。