什么是耳语?
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未来站