轻松搞定!在 Windows 10 上安装 FunASR 并运行离线时间戳模型

2024-03-01 22:04

本文主要是介绍轻松搞定!在 Windows 10 上安装 FunASR 并运行离线时间戳模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1、FunASR介绍
  • 2、系统环境安装
    • 2.1 环境要求
    • 2.2 环境设置
    • 2.3 软件环境安装
      • 2.3.1 Ubuntu安装
      • 2.3.2 WSL安装
      • 2.3.3 docker部署
  • 3、服务部署
    • 3.1 docker镜像下载与启动
    • 3.2 配置文件调整
    • 3.3 启动funasr服务
  • 4 客户端连接
    • 4.1 html连接
    • 4.2 python连接
      • 4.2.1 客户端文件修改
      • 4.4.3 客户端运行

1、FunASR介绍

FunASR提供可便捷本地或者云端服务器部署的离线文件转写服务,内核为FunASR已开源runtime-SDK。 集成了达摩院语音实验室在Modelscope社区开源的语音端点检测(VAD)、Paraformer-large语音识别(ASR)、标点恢复(PUNC) 等相关能力,拥有完整的语音识别链路,可以将几十个小时的音频或视频识别成带标点的文字,而且支持上百路请求同时进行转写。

2、系统环境安装

2.1 环境要求

以win10专业版计算机环境为例(家庭版本不可使用此方法),可通过命令查询。
在系统“开始”处输入 winver,检查版本信息。(要求os版本不低于19044)
在这里插入图片描述

2.2 环境设置

打开【控制面板】,点击【程序】
在这里插入图片描述

点击【启动或关闭Windows功能】
在这里插入图片描述

开启【Hyper-V】、【虚拟机平台】和【适用于Linux的Windows子系统】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开启完毕后,【立即重新启动】
在这里插入图片描述

2.3 软件环境安装

2.3.1 Ubuntu安装

将【Ubuntu_1804.2019.522.0_x64.zip】解压至Ubuntu_1804.2019.522.0_x64
在这里插入图片描述

进入【Ubuntu_1804.2019.522.0_x64】文件夹,右键点击【ubuntu1804.exe】文件,选择【以管理员身份运行】
在这里插入图片描述

根据提示输入创建用户名和密码,完成Ubuntu的创建

2.3.2 WSL安装

双击安装【wsl_update_x64 (1).msi】
在这里插入图片描述
点击【Next】
在这里插入图片描述
等待安装完成后点击【Finish】
在这里插入图片描述

2.3.3 docker部署

双击安装【Docker Desktop Installer.exe】
在这里插入图片描述

等待加载完成后,勾选【Install required Windows components for WSL 2
Add shortcut to desktop】,点击【ok】
在这里插入图片描述

等待安装完成
在这里插入图片描述
在这里插入图片描述

在桌面上打开【Docker Desktop】,首次打开需要同意用户协议,勾选用户协议,点击【accept】
在这里插入图片描述

点击【设置】,确保每个选项都处于勾选状态

3、服务部署

将【test】文件解压至磁盘根目录,在该文件夹中使用以下命令加载镜像
【docker load -i funasr.tar】
在这里插入图片描述

3.1 docker镜像下载与启动

通过下述命令拉取并启动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】
在这里插入图片描述

3.2 配置文件调整

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

3.3 启动funasr服务

bash run_server_2pass.sh

在这里插入图片描述

启动成功,端口号为【10095】

4 客户端连接

funasr_samples文件夹中包含多种客户端连接方式,此处以html和python为例

4.1 html连接

打开funasr_samples\samples\html\static文件夹,使用网页运行index.html
在这里插入图片描述

将asr服务器地址更改为 【ws://127.0.0.1:10095】,点击连接进行测试,如连接失败更改端口为【10096】。

4.2 python连接

4.2.1 客户端文件修改

打开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:]

4.4.3 客户端运行

输入命令 【python3 funasr_wss_client.py --host “127.0.0.1” --port 10095 --mode 2pass --ssl 0】

这篇关于轻松搞定!在 Windows 10 上安装 FunASR 并运行离线时间戳模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763972

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与