侧边栏壁纸
博主头像
lukeewin的博客博主等级

行动起来,活在当下

  • 累计撰写 10 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

FunASR语音识别

Administrator
2024-09-13 / 0 评论 / 1 点赞 / 26 阅读 / 5798 字 / 正在检测是否收录...

一、研究背景

电话客服中语音识别出对话内容,并且识别出客服的静默时间。在做回访时,做声纹识别区分客服和客户,并且对客户声音进行声纹识别,判定是否是初次打电话的人。

二、相关资料

1. 模型微调

模型微调参考文档

三、安装过程

1. 安装Anaconda

首先推荐先执行下面命令更新系统依赖

yum install update
yum upgrade

安装Anaconda

chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh
bash Anaconda3-2023.09-0-Linux-x86_64.sh

2. 安装FFmpeg

安装GCC

yum install gcc
gcc --version

注意:如果是无网络的情况下安装,可以先在有网的电脑上把下面的几个文件下载,然后上传到无网络的机器上。

需要注意安装顺序。

mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
cpp-4.8.5-44.el7.x86_64.rpm
kernel-headers-3.10.0-1160.108.1.el7.x86_64.rpm
glibc-headers-2.17-326.el7_9.x86_64.rpm
glibc-devel-2.17-326.el7_9.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm

如果安装rpm安装包

rpm -ivh package.rpm

安装yasm

# 下载
wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
# 解压
tar -zxvf yasm-1.3.0.tar.gz
# 切换目录
cd yasm-1.3.0
# 执行配置
./configure
# 编译并安装
make && make install

安装ffmpeg

# 下载源码
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
# 切花目录
cd ffmpeg
# 执行配置
./configure
# 编译并安装
make && make install

3. 编译安装FunASR

下载FunASR代码

git clone https://gitcode.com/alibaba-damo-academy/FunASR.git

切换目录

cd FunASR/runtime/websocket

编译之前需要先安装下面系统依赖

yum install -y openblas-devel // 如果提示没找到这个安装包,那么可以从  EPEL 中下载安装
yum install -y openssl-devel

BLAS是基本的矩阵库,OpenBLAS是高性能多核BLAS

安装的前提是GCCG++版本大于4.8

如果还没安装这两个软件,请安装。

yum install -y gcc 
yum install -y gcc-c++

开始安装openblas

yum install epel-release
yum install openblas
yum install openblas-devel

手动安装可以参考这篇文章

3.1 下载onnxruntime

wget https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/dep_libs/onnxruntime-linux-x64-1.14.0.tgz
tar -zxvf onnxruntime-linux-x64-1.14.0.tgz

3.2 编译安装

mkdir build && cd build

安装cmake

注意不要直接使用yum命令安装,使用下面的命令安装的版本过低,需要cmake版本大于等于3.16

cmake官网

从官网中下载编译好的二进制文件,执行下面的脚本回自动下载,然后配置到系统中

chmod +x cmake-3.28.2-linux-x86_64.sh
bash cmake-3.28.2-linux-x86_64.sh
cd cmake-3.28.2-linux-x86_64/bin
ln -s /usr/local/software/cmake/cmake-3.28.2-linux-x86_64/bin/cmake /usr/bin/cmake

使用下面的命令编译安装

cmake  -DCMAKE_BUILD_TYPE=release .. -DONNXRUNTIME_DIR=/path/to/onnxruntime-linux-x64-1.14.0 -DFFMPEG_DIR=/path/to/ffmpeg-master-latest-linux64-gpl-shared
make -j 4

四、docker方式运行FunASR

如果还没安装docker,可以先安装docker

curl -sSL https://get.docker.com/ | sh
service docker start
systemctl enable docker

安装完docker后,拉取最新的FunASR镜像

docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.2
mkdir -p ./funasr-runtime-resources/models
docker run -p 10095:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.2

运行FunASR

cd FunASR/runtime
nohup bash run_server.sh \
  --download-model-dir /workspace/models \
  --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
  --model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx  \
  --punc-dir damo/punc_ct-transformer_cn-en-common-vocab471067-large-onnx \
  --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \
  --itn-dir thuduj12/fst_itn_zh \
  --hotword /workspace/models/hotwords.txt > log.out 2>&1 &

# 如果您想关闭ssl,增加参数:--certfile 0
# 如果您想使用时间戳或者nn热词模型进行部署,请设置--model-dir为对应模型:
#   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)

五、部署客户端

安装nginx

yum install -y epel-release
yum -y update
yum install -y nginx

nginx目录

默认的网站目录为:/usr/share/nginx/html
默认的配置文件为:/etc/nginx/nginx.conf
自定义配置文件目录为:/etc/nginx/conf.d/

nignx命令

systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl status nginx
systemctl enable nginx
systemctl disable nginx

六、参考文档

[1] 实时语音识别并发数

[2] FunASR接口调用文档

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区