
whisper官网,github,openai推出的自动语音辨识模型
什么是whisper?
Whisper是OpenAI提供的一种自动语音识别(Automatic Speech Recognition,ASR)系统。它是基于深度学习技术和大规模语音数据集训练而成的模型,用于将语音转换为文本。Whisper的目标是提供准确、高质量的语音识别功能,使用户能够更轻松地处理语音数据并获取相关信息。
whisper官网: https://openai.com/research/whisper
github项目源码地址: https://github.com/openai/whisper
huggingface项目源码地址:
https://huggingface.co/spaces/openai/whisper
whisper论文: https://cdn.openai.com/papers/whisper.pdf

whisper怎么样?
Open AI的Whisper提供了一款自动语音辨识(Automatic Speech Recognition,ASR)模型,为用户提供语音识别和翻译的功能。这个模型的核心功能是语音识别,能够以高准确率将会议录音等语音内容快速转化为文本,并且还能进行翻译,并自动生成字幕。最重要的是,Whisper还支持本地运行,无需联网即可进行语音识别。
🎙️使用Whisper的技巧很简单。用户首先需要进行环境配置和安装,然后可以使用Whisper WebUI进行相关操作。在操作界面上,用户需要选择合适的模型和语言,然后可以粘贴音频的URL或从电脑端/手机端上传音频文件。接下来,用户可以调节语音活性检测(Voice Activity Detector,VAD)的相关参数(对于大于10分钟的非英文音频,建议选择Silero VAD)。提交后,只需等待一段时间,就可以获得转录的文本以及三种字幕文件的生成。
✨借助Whisper,语音识别和翻译变得更加便捷高效。无论是整理会议记录还是处理录音文件,Whisper都能以出色的准确率将语音转化为文字,让用户能够轻松查阅和分享信息。此外,Whisper还能为语音文件生成字幕,方便观看者更好地理解和跟进内容。
🌐而且,Whisper支持本地运行,这意味着用户无需依赖互联网连接,就能享受到优质的语音识别服务。这一特点使得Whisper成为许多用户的首选工具,无论是个人使用还是商业应用,都能得到高效而可靠的语音辨识体验。
主要功能
Whisper的主要功能是将语音转化为文本形式,实现自动语音识别(ASR)。它通过深度学习技术和大规模语音数据集的训练,具备以下主要功能:
- 语音转写:Whisper可以将录音、会议、讲座等语音内容转录为准确的文本形式。这使得用户可以轻松查阅、编辑、搜索和分享语音内容,提高工作效率和信息管理能力。
- 字幕生成:Whisper能够将视频、电影、演讲等场景中的语音内容自动生成字幕。这对于听力障碍者、跨语言交流和无声环境下的观看者都非常有帮助,提供了更好的理解和体验。
- 语音助手:通过将语音输入转换为文本输出,Whisper可以用于构建语音助手应用程序。用户可以通过语音与应用进行交互,提出问题、发送指令等,实现更直观、便捷的操作方式。
- 数据分析和挖掘:将大量的语音数据转化为文本,可以为数据分析和挖掘提供基础。用户可以对转录文本进行关键词提取、情感分析、主题识别等操作,从中获取有价值的信息和洞见。
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不为您的平台提供预构建的轮子。如果您在上述命令中看到安装错误pip install,请按照入门页面安装 Rust 开发环境。此外,您可能需要配置PATH环境变量,例如export PATH="$HOME/.cargo/bin:$PATH". 如果安装失败No module named 'setuptools_rust',则需要安装setuptools_rust,例如通过运行:
pip install setuptools-rust
可用型号和语言
有五种模型尺寸,其中四种只有英文版本,提供速度和准确性权衡。以下是可用型号的名称及其大致的内存要求和相对速度。
| 尺寸 | 参数 | 纯英文模型 | 多语言模型 | 所需显存 | 相对速度 |
|---|---|---|---|---|---|
| 微小的 | 39 米 | tiny.en | tiny | ~1 GB | ~32x |
| 根据 | 74 米 | base.en | base | ~1 GB | ~16x |
| 小的 | 244米 | small.en | small | ~2GB | ~6倍 |
| 中等的 | 769米 | medium.en | medium | ~5 GB | ~2x |
| 大的 | 1550 米 | 不适用 | large | ~10GB | 1x |
.en仅英语应用程序的模型往往表现更好,尤其是对于和tiny.en模型base.en。small.en我们观察到,对于和模型,差异变得不那么显着medium.en。
Whisper 的性能因语言而异。下图显示了使用该模型的 Fleurs 数据集按语言的 WER(单词错误率)细分large-v2(数字越小,性能越好)。与其他模型和数据集相对应的其他 WER 分数可以在附录 D.1、D.2 和 D.4 中找到。同时,更多的 BLEU(双语评估替补)分数可以在附录 D.3 中找到。两者都在论文中找到。

命令行用法
以下命令将使用medium模型转录音频文件中的语音:
whisper audio.flac audio.mp3 audio.wav --model medium
默认设置(选择模型small)适用于转录英语。要转录包含非英语语音的音频文件,您可以使用以下选项指定语言--language:
whisper japanese.wav --language Japanese
添加--task translate会将语音翻译成英文:
whisper japanese.wav --language Japanese --task translate
运行以下命令以查看所有可用选项:
whisper --help
有关所有可用语言的列表,请参见tokenizer.py 。
Python 用法
转录也可以在 Python 中执行:
import whisper
model = whisper.load_model("base")
result = model.transcribe("audio.mp3")
print(result["text"])
在内部,该transcribe()方法读取整个文件并使用滑动的 30 秒窗口处理音频,对每个窗口执行自回归序列到序列预测。
whisper.detect_language()下面是和的示例用法whisper.decode(),它提供对模型的较低级别访问。
import whisper
model = whisper.load_model("base")
# 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).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)
相关导航

创视元,ai虚拟数字人,3d数字人,声音克隆,虚拟主播

AIforBiz
AIforBiz, 获取灵感,将AI 融入你的业务

Petalica paint
Petalica paint,ai线稿自动上色服务

Visual Prompt Builder
Visual Prompt Builder,可视化AI提示语选择和搭建

Unscreen
Unscreen,ai智能视频背景去除工具

dreamup ai
dreamup ai, 免费艺术ai绘画网站

aitubo
aitubo,免费ai绘画网站,模型库非常丰富
claude4.5-免费使用
可以免费使用claude4.5 ,gemini3 ,GPT5.1等!
暂无评论...


