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

ASR强力模型「Whisper」:解密Whisper:AI驱动的语音识别新时代 -

解密Whisper:AI驱动的语音识别新时代

原创 AI小信 别慌G个PT 2024年10月18日 17:54 北京

前两天分享了两个TTS模型,今天分享个ASR强力模型「Whisper」。Whisper是OpenAI开发的一个「ASR」(AutomatedSpeechRecognition,自动语音识别)开源模型,用于将语音转录成文本。它是一个强大的模型,能够处理多种语言的语音输入,支持实时转录、语音翻译等功能,并且在不同的音频质量和语境下都有良好的表现。

Whisper 功能点

  • 「多语言支持」:能够处理多种语言的输入,并且可以进行多语言之间的翻译。

  • 「强大的抗噪能力」:对嘈杂环境中的语音有很好的转录效果。

  • 「端到端的模型架构」:Whisper 使用 Transformer 模型,输入语音信号,输出文本。

  • 「开源和易用性」:Whisper 是「开源」的,允许开发者将其轻松集成到自己的项目中。


Whisper 应用场景

Whisper 的多功能性使得它在许多领域都有广泛的应用:

  • 「会议记录」:实时转录会议或讲座的内容,方便整理记录。

  • 「内容创建」:播客、视频博主可以将语音内容快速转成文字稿。

  • 「语音助手」:集成到智能语音助手中,提升对多语言的识别和响应能力。

  • 「教育」:用于生成课堂、研讨会的文字记录,方便学生回顾学习内容。

Whisper 安装和使用教程

环境准备

要使用 Whisper,首先需要设置 Python 环境,并确保以下库和工具可用:

  • 「Python 3.7+」

  • 「PyTorch」Whisper 依赖 PyTorch 进行深度学习推理。

  • 「ffmpeg」:Whisper 需要 ffmpeg 来处理音频文件。

安装 PyTorch 和 ffmpeg

你可以按照以下步骤安装:

# 安装 PyTorch
pip install torch# 安装 ffmpeg(如果你使用 MacOS 或 Linux)
sudo apt update && sudo apt install ffmpeg# 对于 Windows 系统,可以通过下载[ffmpeg](https://ffmpeg.org/download.html)并手动安装。
安装 Whisper

在安装了 PyTorch 和 ffmpeg 后,可以使用 pip 来安装 Whisper:

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



Whisper使用方法1(命令行)

Whisper 提供了一个简单的命令行工具来进行语音转录。你可以直接使用该工具来转录音频文件。

运行 Whisper 命令行工具
whisper audio_file.wav --model small

其中 audio_file.wav 是你想转录的音频文件。--model small 指定了你要使用的模型大小,Whisper 支持以下几种模型:

  • tiny

  • base

  • small

  • medium

  • large

模型越大,精度越高,但需要更多的计算资源。你可以根据自己的需求选择合适的模型。

转录结果保存为文本文件

你可以将转录结果保存到文件中:

whisper audio_file.wav --model small --output_format txt

这将生成一个与音频文件同名的 .txt 文件,里面包含转录的文本。

Whisper使用方法2(Python脚本)

除了命令行工具,Whisper 还可以直接在 Python 中使用,你可以将它集成到自己的项目中。

Python 使用示例
import whisper# 加载模型
model = whisper.load_model("small")# 转录音频
result = model.transcribe("audio_file.wav")# 打印转录结果
print(result["text"])

Whisper 的 transcribe 方法可以处理多种格式的音频文件,如 wavmp3ogg 等。

模型参数配置

在使用 transcribe 方法时,你可以通过传递额外的参数来更改模型行为:

result = model.transcribe("audio_file.wav", language="zh", task="translate")

