当前位置: 首页 > 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

相关文章:

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

解密Whisper:AI驱动的语音识别新时代 原创 AI小信 别慌G个PT 2024年10月18日 17:54 北京 ❝ 前两天分享了两个TTS模型,今天分享个ASR强力模型「Whisper」。Whisper是OpenAI开发的一个「ASR」(AutomatedSpeechRecognition,自动语音识别)开源模型&#xf…...

【机器学习】向量化使得简单线性回归性能提升

向量化使得简单线性回归性能提升 一、摘要二、向量化运算概述三、向量化运算在简单线性回归中的应用四、性能测试与结果分析 一、摘要 本文主要讲述了向量化运算在简单线性回归算法中的应用。通过回顾传统for循环方式实现的简单线性回归算法,介绍了如何通过最小二乘…...

【kafka系列】消费者

目录 获取消息 1. 消费者获取消息的流程逻辑分析 阶段一:消费者初始化 阶段二:分区分配与重平衡(Rebalance) 阶段三:消息拉取与处理 阶段四:偏移量提交 核心设计思想 2. 流程 关键点总结 常见参数…...

HackerRank C++面试,中等难度题目 - Attribute Parser

去除字符串首尾的空白字符(包括空格、制表符、换行符和回车符) void trim(string &s) {size_t start s.find_first_not_of(" \t\n\r");size_t end s.find_last_not_of(" \t\n\r");if (start string::npos) {s ""…...

【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题

1、 文档目标 解决ArmDS Fast Models 中部分内核无法上电的问题。 2、 问题场景 在调用ArmDS的Fast Models中的Cortex-A55的模型,只有Core 0是上电状态,而Core 1处于掉电状态,如图2-1所示: 图2-1 3、软硬件环境 1)…...

节目选择器安卓软件编写(针对老年人)

文章目录 需求来源软件界面演示效果源码获取 对爬虫、逆向感兴趣的同学可以查看文章,一对一小班教学:https://blog.csdn.net/weixin_35770067/article/details/142514698 需求来源 由于现在的视频软件过于复杂,某客户想开发一个针对老年人、…...

蓝桥杯之图

图&#xff1a; 对于图来说&#xff0c;重点在于之后的最短路径算法&#xff0c;这边简单做一下了解即可 代码&#xff1a; #include<iostream> #include<string> #include<vector> #include<list> #include<queue> using namespace std; clas…...

中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号

前言 请先阅读上一篇博客获取到光猫超级密码电信光猫获取超级密码 电信光猫天翼网关4.0获取超级密码教程 四川电信光猫 中兴 F1855V2 ZXHN F1855V2 telent权限 实战 实测_天翼4.0光猫超级密码-CSDN博客 修改SN-修改地区&#xff0c;光猫异地注册&#xff0c;设置桥接模式&#…...

【kafka系列】Kafka如何保证消息不丢失?

目录 1. 生产者端&#xff1a;确保消息成功发送到Broker 核心机制&#xff1a; 关键步骤&#xff1a; 2. Broker端&#xff1a;持久化与副本同步 核心机制&#xff1a; 关键源码逻辑&#xff1a; 3. 消费者端&#xff1a;可靠消费与Offset提交 核心机制&#xff1a; 关…...

AtCoder Beginner Contest 393 —— E - GCD of Subset 补题 + 题解 python

AtCoder Beginner Contest 393 E - GCD of Subset Problem Statement You are given a sequence A ( A 1 , A 2 , … , A N ) A (A_1, A_2, \dots, A_N) A(A1​,A2​,…,AN​) of length N N N and a positive integer K K K (at most N N N). For each i 1 , 2 , … …...

vue3响应式丢失解决办法(三)

vue3的响应式的理解&#xff0c;与普通对象的区别&#xff08;一&#xff09; vue3 分析总结响应式丢失问题原因&#xff08;二&#xff09; 经过前面2篇文章&#xff0c;知道了响应式为什么丢失了&#xff0c;但是还是碰到了丢失情况&#xff0c;并且通过之前的内容还不能解…...

BY组态:构建灵活、可扩展的自动化系统

引言 在现代工业自动化领域&#xff0c;BY组态&#xff08;Build Your Own Configuration&#xff09;作为一种灵活、可扩展的解决方案&#xff0c;正逐渐成为工程师和系统集成商的首选。BY组态允许用户根据具体需求自定义系统配置&#xff0c;从而优化生产效率、降低成本并提…...

2025 (ISC)²CCSP 回忆录

2025.1.20 广州&#xff0c;周一&#xff0c;我一次性通过了CCSP的考试。 为什么要考证&#xff1f; 个人成长所需 职业热情&#xff1a;做一行爱一行&#xff0c;既然我投入了美好的青春年华到网络安全行业当中&#xff0c;那么对于这个行业最有权威的认证&#xff0c;是肯定…...

强化学习笔记7——DDPG到TD3

前提&#xff1a;基于TD 的方法多少都会有高估问题&#xff0c;即Q值偏大。原因两个&#xff1a;一、TD目标是真实动作的高估。 二&#xff1a;自举法高估。 DDPG 属于AC方法&#xff1a;异策略&#xff0c;适合连续动作空间&#xff0c;因为他的策略网络直接输出的动作&#…...

win10 系统 自定义Ollama安装路径 及模型下载位置

win10 系统 自定义Ollama安装路径 及模型下载位置 由于Ollama的exe安装软件双击安装的时候默认是在C盘&#xff0c;以及后续的模型数据下载也在C盘&#xff0c;导致会占用C盘空间&#xff0c;所以这里单独写了一个自定义安装Ollama安装目录的教程。 Ollama官网地址&#xff1…...

-bash:/usr/bin/rm: Argument list too long 解决办法

问题概述 小文件日志太多导致无法使用rm命令&#xff0c;因为命令行参数列表的长度超过了系统允许的最大值。 需要删除/tmp目录下的所有文件&#xff0c;文件数量比较多。 ls -lt /tmp | wc -l 5682452 解决方法如下&#xff1a; 使用find -exec 遍历&#xff0c;然后执行删…...

内容中台重构企业内容管理流程驱动智能协作升级

内容概要 内容中台作为企业数字化转型的核心基础设施&#xff0c;通过技术架构革新与功能模块整合&#xff0c;重构了传统内容管理流程的底层逻辑。其核心价值在于构建动态化、智能化的内容生产与流转体系&#xff0c;将分散的创作、存储、审核及分发环节纳入统一平台管理。基…...

python实现YouTube关键词爬虫(2025/02/11)

在当今数字化时代&#xff0c;YouTube作为全球最大的视频分享平台之一&#xff0c;拥有海量的视频资源。无论是进行市场调研、内容创作还是学术研究&#xff0c;能够高效地获取YouTube上的相关视频信息都显得尤为重要。今天&#xff0c;我将为大家介绍一个基于Python实现的YouT…...

【效率技巧】怎么做思维导图||数学思维||费曼学习法

目录标题 常见问题&#xff1a;认知误区和建议&#xff1a;思维导图按照功能分类思维导图好处步骤&#xff08;拆解的步骤&#xff09; 常见问题&#xff1a; 1、做好的思维导图浪费时间 2、做简单的思维导图没有效果 认知误区和建议&#xff1a; 1、做思维导图工具&#xf…...

LabVIEW与USB设备开发

开发一台USB设备并使用LabVIEW进行上位机开发&#xff0c;涉及底层驱动的编写、USB通信协议的实现以及LabVIEW与设备的接口设计。本文将详细介绍如何开发USB设备驱动、实现LabVIEW与USB设备的通信以及优化数据传输&#xff0c;帮助用户顺利完成项目开发。下面是一个详细的说明&…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...