Whisper-OpenAI的语音魔术师

2025年09月13日 17:14:24
4772
AI文字转语音 AI语音转文字 AI翻译

项目结构

📌 whisper openai/whisper

OpenAI开源的语音识别模型,能把语音转文字、文字转语音,还支持99种语言!关键是准确率超高,连带口音的中文、英文都能轻松识别,简直是会议记录、视频字幕的救星。

项目大小 6.96 Byte
涉及语言 Python 100.00%
许可协议 MIT License

Whisper

[Blog]
[Paper]
[Model card]
[Colab example]

Whisper is a general-purpose speech recognition model. It is trained on a 大 dataset of diverse audio 并且 is also a multitasking model that can perform multilingual speech recognition, speech translation, and language identification.

方法

Approach

A Transformer sequence-to-sequence model is trained on various speech processing tasks, including multilingual speech recognition, speech translation, spoken language identification, and voice activity detection. These tasks are jointly represented as a sequence of tokens to be predicted by 的 decoder, allowing a single model to replace many stages of a traditional speech-processing pipeline. 的 multitask training format uses a set of special tokens that serve as task specifiers 或者 classification targets.

设置

我们使用了Python 3.9.9和 PyTorch 1.10.1 to train and test our models, but the code基础 is expected to be compatible with Python 3.8-3.11 and recent PyTorch versions. 的 codebase also depends on a few Python packages, most notably OpenAI’s tiktoken 因为他们的快速分词器实现。 您可以下载并安装(或更新到)最新版本的 Whisper with the following command:

pip install -U openai-whisper
      

或者,可以使用以下命令拉取并安装此仓库的最新提交及其Python依赖项:

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

到 update the package to the latest version of this repository, please run:

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

它还需要命令行工具 ffmpeg 将被安装到您的系统上,该系统可以从大多数软件包管理器获取:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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 没有为您的平台提供预构建的轮子。 如果您在安装过程中看到错误信息 pip install 命令以上,请遵循 Getting started page 安装Rust开发环境。 此外,您可能还需要配置 PATH 环境变量,例如 export PATH="$HOME/.cargo/bin:$PATH"如果安装失败时 No module named 'setuptools_rust'你需要安装 setuptools_rust例如,通过运行:

1
pip install setuptools-rust

可用模型和语言

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

尺寸 参数 纯译文输出:[“只支持英语的模型”] 多语言模型 所需VRAM 相对速度
微型 39 M tiny.en tiny ~1GB ~10x
base 74 M base.en base ~1 GB ~7x
小的 244 M small.en small ~2GB ~4x
中等 769 M medium.en medium ~5GB ~2x
large 1550 M large ~10 GB 1x
涡轮 809 M N/A turbo ~6GB ~8x

The .en 只适用于英语应用的模型通常表现更好,尤其是对于以下内容 tiny.en and base.en 模型。 We observed that the difference becomes less significant for the small.en and medium.en models.
此外,该 turbo 模型是优化后的版本 large-v3 提供更快的转录速度,同时对准确性影响极小。

Whisper’其性能因语言而异,差异很大。 如下图所示是性能分解情况 large-v3 and large-v2 按语言划分模型,使用WER(词错误率)或CER(字符错误率,如所示) 斜体在Common Voice 15和Fleurs数据集上进行评估。 其他模型和数据集对应的额外WER/CER指标可以参见附录D.1、D.2和D.4中的内容 the paper以及附录D.3中翻译的BLEU(双语评估替代)分数。

WER breakdown by language

命令行用法

以下命令将使用语音识别功能将音频文件中的语音转录为文字 turbo 模型:

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

默认设置(该设置会选择的 turbo 该模型在转录英语时表现良好。 然而, the turbo 模型未用于翻译任务训练如果你需要 将非英语口语翻译成英语使用其中一个 多语言模型 (tiny, base, small, medium, large而不是 turbo.

例如,要转录包含非英语语音的音频文件,您可以指定语言:

1
whisper japanese.wav --language Japanese

To translate 将语音转为英语,使用:

1
whisper japanese.wav --model medium --language Japanese --task translate

注意: The turbo 模型将返回原始语言即使 --task translate 已指定。使用 medium or large 为了获得最佳的翻译效果。

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

1
whisper --help

看见 tokenizer.py 所有可用语言的列表。

Python 使用

转录也可以在Python中进行:

1
2
3
4
5
import whisper
 
model = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])

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

以下是使用示例 whisper.detect_language() and whisper.decode() 提供对模型的底层访问权限。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import whisper
 
model = 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 category in Discussions for sharing more example usages of Whisper 以及第三方扩展,如网络演示、与其他工具的集成、不同平台的移植等。

授权许可

Whisper’该代码和模型权重在MIT许可协议下发布。 看见 LICENSE 如需更多详情。

免责声明 © 2025 - 虚宝阁

本站部分源码来源于网络,版权归属原开发者,用户仅获得使用权。依据《计算机软件保护条例》第十六条,禁止:

  • 逆向工程破解技术保护措施
  • 未经许可的分发行为
  • 去除源码中的原始版权标识

※ 本站源码仅用于学习和研究,禁止用于商业用途。如有侵权, 请及时联系我们进行处理。

侵权举报请提供: 侵权页面URL | 权属证明模板

响应时效:收到完整材料后48小时内处理

相关推荐

AI-Media2Doc: AI 视频图文创作助手

一键将音视频转化为小红书/公众号/知识笔记/思维导图/视频字幕等各种风格的文档。

2513 2025-09-25

markpdfdown: 基于大模型视觉识别的PDF转Markdown工具

A high-quality PDF to Markdown tool based on large language model visual recognition. 一款基于大模型视觉识别的高质量PDF转Markdown工具

1600 2025-10-08

Retrieval-based-Voice-Conversion-WebUI

Retrieval-based-Voice-Conversion-WebUI是基于VITS的易用变声框架。底模用开源VCTK数据集训练,无版权问题。有训练推理和实时变声界面,具备很多优点。

32357 2025-09-06

VibeVoice: 微软开源的文本转语音项目

让 AI 生成像真实聊天或播客那样自然、流畅的长篇对话语音。

9510 2025-09-16

OpenIsle- 轻量级的Java开源社区系统

这是一个基于 Spring Boot 和 Vue3 构建的开源自由社区系统,定位为轻量级的 Discourse。它完全开源、可二次开发,支持白名单邀请、自定义标签、实时通知等功能。

393 2025-09-13

Claudable:基于 Next.js 框架的网站生成器

把你用自然语言描述的应用想法,直接变成可以运行的网站代码。Claudable 背后依赖强大的 AI 编程助手,主要是 Claude Code,也支持 Cursor CLI 来理解你的需求并生成代码。你不需要懂复杂的 API 设置、数据库配置或者部署流程:用简单的语言告诉 Claudable 你想要什么应用。

2525 2025-09-15

presenton AI PPT 生成器

一个免费的、能完全在你自己电脑上运行的 AI PPT 生成工具。和那些必须联网、依赖服务商云服务的工具不同,Presenton 的核心优势在于本地优先和开放可控。 你的数据你做主, 所有生成演示文稿的过程都在你的电脑上完成。这意味着你的内容创意、上传的文件等敏感信息,无需上传到第三方云端服务器,隐私更有保障。自由选择AI模型,它不绑定任何一家 AI 服务商。你可以灵活选择。

2412 2025-09-14