当前位置: 首页 > news >正文

《Whisper :说明书 》

 [论文] [模型卡] [Colab 示例]

Whisper 是一种通用的语音识别模型。它基于各种音频的大型数据集进行训练,也是一种多任务模型,可以执行多语言语音识别、语音翻译和语言识别。

方法

方法

Transformer 序列到序列模型针对各种语音处理任务进行训练,包括多语言语音识别、语音翻译、口语识别和语音活动检测。这些任务共同表示为解码器要预测的令牌序列,从而允许单个模型替换传统语音处理管道的许多阶段。多任务训练格式使用一组特殊标记,用作任务说明符或分类目标。

设置

我们使用 Python 3.9.9 和 PyTorch 1.10.1 来训练和测试我们的模型,但代码库预计与 Python 3.8-3.11 和最新的 PyTorch 版本兼容。代码库还依赖于一些 Python 包,最值得注意的是 OpenAI 的 tiktoken 用于其快速分词器实现。您可以使用以下命令下载并安装(或更新到)最新版本的 Whisper:

pip install -U openai-whisper

或者,以下命令将从此存储库中提取并安装最新提交及其 Python 依赖项:

pip install git+https://github.com/openai/whisper.git 

要将包更新到此存储库的最新版本,请运行:

pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

它还需要在系统上安装命令行工具 ffmpeg,大多数包管理器都可以使用该工具:

# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg# on Arch Linux
sudo pacman -S ffmpeg# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg

您可能还需要安装 rust,以防 tiktoken 没有为您的平台提供预构建的轮子。如果您在执行上述命令时看到安装错误,请按照 入门 页面安装 Rust 开发环境。此外,您可能需要配置环境变量,例如 .如果安装失败并显示 ,则需要安装 ,例如通过运行:pip installPATHexport PATH="$HOME/.cargo/bin:$PATH"No module named 'setuptools_rust'setuptools_rust

pip install setuptools-rust

可用的模型和语言

有六种型号尺寸,其中四种为仅英文版本,提供速度和精度的权衡。 以下是可用模型的名称及其相对于大型模型的近似内存需求和推理速度。 以下相对速度是通过在 A100 上转录英语语音来测量的,实际速度可能会因许多因素(包括语言、语速和可用硬件)而有很大差异。

大小参数纯英文模型多语言模型必需的 VRAM相对速度
39 Mtiny.entiny~1 GB~10 倍
基础74 Mbase.enbase~1 GB~7 倍
244 Msmall.ensmall~2 GB~4 倍
中等769 Mmedium.enmedium~5 吉字节~2 倍
1550 M不适用large~10 GB1 倍
809 M不适用turbo~6 GB~8 倍

纯英语应用程序的模型往往性能更好,尤其是 和 模型。我们观察到 和 模型的差异变得不那么显著。 此外,该模型是其优化版本,可提供更快的转录速度,同时将准确性的下降降至最低。.entiny.enbase.ensmall.enmedium.enturbolarge-v3

Whisper 的性能因语言而异。下图显示了在 Common Voice 15 和 Fleurs 数据集上评估的 WER(单词错误率)或 CER(字符错误率,以体显示)按语言划分的性能细分。与其他模型和数据集对应的其他 WER/CER 指标可在论文的附录 D.1、D.2 和 D.4 中找到,以及附录 D.3 中用于翻译的 BLEU(双语评估研究)分数。large-v3large-v2

命令行用法

以下命令将使用模型转录音频文件中的语音:turbo

whisper audio.flac audio.mp3 audio.wav --model turbo

默认设置(选择模型)适用于转录英语。要转录包含非英语语音的音频文件,您可以使用以下选项指定语言:turbo--language

whisper japanese.wav --language Japanese

添加会将语音翻译成英文:--task translate

whisper japanese.wav --language Japanese --task translate

运行以下命令以查看所有可用选项:

whisper --help

有关所有可用语言的列表,请参阅 tokenizer.py。

Python 用法

转录也可以在 Python 中执行:

import whispermodel = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])

在内部,该方法读取整个文件并使用 30 秒的滑动窗口处理音频,在每个窗口上执行自回归序列到序列预测。transcribe()

下面是 和 的示例用法,它提供对模型的较低级别访问。whisper.detect_language()whisper.decode()

import whispermodel = whisper.load_model("turbo")# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio, n_mels=model.dims.n_mels).to(model.device)# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)# print the recognized text
print(result.text)

更多示例

请使用 讨论区 中的 Show and tell 类别来分享 Whisper 和第三方扩展的更多示例用法,例如 Web 演示、与其他工具的集成、不同平台的端口等。 🙌

许可证

Whisper 的代码和模型权重在 MIT 许可证下发布。有关更多详细信息,请参阅 LICENSE 。

相关文章:

  • Postman 的 Jenkins 管理 - 自动构建
  • [论文阅读] 人工智能 + 软件工程 | USEagent:迈向统一的AI软件工程师
  • apisix-使用hmac-auth插件进行接口签名身份验证\apisix consumer
  • stm32之使用中断控制led灯
  • C++ 友元
  • 【沉浸式解决问题】baseMapper can not be null
  • 【世纪龙科技】智能网联汽车自动驾驶虚拟实训软件
  • JS红宝书笔记 8.2 创建对象
  • Mybatis之Integer类型字段为0,入库为null
  • Spring-创建第一个SpringBoot项目
  • html实现登录与注册功能案例(不写死且只使用js)
  • Ubuntu编译ffmpeg解决错误:ERROR: avisynth/avisynth_c.h not found
  • Kafka性能压测报告撰写
  • Vue3中使用 Vue Flow 流程图方法
  • 103. 2017年蓝桥杯省赛 - 日期问题(困难)- 暴力枚举
  • (哈希)128. 最长连续序列
  • 华为ModelArts详解
  • 使用 mysql2/promise 模块返回以后,使用 await 返回数据总结
  • 时序数据库概念及IoTDB特性详解
  • C++位图
  • 网站怎样做https/自动化测试培训机构哪个好
  • 杭州规划建设网站/seo网站排名查询
  • 个人主页网站应该怎样做/网络营销的产品策略
  • 无锡网站优化推广/seo搜索引擎优化是什么
  • 梧州论坛手机红豆网/搜索引擎seo排名优化
  • 做游戏的php网站有哪些/怎么样推广自己的产品