基于arm架构图为智盒(T906G)ubuntu20.04搭建open-ai Whisper并实现语音转文字。

前言

        arm架构确实不好玩,奇怪的报错不能只依靠baidu,google必备,不要打怵外文博客。

正文

1.硬件介绍

        图为智盒内置ubuntu20.04系统,内置默认python为3.8,有nvidia显卡,但是我没安明白驱动,本项目实现目前只是在跑CPU,对于GPU的应用后期将继续研究。

2.环境搭建

2.1 安装python3.10.12

        本人尝试了使用内置python3.8直接进行搭建,但是安装完torch,一切准备就绪后发现numpy1.17版本不合要求,numpy和python版本具有对应关系,本人尝试直接安装numpy1.22不兼容,所以本人建议直接安装高版本的python。本人使用的版本是python3.10.12。

2.1.1 依赖安装

        安装python之前,我们需要安装一些必要的依赖项。执行以下命令安装这些依赖项:

# 刷新软件包目录
sudo apt update
# 安装依赖
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev
 2.1.2 python安装

        首先,进行源码下载。

                下载方法1(不推荐):为去python官网Python Source Releases | Python.org)下载源码。进入官网找到需要的版本点击下载即可。

                下载方法2(推荐):通过 wget 下载,在你想要放置的目录下开启终端,执行下述指令,其他版本的python只需要替换版本号即可: 

# 下载 Python 3.10.12
sudo wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz
# 下载其他版本只需替换版本号数字

         其次,解压文件并进入文件一级目录,后续的所有命令均在该目录中执行:

# 解压
tar -xf Python-3.10.12.tar.xz
# 进入该目录
cd Python-3.10.12/

         再次,进行配置:

# 检查依赖与配置编译
sudo ./configure --enable-optimizations --with-lto --enable-shared

这里使用了三个配置项,含义如下:

    --enable-optimizations:用 PROFILE_TASK 启用以配置文件主导的优化(PGO)
    --with-lto:在编译过程中启用链接时间优化(LTO)
    --enable-shared:启用共享 Python 库 libpython 的编译

更多配置项的信息, Python 官方文档中有详细介绍。

运行该步骤后,自动生成 Makefile。

        随后,进行编译,其中-j后面的数字含义为参与编译的核心数,图为智盒T906G的核心数为8,本人编译用了6颗,此过程耗时较长,可以开1-2局王者荣耀:

# 编译,-j 后面的数字为参与编译的CPU核心数,根据计算机配置调整
sudo make -j 6

编译结束后,注意仔细查看一下输出,检查是否存在错误,本人在这步很顺利没有报错,有报错百度、谷歌一下。

        然后,安装,使用 altinstall 而不是 install,是因为系统已存在python,执行install将会直接覆盖原版本,有可能导致系统原先搭建的环境不兼容,发生损坏。

sudo make altinstall

        最后, 链接动态库,由在编译配置中有 --enable-shared 的选项,故此时直接使用命令 python3.10 会提示无法找到 libpython3.10.so.1.0 的错误。只需找到该 so 文件,复制(或创建符号链接)到 /usr/lib/ 目录下即可,依次执行下列两条指令:

# 找到 libpython 的位置
whereis libpython3.10.so.1.0
#执行上述指令将显示:libpython3.10.so.1: /usr/local/lib/libpython3.10.so.1.0
# 在 /usr/lib/ 下创建 libpython 的符号链接
sudo ln -s /usr/local/lib/libpython3.10.so.1.0 /usr/lib/

        运行指令python -V,能够看到版本号即说明安装成功。

        至此,本系统内将存在多个python,应用时难免困惑用的是哪个python?不用担心,下一步我们将进行虚拟环境搭建,想用哪个就用哪个。

2.2虚拟环境搭建

2.2.1安装工具

        说到虚拟环境,第一反应应该是anaconda,但遗憾的是anaconda各种版本均不支持arm64,所以本人使用虚拟环境工具 python3-venv ,安装执行如下指令:

sudo apt-get install python3-venv
  2.2.2搭建虚拟环境 

        寻找一个目录,建议目录简单一些的,最好在home下,方便后续激活环境时少敲字符。通过以下命令创建并激活一个新的虚拟环境:

#创建虚拟环境,其中python后的版本即为虚拟环境的python版本,gg_env为虚拟环境的名称,可任意起
python3.10 -m venv gg_env
#激活虚拟环境,后续在其他终端激活虚拟环境时,注意环境的名称需要带上路径,比如soure ~/Downloads/gg_env/bin/activate
source gg_env/bin/activate

其中命令里python后的版本即为虚拟环境中的python版本,同时需要注意,后续在其他终端激活虚拟环境时,注意环境的名称需要带上路径,比如soure ~/Downloads/gg_env/bin/activate。       

2.3安装依赖

2.3.1安装numpy

        本人因为遇到numpy问题,故特此说明一下,python3.10.12默认安装的是多少版本我也忘了,反正够用,注意激活虚拟环境之后执行以下步骤,在虚拟环境中安装依赖。执行下述命令安装numpy,若要指定版本加上版本号即可,用pip install numpy==1.22,这里默认即可:

pip install numpy

安装成功可以用如下指令检验,成功则执行后不会出现任何其他提示:

#进入python,加载numpy
python
imoprt numpy

       

2.3.2安装pytorch

        对于pytorch的安装,去pytorch官网Start Locally | PyTorch)选择以下配置即可,复制安装命令,安装即可。pytorch官网

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

检测安装是否成功,执行下列指令,进入python,加载torch,不报错、无其他提示即成功:

python
import torch
 2.3.3安装ffmpeg

        执行下列指令安装ffmpeg,用来解码各种音频文件。

sudo apt install ffmpeg

2.4安装Whisper

2.4.1下载源码

        去Whisper官网https://github.com/openai/whisper/releases)的发布版本中寻找钟意的下载下来并解压进入文件目录。或执行下列命令进行下载与进入目录:

git clone https://github.com/openai/whisper.git
cd whisper/
2.4.2安装

        进入目录后,执行下列命令进行安装:

pip install -r requirements.txt
pip install -U openai-whisper
pip install git+https://github.com/openai/whisper.git 
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
pip install setuptools-rust

2.5使用Whisper

        使用whisper --help命令可以了解其相关脚本参数的含义及使用方法,这里举例语音识别脚本例子:

#--model表示使用的模型,不同模型尺寸不同,准确率不同
#--language表示翻译的语言类型
#test.mp3为待识别的语音文件,也支持wav等格式的音频文件
whisper test.mp3 --model tiny --language Chinese

 其他的脚本参数及功能(翻译等)请参考官网GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision)文件,这里就不加赘述。

参考文献

本地部署 Whisper 及 WhisperDesktop_engchina的博客-CSDN博客

在 Ubuntu 22.04 上安装 Python 3.9(多版本适用)_ubuntu安装python3.9_muzing_的博客-CSDN博客

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值