FunASR Windows本地部署(语音转文字)
取名字麻烦死人了
2024年06月08日 15:57
收录于文集
共1篇

阿里新开源的FunASR仓库(语音转文字),识别速度快,精度高。

FunASR的部署可以使用Docker,有关Docker的部署教程就很多了,一搜就是一大堆,我就不写了。

我就写一下Python本地部署的过程。

1.下载FunASR仓库

github仓库链接:https://github.com/modelscope/FunASR

直接下载仓库Zip文件。

下载完成后,解压缩。

2.创建虚拟环境

要求:

  • python≥3.8

  • torch≥1.13

  • torchaudio

1)安装好Python后,打开cmd,输入后面的命令并回车:pip install virtualenv

2)然后在解压缩出来的仓库目录下打开cmd,输入后面的命令并回车:virtualenv venv

注意:如果电脑上有多个Python版本,执行上面的命令时,需要指定一下Python版本,像这样:virtualenv venv --python=pythonx.x.x

3)上面创建完虚拟环境后,就能看到仓库根目录下新建了一个venv文件夹,里面有一个Scripts文件夹。

4)在Scripts文件夹中打开cmd,输入后面的命令并回车:activate

5)这时,刚才的cmd窗口就会出现(venv) C:\xxxx\xxxx\Scripts> 这样的界面了。这就代表虚拟环境启动成功了,这个窗口不要关闭。

3.安装库

上一步打开的虚拟环境窗口,路径是在Scripts下,现在需要cd路径到仓库根目录下。执行两次:cd ../

这时cmd窗口的路径就在FunASR路径下了。

然后分别执行下面的命令:

pip install -e ./

pip install modelscope

pip install torch torchaudio

上面的三个pip命令是安装必要的库。安装可能会很久,等待即可。

4.运行示例

运行runtime/python/websocket文件夹下的funasr_wss_server.py文件。

注意:这里运行示例文件是为了下载模型文件,模型文件会被下载到当前电脑用户的.cache/modelscope/hub/iic文件夹中。当然,也可以手动下载模型并放到这个目录下,如果手动下载模型的话,就不需要执行这一步了。

5.测试识别

在仓库根目录下新建一个test.py文件,并输入代码:

from funasr import AutoModel

import datetime

# paraformer-zh is a multi-functional asr model

# use vad, punc, spk or not as you need

model = AutoModel(model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc")

res = model.generate(input=f"要识别的wav文件路径",

batch_size_s=300,

hotword='魔搭')

print(res)

修改代码中的要识别的wav文件路径,然后运行这个test.py,正常的话将看到这样的输出:

我们需要的是最后的白色文本,这才是对音频文件的识别结果。

到此,本地部署就完成了。

如果要将FunASR部署成服务,可以使用flask来实现,写一个upload接口,然后调用模型识别就行了。