一、Whisper 简介
Whisper 是 OpenAI 研发的自动语音识别(ASR)系统,它具备强大的多语言识别能力,能处理多种不同口音和背景噪音下的语音内容,将其准确地转换为文本。其支持的语言众多,包括但不限于英语、中文、法语、德语等,广泛应用于会议记录、音频字幕制作、语音内容整理等场景。
二、安装环境准备
(一)系统要求
Whisper 可以在多种操作系统上运行,如 Windows、macOS 和 Linux。以下以常见的操作环境为例进行说明。
(二)安装 Python
Whisper 是基于 Python 开发的,所以首先需要安装 Python。建议安装 Python 3.7 及以上版本。可以从 Python 官方网站(www.python.org/downloads/)… Python to PATH”选项,这样可以在命令行中直接使用 Python 命令。
(三)安装 Whisper
打开命令行工具(Windows 可以使用命令提示符或 PowerShell,macOS 和 Linux 可以使用终端),输入以下命令来安装 Whisper:
pip install git+https://github.com/openai/whisper.git
这个命令会从 GitHub 上下载 Whisper 的源代码并进行安装。安装过程可能需要一些时间,取决于网络状况。
三、运行 Whisper 进行语音转文字
(一)准备音频文件
确保你有一个需要进行转录的音频文件,支持的音频格式包括 MP3、WAV、OGG 等。将音频文件放在你方便操作的目录下,例如创建一个名为“audio_files”的文件夹,把音频文件放入其中。
(二)选择模型
Whisper 提供了不同大小和精度的模型,模型越大,识别精度通常越高,但运行所需的计算资源也越多。常见的模型有:
- tiny:体积小,运行速度快,但识别精度相对较低,适合对速度要求较高且对精度要求不是特别苛刻的场景。
- base:在速度和精度之间取得了较好的平衡,是一个比较常用的选择。
- small:精度比 base 更高,但运行速度会稍慢一些。
- medium:识别精度进一步提升,不过需要更多的计算资源。
- large:精度最高,但对硬件要求也最高,运行速度相对较慢。
(三)执行转录命令
在命令行中,使用以下命令来运行 Whisper 进行语音转文字:
whisper /path/to/your/audio_file.mp3 --model base
将 /path/to/your/audio\_file.mp3
替换为你实际的音频文件路径,--model base
指定使用 base 模型。如果你想使用其他模型,只需将 base
替换为相应的模型名称,如 tiny
、small
等。
例如,如果你将音频文件 example.mp3
放在了“audio_files”文件夹中,并且当前命令行的工作目录是该文件夹的上级目录,那么命令可以写成:
%% bash
`` whisper audio_files/example.mp3 --model base
(四)查看转录结果
当命令执行完成后,Whisper 会在音频文件所在的目录下生成几个文件:
- 文本文件(.txt):包含了音频文件的纯文本转录内容。
- SRT 文件(.srt):这是一个字幕文件,包含了每个句子的时间戳,可用于视频添加字幕。
- VTT 文件(.vtt):也是一种字幕文件格式,同样包含时间戳信息。
你可以使用文本编辑器打开
.txt
文件查看转录的文本内容,也可以使用视频编辑软件导入.srt
或.vtt
文件为视频添加字幕。
四、在 Python 脚本中使用 Whisper
除了在命令行中使用 Whisper,你还可以在 Python 脚本中调用 Whisper 进行语音转文字。以下是一个简单的 Python 脚本示例:
import whisper
# 加载模型
model = whisper.load_model("base")
# 进行转录
result = model.transcribe("audio_files/example.mp3")
# 打印转录结果
print(result["text"])
将上述代码保存为一个 .py
文件,例如 transcribe.py
,然后在命令行中运行:
python transcribe.py
这样就可以在 Python 脚本中实现语音转文字的功能。
五、注意事项
- 硬件要求:如果使用较大的模型(如
medium
或large
),建议使用配备 GPU 的计算机,以提高运行速度。可以通过安装 CUDA 来支持 GPU 加速。 - 语言设置:Whisper 通常可以自动识别音频中的语言,但如果需要指定语言,可以在命令中添加
--language
参数,例如--language Chinese
表示指定音频语言为中文。 - 网络问题:在安装 Whisper 或下载模型时,如果遇到网络问题,可以尝试使用代理或更换网络环境。 通过以上步骤,你就可以轻松地使用 Whisper 进行语音转文字,无论是在命令行还是 Python 脚本中都能快速完成音频内容的转录。