一、说明
OpenAI最近2022发布了一个名为Whisper的新语音识别模型。与DALLE-2和GPT-3不同,Whisper是一个免费的开源模型。它的主要功能就是将语音翻译成文本。本文将介绍如何使用这个重要应用库。
二、 Whisper概念
2.1 Whisper是啥?
Whisper 是一种自动语音识别模型,基于从 Web 收集的 680,000 小时多语言数据进行训练。根据OpenAI,该模型对口音,背景噪音和技术语言具有鲁棒性。此外,它还支持 99 种不同语言的转录和从这些语言翻译成英语。
本文介绍了如何使用Whisper模型和Python将语音转换为文本。而且,它不会涵盖模型的工作原理或模型体系结构。你可以在这里查看更多关于耳语的信息。
2.2 Whisper库基本概念
耳语有五种型号(请参阅下表)。以下是OpenAI的GitHub页面上提供的表格。根据OpenAI的说法,四种用于纯英语应用程序的模型,表示为。该模型的性能更好,但是,差异对于 和 模型来说会变得不那么显著。.en``tiny.en``base.en``small.en``medium.en
参考:OpenAI的GitHHub页面
在本文中,我将 Youtube 视频转换为音频,并将音频传递到耳语模型中以将其转换为文本。
我使用带有GPU的Google Colab来执行以下代码。
三、如何使用Whisper
3.1 导入 Pytube 库
ax
!pip install ---- upgrade pytube
阅读 Youtube 视频并下载为 MP4 文件进行转录
在第一个示例中,我正在阅读著名的 Taken 电影对话,如下面的 YouTube 视频所示
ax
#Importing Pytube library
import pytube
# Reading the above Taken movie Youtube link
video = 'https://www.youtube.com/watch?v=-LIIf7E-qFI'
data = pytube.YouTube(video)
# Converting and downloading as 'MP4' file
audio = data.streams.get_audio_only()
audio.download()
输出
上面的YouTube链接已下载为"MP4"文件并存储在内容下。现在,下一步是将音频转换为文本。我们可以使用耳语在三行代码中做到这一点。
3.2 导入Whisper库
ax
# Installing Whisper libary
!pip install git+https://github.com/openai/whisper.git -q
import whisper
3.3 加载模型
我在这里使用多语言模型并传递上述音频文件并存储为文本对象medium``I will find YouI will Kill You Taken Movie best scene ever liam neeson.mp4
ax
model = whisper.load_model("large")
text = model1.transcribe("I will find YouI will Kill You Taken Movie best scene ever liam neeson.mp4")
#printing the transcribe
text['text']
输出
以下是音频中的文字。它与音频完全匹配。
I don't know who you are. I don't know what you want. If you are looking for ransom, I can tell you I don't have money. But what I do have are a very particular set of skills. Skills I have acquired over a very long career. Skills that make me a nightmare for people like you. If you let my daughter go now, that will be the end of it. I will not look for you. I will not pursue you. But if you don't, I will look for you. I will find you. And I will kill you. Good luck.
四、转换不同的音频语言怎么样?
众所周知,耳语支持99种语言;我正在尝试使用印度语并将下面的电影剪辑视频转换为文本。Tamil
在此示例中,我使用了模型large
ax
#Importing Pytube library
import pytube
# Reading the above tamil movie clip from Youtube link
video = 'https://www.youtube.com/watch?v=H1HPYH2uMfQ'
data = pytube.YouTube(video)
# Converting and downloading as 'MP4' file
audio = data.streams.get_audio_only()
audio.download()
输出
4.1 加载大型模型
ax
#Loading large model
model = whisper.load_model("large")
text = model1.transcribe("Petta mass dialogue with WhatsApp status 30 Seconds.mp4")
#printing the transcribe
text['text']
输出
模型将泰米尔语音频剪辑转换为文本。模特很好地转录了音频;但是,我可以看到语言中的一些小变化。
சிறப்பான தரமான சம்பவங்களை இனிமேல் தான் பார்க்கப் போகிறேன். ஏய்.. ஏய்.. ஏய்.. சத்தியமா சொல்கிறேன். அடிச்சி அண்டு வேண்டும் என்று ஓழ்வு விட்டுடுவேன். மானம் போலம் திருப்பி வராது பார்த்துவிடு. ஏய்.. யாருக்காவது பொண்டாட்டி குழந்தைக் குட்டியன் சென்றும் குட்டும் என்று செய்துவிட்டு இருந்தால் அப்டியே ஓடி போய்டு.
我主要尝试中型和大型模型。它很强大,可以精确地转录音频。此外,我使用带有 GPU 的 Azure Synapse 笔记本转录了最长 10 分钟的长音频,效果很好。
这是完全开源和免费的;我们可以直接将其用于您项目中的语音识别应用程序。我们也可以将其他语言翻译成英语。我将在我的下一篇文章中用长音频和不同的英语语言来介绍它。
您可以查看有关耳语模型的更多信息;请访问Whisper的Github页面。
感谢您的阅读。继续学习,并继续关注更多!