FunASR 在Linux/Unix 平台编译

news/2025/1/20 18:12:33/

第一步拉取镜像并生成容器:

### 镜像启动

通过下述命令拉取并启动FunASR软件包的docker镜像:

```shell

sudo docker pull \

registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12

mkdir -p ./funasr-runtime-resources/models

sudo docker run -p 10096:10095 -it --privileged=true \

-v $PWD/funasr-runtime-resources/models:/workspace/models \

registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12

```

第二步进入容器,并进入目标文件夹进行编译:

### 安装依赖

```shell

# openblas

sudo apt-get install libopenblas-dev #ubuntu

# sudo yum -y install openblas-devel #centos

# openssl

apt-get install libssl-dev #ubuntu

# yum install openssl-devel #centos

```

### 编译 runtime

```shell

git clone https://github.com/alibaba-damo-academy/FunASR.git && cd FunASR/runtime/websocket

mkdir build && cd build

cmake  -DCMAKE_BUILD_TYPE=release .. -DONNXRUNTIME_DIR=/workspace/onnxruntime-linux-x64-1.14.0 -DFFMPEG_DIR=/workspace/ffmpeg-master-latest-linux64-gpl-shared

make -j 4

```

第三步:

### 服务端启动

docker启动之后,启动 funasr-wss-server-2pass服务程序:

```shell

cd FunASR/runtime

nohup bash run_server_2pass.sh \

--download-model-dir /workspace/models \

--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \

--model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx \

--online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx \

--punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx \

--lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \

--itn-dir thuduj12/fst_itn_zh \

--hotword /workspace/models/hotwords.txt > log.txt 2>&1 &

# 如果您想关闭ssl,增加参数:--certfile 0

# 如果您想使用SenseVoiceSmall模型、时间戳、nn热词模型进行部署,请设置--model-dir为对应模型:

# iic/SenseVoiceSmall-onnx

# damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx(时间戳)

# damo/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404-onnx(nn热词)

# 如果您想在服务端加载热词,请在宿主机文件./funasr-runtime-resources/models/hotwords.txt配置热词(docker映射地址为/workspace/models/hotwords.txt):

# 每行一个热词,格式(热词 权重):阿里巴巴 20(注:热词理论上无限制,但为了兼顾性能和效果,建议热词长度不超过10,个数不超过1k,权重1~100)

# SenseVoiceSmall-onnx识别结果中“<|zh|><|NEUTRAL|><|Speech|> ”分别为对应的语种、情感、事件信息

```


http://www.ppmy.cn/news/1564719.html

相关文章

【全栈开发】----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的&#xff0c;若还未下载或未创建Mysql服务&#xff0c;请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易&#xff08;保姆级&#xff09;_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…

【Rust自学】13.2. 闭包 Pt.2:闭包的类型推断和标注

13.2.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发&#xff0c;而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中&#xff0c;我们会讨论 Rust 的一…

【C语言】_自定义类型:联合体

目录 1. 联合体类型的声明 2. 联合体的特点 3.1 成员变量共用一块内存 3.2 由于共用内存导致的相关性 4. 结构体与联合体对比 5. 联合体大小的计算 6. 联合体的应用 6.1 多类型特定属性组结构体 6.1.1 设计方案1&#xff1a;采用纯结构体 6.1.2 设计方案2&#xff1a…

2025寒假备战蓝桥杯01---朴素二分查找的学习

文章目录 1.暴力方法的引入2.暴力解法的思考 与改进3.朴素二分查找的引入4.朴素二分查找的流程5.朴素二分查找的细节6.朴素二分查找的题目 1.暴力方法的引入 对于下面的这个有序的数据元素的组合&#xff0c;我们的暴力解法就是挨个进行遍历操作&#xff0c;一直找到和我们的这…

PHP版接口调试工具(自定义GET|POST|COOKIE|HEADER|User Agent|来路Referer)

<?php // 如果是OPTIONS请求&#xff0c;直接返回 if ($_GET[act] ! ) { header(Content-Type: application/json); // 允许跨域请求 header(Access-Control-Allow-Origin: *); header(Access-Control-Allow-Methods: GET, POST, OPTIONS); header(Access-Control-Allow-He…

SQL Server查询计划操作符——查询计划相关操作符(4)

7.3. 查询计划相关操作符 28)Declare:该操作符在查询计划中分配一个本地变量。该操作符是一个语言元素。该操作符具体如图7.2-28所示。 图 7.2-28 查询计划操作符Declare示例 29)Delete:该操作符从一个对象中删除满足其参数列中可选谓词的数据行。该操作符具体如图7.2-29…

SQL ON与WHERE区别

在 MySQL 中&#xff0c;ON 和 WHERE 都用于过滤数据&#xff0c;但它们的使用场景和作用有所不同&#xff0c;尤其是在涉及 JOIN 操作时。下面通过具体的例子来说明它们的区别。 1. ON 的作用 ON 用于指定表之间的连接条件&#xff0c;决定哪些行应该被连接在一起。它在 JOI…

【js进阶】设计模式之单例模式的几种声明方式

单例模式&#xff0c;简言之就是一个类无论实例化多少次&#xff0c;最终都是同一个对象 原生js的几个辅助方式的实现 手写forEch,map,filter Array.prototype.MyForEach function (callback) {for (let i 0; i < this.length; i) {callback(this[i], i, this);} };con…