AI 日报

OpenAI Whisper 教程:如何使用 OpenAI Whisper

  • By aihubon
  • Nov 01, 2023 - 2 min read



OpenAI Whisper 教程:如何使用 OpenAI Whisper

什么是耳语?

Whisper 是 OpenAI 的一种自动最先进的语音识别系统,它已经接受了 680,000 小时的多语言和多任务监督数据的培训,这些数据是从网络上收集的。这个庞大而多样化的数据集提高了对口音、背景噪音和技术语言的鲁棒性。此外,它还支持多种语言的转录,以及将这些语言翻译成英语。OpenAI 发布了模型和代码,作为构建利用语音识别的有用应用程序的基础。

如何使用耳语

耳语模型可在 GitHub 上获得。您可以直接在 Jupyter 笔记本中使用以下命令下载它:

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

Whisper 需要ffmpeg安装在当前机器上才能工作。也许您已经安装了它,但您的本地计算机可能需要先安装该程序。

OpenAI 提到了多种安装此包的方法,但我们将使用 Scoop 包管理器。这里有一个教程如何手动安装

在 Jupyter Notebook 中,您可以使用以下命令安装它:

irm get.scoop.sh | iexscoop install ffmpeg

安装后,如果您使用的是本地计算机,则需要重新启动。

现在我们可以继续了。接下来我们导入所有必要的库:

import whisperimport osimport numpy as npimport torch

使用 GPU 是使用 Whisper 的首选方式。如果您使用的是本地计算机,则可以检查您是否有可用的 GPU。第一行结果False,如果 Cuda 兼容的 Nvidia GPU 不可用以及True是否可用。第二行代码将模型设置为首选 GPU,只要它可用。

torch.cuda.is_available()DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

现在我们可以加载 Whipser 模型。使用以下命令加载模型:

model = whisper.load_model("base", device=DEVICE)print(    f"Model is {'multilingual' if model.is_multilingual else 'English-only'} "    f"and has {sum(np.prod(p.shape) for p in model.parameters()):,} parameters.")

请记住,有多种不同的型号可供选择。你可以在这里找到所有这些。它们中的每一个都在准确性和速度(需要计算)之间进行权衡。我们将在本教程中使用“基础”模型。

接下来,您需要加载要转录的音频文件。

audio = whisper.load_audio("audio.mp3")audio = whisper.pad_or_trim(audio)mel = whisper.log_mel_spectrogram(audio).to(model.device)

detect_language函数检测音频文件的语言:

_, probs = model.detect_language(mel)print(f"Detected language: {max(probs, key=probs.get)}")

我们使用 DecodingOptions 和 decode 命令转录音频的前 30 秒。然后打印出结果:

options = whisper.DecodingOptions(language="en", without_timestamps=True, fp16 = False)result = whisper.decode(model, mel, options)print(result.text)

接下来我们可以转录整个音频文件。

result = model.transcribe("../input/audiofile/audio.mp3")print(result["text"])

执行完成后,这将打印出转录的整个音频文件。

现在您可以使用 Whisper 创建您自己的应用程序了。发挥创意,玩得开心!我相信您会为 Whisper 找到很多有用的应用程序。

您可以在此处找到 Jupyter Notebook 的完整代码

谢谢你!– AI未来百科 ; 探索AI的边界与未来! 懂您的AI未来站