whisper相关项目的安装与使用

Whisper是一种通用的语音识别模型。它在不同音频的大型数据集上训练。它也是一个多任务模型,可以执行多语种语音识别、语音翻译语音语种识别。

1. openai/whipser安装与使用

1.1. openai/whipser安装

conda create -n whisper python=3.10
source activate whisper

#安装whisper
pip3 install -U openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple
#修改PyTorch为对应cuda可支持的版本
pip3 uninstall torch
pip3 install torch==2.5.1 --extra-index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 需要系统支持ffmpeg,非root安装
# 需要先安装依赖yasm,安装后添加环境量PATH
wget 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 --enable-shared --prefix=/media/yangdi/yasm-1.3.0
make -j20
make install
#安装ffmpeg,安装后添加环境量PATH和LD_LIBRARY_PATH
wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
tar -xvf ffmpeg-4.1.tar.xz
cd ffmpeg-4.1/
./configure --enable-shared --prefix=/media/yangdi/ffmpeg-4.1
make -j20
make install

1.2. openai/whisper的使用

import whisper
import time

model_start_time = time.time()
# device选择具体的卡,默认0
model = whisper.load_model("turbo",  device="cuda:0")
model_end_time = time.time()

print("load model {:.4f}s".format(model_end_time - model_start_time))

asr_start_time = time.time()
result = model.transcribe("test.wav")
asr_end_time = time.time()
print(result["text"])
print("use time {:.4f}".format(asr_end_time - asr_start_time))

2. faster-whisper安装与使用

2.1. faster-whisper安装

faster-whisper要求cuda12以上和CuDNN9以上,我们安装cuda12.1和cuDNN9.1。
cuDNN下载地址:https://developer.nvidia.com/cudnn-archive

#安装cuDNN9.1
wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.1.1.17_cuda12-archive.tar.xz


conda create -n faster-whisper python=3.10
source activate faster-whisper

#安装faster-whisper
pip3 install faster-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple

2.2. faster-whisper使用

需要在huggingface上下载turbo模型,然后使用local_files_only=True读取本地路径文件

from faster_whisper import WhisperModel
import time

model_start_time = time.time()
# Run on GPU with FP16
model = WhisperModel("faster-whisper-large-v3-turbo-ct2", device="cuda", device_index=0, compute_type="float16", local_files_only=True)
model_end_time = time.time()
print("load model: {:.4f}".format(model_end_time - model_start_time))

text_list = []
asr_start_time = time.time()
segments, info = model.transcribe("data-en/Anne Hathaway Forgets The Princess Diaries and The Devil Wears Prada Details.wav", beam_size=5)
segments = list(segments)
asr_end_time = time.time()
for segment in segments:
    #print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
    text_list.append(segment.text)

text = " ".join(text_list)
print("Detected language '%s' with probability %f" % (info.language, info.language_probability))
print(text)
print("use time {:.4f}".format(asr_end_time - asr_start_time))

3. openai/whisper与faster-whisper对比

使用混合turbo模型,在4090D上的测试时间
faster-whisper使用FP16

对比项whisperfaster-whisper提升情况
模型初始化时间8.4s1.7s80%
显存占用6G2.5G58%
处理耗时21.5s23.2s-8%
WER0.17820.1795-0.8%
### 解决 Faster Whisper 安装失败的方法 当面对 `faster-whisper` 安装过程中可能出现的问题时,有几个常见的原因可能导致安装失败。以下是详细的排查和解决方案。 #### 1. Python 版本不匹配 确保使用的 Python 版本项目要求相匹配。通常情况下,建议使用 Python 3.8 或更高版本[^1]。可以通过命令行检查当前环境中的 Python 版本: ```bash python --version ``` 如果发现版本过低,则应考虑升级 Python 或创建一个新的虚拟环境并指定合适的 Python 版本。 #### 2. pip 工具更新不足 有时旧版的 pip 可能无法正确解析某些包的需求或存在其他 bug。因此,在尝试安装任何依赖之前,请先确认已将 pip 更新到最新版本: ```bash pip install --upgrade pip ``` 这一步骤有助于减少因工具本身引起的潜在冲突问题。 #### 3. CUDA 和 PyTorch 配置不当 对于希望利用 GPU 加速模型推理速度的情况来说,正确配置 CUDA 和相应版本的 PyTorch 至关重要。具体而言,应当依据本地硬件条件选择恰当的 PyTorch 发布版本(CPU-only / CUDA-enabled),并通过官方指南完成安装过程。 #### 4. 虚拟环境中操作失误 强烈推荐在一个干净独立的 Python 虚拟环境下进行开发工作。这样不仅可以有效隔离不同项目的依赖关系,还能简化调试流程。可以借助 conda 或 venv 创建新的虚拟环境,并激活后再继续后续步骤。 #### 5. 使用特定源镜像加速下载 国内用户可能由于网络因素而遭遇较慢甚至中断的软件包获取体验。此时可选用阿里云、清华大学等提供的 pypi 源作为替代选项之一,从而提高成功率和效率。例如设置临时性的索引 URL 参数如下所示: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package-name ``` 或者永久修改全局配置文件 ~/.pip/pip.conf 中的相关字段实现相同效果。 通过上述措施往往能够显著改善 `faster-whisper` 的安装状况。当然实际场景下还可能存在更多个性化难题等待探索解决之道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莽夫搞战术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值