linux部署Whisper 视频音频转笔墨

打印 上一主题 下一主题

主题 879|帖子 879|积分 2637

github链接:链接
我这里使用anaconda来部署,debian12体系,其他linux也同样
可以使用gpu大概cpu版本,建议使用n卡,rtx3060以上
一、前期准备

1.linux体系

链接:debian安装
链接:ubuntu安装
2.anaconda

链接:anaconda安装
3.cuda

链接:cuda安装
二、安装部署

1.创建新的conda环境

  1. conda create -n whisper python=3.9
复制代码
  1. conda activate whisper
复制代码
2.安装PyTorch

gpu版本
  1. conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
复制代码
cpu版本
  1. conda install pytorch torchvision torchaudio cpuonly -c pytorch
复制代码
3.安装ffmpeg

  1. conda install ffmpeg -c conda-forge
复制代码
4.安装Whisper

  1. pip install -U openai-whisper
复制代码
5.验证

  1. whisper --help
复制代码
假如有反应就是安装正确
三、模型说明

可以使用差别尺寸的模型,对硬件的要求也不一样,速度也不一样
模型在第一次使用,假如没有的环境下会下载,假如下载过慢,可以实验手动下载
会放在 ~/.cache/whisper/文件夹下
0.效果参考

假如紧张以中文为目标,tiny、base、small效果差,medium委曲可以用,large效果最好但是速度慢许多,turbo效果仅次于large,但是速度很快,所以是优选。
天生会有多个文件格式,适用不怜悯况。

1.模型下载地址(.pt)

模型在第一次使用,假如没有的环境下会自动下载,假如下载过慢,可以实验手动下载,所以先跳过这一步,假如背面太慢再返来
放在 ~/.cache/whisper/文件夹下
tiny:链接
base:链接
small:链接
medium:链接
large-v3:链接
2.模型下载地址(.safetensors)不推荐

下载的是model.safetensors这个模型
safetensors模型不能直接使用,必要转化为.pt格式,假如必要直接可以用,必要下载pt文件
tiny模型下载地址:链接
large模型下载地址:链接
turbo模型下载地址:链接
假如下载过慢,可以使用国内镜像https://hf-mirror.com/
四、使用

1.简单转录

  1. whisper audio.mp3
复制代码
2.使用特定尺寸模型

  1. whisper audio.mp3
  2. --model large
复制代码
转录多个(多种)
  1. whisper audio.flac audio.mp3 audio.wav --model turbo
复制代码
3.指定语言

有多种语言可以选择,必要参考官方,我这里使用汉语来处理
  1. whisper audio.wav --language Chinese --model turbo
复制代码
4.通过python调用

除了手动输入命令,当然可以用python编程使用,下面是官方的案例,我就直接贴出来了:
  1. import whisper
  2. model = whisper.load_model("turbo")
  3. # load audio and pad/trim it to fit 30 seconds
  4. audio = whisper.load_audio("audio.mp3")
  5. audio = whisper.pad_or_trim(audio)
  6. # make log-Mel spectrogram and move to the same device as the model
  7. mel = whisper.log_mel_spectrogram(audio).to(model.device)
  8. # detect the spoken language
  9. _, probs = model.detect_language(mel)
  10. print(f"Detected language: {max(probs, key=probs.get)}")
  11. # decode the audio
  12. options = whisper.DecodingOptions()
  13. result = whisper.decode(model, mel, options)
  14. # print the recognized text
  15. print(result.text)
复制代码
五、其它

1.视频转音频

视频占用空间大,可以先在另一台呆板进行处理成音频,然后再进行转化
当然是使用ffmpeg,我这里将.ts视频转化为.wav格式,
-vn:去掉视频流。
-ar 16000:调整采样率为 16kHz(Whisper 推荐)。
-ac 1:设置单声道。
  1. ffmpeg -i abcd.ts -vn -acodec pcm_s16le -ar 16000 -ac 1 abcd.wav
复制代码
2.分段处理

这里分段成300s一个视频
  1. ffmpeg -i abcd.ts -f segment -segment_time 300 -c copy segment_%03d.ts
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表