科技股解密开源神器Whisper识别99种语言的语音魔法
OpenAI 最近推出了一个名为 Whisper 的开源语音识别模型。与 DALLE-2 和 GPT-3 不同,Whisper 是免费且开源的。
——1——
Whisper 语言识别模型:多语言神器
Whisper 是一种自动语音识别模型,它通过从互联网上收集了超过680,000小时的多语言数据进行训练。据 OpenAI 描述,该模型对口音、背景噪音和专业术语具有极高的鲁棒性。此外,它还支持99种不同的语言转录,并能将这些语言翻译成英语。
Transformer 架构背后的 Whisper
可以看到,Whisper 使用的是标准的Transformer架构,这体现了Transformer在各种应用中的普及程度。
其他方法通常使用更小、更紧密配对的声音文本训练集,或是广泛但无监督的预训练技术。而 Whisper 在庞大而多样化的数据集上进行了训练,没有针对任何特定数据集进行微调,因此它不会击败专门研究 LibriSpeech 性能的模型。不过,当我们在众多不同数据集上测试 Whisper 的零样本性能时,我们发现它比那些模型更加稳定,并且错误率降低了50%。
5种不同的模型尺寸可供选择
Whisper 支持5种不同的模型尺寸,其中前四种适用于英文版本,我们可以先用一段英文版本的语音来测试一下。
首先安装 pytube 与 whisper:
!pip install --upgrade pytube
!pip install git https://github.com/openai/whisper.git –q
然后导入所需库并下载视频:
import whisper
import pytube
YouTube 视频链接示例:https://www.youtube.com/watch?v=-7E-qFI
video = "https://www.youtube.com/watch?v=-7E-qFI"
data = pytube.YouTube(video)
audio = data.streams.get_audio_only()
audio.download()
执行代码后会自动下载视频文件中的音频文件,这是一个只有声音内容,但以MP4格式存储的声音文件。
简要介绍pytube库:
此库能够从YouTube下载视频或仅限于声音内容(如上述代码所示),当然也可以用于下载完整视频文件。
选择720p分辨率并下载视频:
import pytube
yt = pytube.YouTube("https://www.youtube.com/watch?v=-LIIf7E-qFI")
yt.streams.filter(file_extension="mp4").order_by('resolution').desc().first()
stream = yt.streams.get_by_itag(22) # 选取720p分辨率下标为22(可能需要调整)
stream.download()
使用whisper进行语音识别任务:
加载 medium 模型并执行转录操作:
model = whisper.load_model("medium")
text = model.transcribe("11.mp4")
打印出识别结果:
print(text)
I dont know who you are. I dont know what you want. If you are looking for ransom, I can tell you I dont 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 dont, I will look for you. I will find you