Whisper 模型提供了一些重要参数用于音频转文本的过程,帮助开发者根据不同需求调整模型的行为。以下是一些关键参数:

  • model_size:模型的大小有多种选择,分别为 tinybasesmallmediumlarge,模型越大,准确率越高,但计算资源要求也越高。模型的选择通常取决于性能与速度之间的平衡。

  • language:用于指定音频的目标语言。如果设置为 'auto',Whisper 会自动检测语言。你也可以指定具体的语言,例如 'en' 表示英语,'zh' 表示中文等。

  • task:可以是 transcribe 或 translatetranscribe 用于将音频直接转录为文本,translate 用于将非英语音频翻译成英语文本。

  • temperature控制模型的随机性。较高的温度会让模型生成更多样化的结果,但准确度可能下降。默认设置通常是 0。

  • beam_size:在解码过程中使用的搜索范围。值越大,解码过程越慢,但通常生成的文本更准确。

  • best_of:该参数定义了模型在生成不同转录结果时保留最佳结果的策略。较高的值可能会提高准确性,但也会增加处理时间。

  • fp16:如果设置为 True,Whisper 将使用 16 位浮点数进行计算,从而加速推理过程并减少内存占用,适合在有 GPU 的情况下使用。

  • verbose:控制是否打印转录的详细信息。设置为 True 时,将输出更多调试信息。

  • temperature_increment_on_fallback:当首次推理失败时,增加的温度值,帮助模型在不确定的情况下生成更好的结果。

  • initial_prompt:可以为转录任务提供一个初始提示,帮助模型生成更符合上下文的结果。

这些参数在使用 Whisper 模型时可根据实际场景灵活调整,以满足精度、速度和计算资源等方面的不同需求。

Whisper 模型的选择

Whisper 提供了多种不同大小的模型,选择合适的模型可以根据你的硬件条件和实际需求来决定。

模型参数数量大小速度精度
tiny39 M~75 MB非常快基础
base74 M~140 MB普通
small244 M~450 MB中等
medium769 M~1.5 GB较慢非常高
large1550 M~3 GB极高

对于低计算能力的设备(如笔记本电脑或轻量级服务器),small 或 medium 模型是较为推荐的选择。如果你拥有高性能 GPU,可以选择 large 模型来获得最佳的转录效果。

常见问题与解答

Whisper 适合实时转录吗?

Whisper 可以用于实时转录,但性能依赖于使用的模型大小和硬件条件tiny 和 base 模型适合实时应用,而较大的模型如 large 则可能会有较高的延迟。

Whisper 如何处理多语言音频?

Whisper 能够自动检测输入音频的语言,并输出相应语言的转录文本。你也可以通过 language 参数指定特定的语言。

Whisper 是否支持音频的分段转录?

是的,Whisper 会自动处理长音频文件,并将其分成多个段落进行转录,最终合并为完整的转录文本。

更多内容

「Github」
https://github.com/openai/whisper
「Blog」
https://openai.com/index/whisper/「Paper」
https://arxiv.org/abs/2212.04356
「Model Card」
https://github.com/openai/whisper/blob/main/model-card.md
「Colab Example」
https://github.com/openai/whisper/blob/main/model-card.md

http://www.lryc.cn/news/538341.html

相关文章:

  • 【机器学习】向量化使得简单线性回归性能提升
  • 【kafka系列】消费者
  • HackerRank C++面试,中等难度题目 - Attribute Parser
  • 【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题
  • 节目选择器安卓软件编写(针对老年人)
  • 蓝桥杯之图
  • 中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号
  • 【kafka系列】Kafka如何保证消息不丢失?
  • AtCoder Beginner Contest 393 —— E - GCD of Subset 补题 + 题解 python
  • vue3响应式丢失解决办法(三)
  • BY组态:构建灵活、可扩展的自动化系统
  • 2025 (ISC)²CCSP 回忆录
  • 强化学习笔记7——DDPG到TD3
  • win10 系统 自定义Ollama安装路径 及模型下载位置
  • -bash:/usr/bin/rm: Argument list too long 解决办法
  • 内容中台重构企业内容管理流程驱动智能协作升级
  • python实现YouTube关键词爬虫(2025/02/11)
  • 【效率技巧】怎么做思维导图||数学思维||费曼学习法
  • LabVIEW与USB设备开发
  • 动态规划LeetCode-416.分割等和子集
  • 云原生(五十五) | ECS中自建数据库迁移到RDS
  • 【吾爱出品】 视频批量分段工具
  • HTML【详解】input 标签
  • 二叉搜索树的实现(C++)
  • vue2老版本 npm install 安装失败_安装卡主
  • 【MySQL】索引篇
  • Arduino 第十六章:pir红外人体传感器练习
  • 鸿蒙面试题
  • Rust 语言入门(一):打印与格式化输出
  • vue3.x 的 toRef详细解读