跳转到主要内容

Whisper是最先进的自动语音识别(ASR)系统,是OpenAI的创意。它的目的是将口语转录成书面形式,这一过程有多种用途,包括从转录服务到语音控制助理的所有内容。这个答案将阐明如何使用Whisper ASR系统的开源版本,特别是在Python中。

设置环境

在理解代码之前,确保一个最佳的环境是很重要的。这需要在您的系统上安装Python,以及Whisper Python包。后者可以使用pip安装:

pip install -U openai-whisper

安装Whisper

此外,有必要安装FFMPEG,这是一个命令行实用程序,旨在处理包括音频和视频在内的多媒体文件。根据您系统的操作系统,可以使用相应的软件包管理器进行下载和安装。

# on Ubuntu or Debian

sudo apt update && sudo apt install ffmpeg

# on Arch Linux

sudo pacman -S ffmpeg

# on MacOS using Homebrew

brew install ffmpeg

# on Windows using Chocolatey

choco install ffmpeg

# on Windows using Scoop

scoop install ffmpeg

安装FFMPEG

通过命令行Whisper

在我们继续使用基于Python的Whisper之前,值得一提的是,Whisper也可以直接通过命令行进行操作。这是一种快速、轻松地转录音频文件的方法,无需编写任何Python代码。以下是完成此操作的命令:

whisper "sample.mp3" --task translate --language es --model large

代码说明

在上面的命令中,我们使用Whisper的翻译功能,指定我们希望使用的模型(在本例中为大型)和语言(西班牙语为es),并提供我们想要翻译的音频文件的路径。

Python中的Whisper开源

配置好环境后,您可以在Python中使用Whisper开源。以下是一个基本示例,说明了如何使用它来转录音频文件:

import whisper
import warnings
warnings.simplefilter("ignore")

model = whisper.load_model("tiny")

result = model.transcribe(audio="/assets/sample.mp3")

print(result["text"])

代码说明

在提供的代码片段中,我们首先导入Whisper包并加载模型。随后,我们调用model.transcribe方法,传入我们要转录的音频文件。音频文件应符合Whisper支持的格式,如WAV、FLAC或MP3。

提供给上面代码片段的输入音频可以在这里找到。

该方法返回一个结果,包括音频文件的转录,然后打印该结果。

将音频翻译成英文文本

Whisper还可以帮助将其他支持语言的音频翻译成英语文本。以下是实现这一点的方法:

import whisper

import warnings

warnings.simplefilter("ignore")

model = whisper.load_model("tiny")

result = model.transcribe(audio="/assets/sample.mp3")

print(result["text"])

 

代码说明

在这个例子中,我们加载微小的模型,并调用带有任务参数集的transcript方法进行翻译。这指示Whisper将音频翻译成英文文本。

结论

Whisper ASR是一种将语音转换为文本的工具,其开源Python包有助于轻松集成到您的应用程序中。无论您是在创建转录服务、声控助手还是任何其他需要语音识别的应用程序,Whisper ASR都可以被证明是一种非常有价值的资源。

文章链接