企业网站建设一般考虑哪些因素wordpress 农场模板
解密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 方法可以处理多种格式的音频文件,如 wav, mp3, ogg 等。
模型参数配置
在使用 transcribe 方法时,你可以通过传递额外的参数来更改模型行为:
result = model.transcribe("audio_file.wav", language="zh", task="translate")
 
Whisper 模型提供了一些重要参数用于音频转文本的过程,帮助开发者根据不同需求调整模型的行为。以下是一些关键参数:
-  
「
model_size」:模型的大小有多种选择,分别为tiny,base,small,medium,large,模型越大,准确率越高,但计算资源要求也越高。模型的选择通常取决于性能与速度之间的平衡。 -  
「
language」:用于指定音频的目标语言。如果设置为'auto',Whisper 会自动检测语言。你也可以指定具体的语言,例如'en'表示英语,'zh'表示中文等。 -  
「
task」:可以是transcribe或translate。transcribe用于将音频直接转录为文本,translate用于将非英语音频翻译成英语文本。 -  
「
temperature」:控制模型的随机性。较高的温度会让模型生成更多样化的结果,但准确度可能下降。默认设置通常是 0。 -  
「
beam_size」:在解码过程中使用的搜索范围。值越大,解码过程越慢,但通常生成的文本更准确。 -  
「
best_of」:该参数定义了模型在生成不同转录结果时保留最佳结果的策略。较高的值可能会提高准确性,但也会增加处理时间。 -  
「
fp16」:如果设置为True,Whisper 将使用 16 位浮点数进行计算,从而加速推理过程并减少内存占用,适合在有 GPU 的情况下使用。 -  
「
verbose」:控制是否打印转录的详细信息。设置为True时,将输出更多调试信息。 -  
「
temperature_increment_on_fallback」:当首次推理失败时,增加的温度值,帮助模型在不确定的情况下生成更好的结果。 -  
「
initial_prompt」:可以为转录任务提供一个初始提示,帮助模型生成更符合上下文的结果。 
这些参数在使用 Whisper 模型时可根据实际场景灵活调整,以满足精度、速度和计算资源等方面的不同需求。
Whisper 模型的选择
Whisper 提供了多种不同大小的模型,选择合适的模型可以根据你的硬件条件和实际需求来决定。
| 模型 | 参数数量 | 大小 | 速度 | 精度 | 
|---|---|---|---|---|
| tiny | 39 M | ~75 MB | 非常快 | 基础 | 
| base | 74 M | ~140 MB | 快 | 普通 | 
| small | 244 M | ~450 MB | 中等 | 高 | 
| medium | 769 M | ~1.5 GB | 较慢 | 非常高 | 
| large | 1550 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
