我是科技之光引领你进入语音识别的新世界探秘OpenAI开源的99种语言大师Whisper
OpenAI 最近推出了一个名为 Whisper 的开源语音识别模型。与 DALLE-2 和 GPT-3 不同,Whisper 是免费且开源的。
——1——
探索 Whisper 语言识别模型
Whisper 是一种自动语音识别系统,它基于网络上收集的 680,000 小时多语言数据进行训练。根据 OpenAI 的介绍,该模型对口音、背景噪音和专业术语具有很强的鲁棒性。此外,它还支持转录和翻译 99 种不同的语言。
深入了解 Whisper transformer 架构
可以看到 Whisper 使用了标准的Transformer框架,这反映出Transformer模型在各个领域广泛应用的情况。
其他现有方法通常使用更小、更紧密配对的声音文本训练数据集,或是无监督学习下的音频预训练。而 Whisper 在一个庞大而多样化的数据集上进行了训练,并未针对任何特定数据集进行微调,因此它不会超越专门研究 LibriSpeech 性能的模型。不过,在许多不同数据集中测量其零样本性能时,我们发现它比那些模型更加稳定,并且错误率降低了50%。
Whisper 支持5种不同的模型尺寸
Whisper 支持5种不同的模型尺寸,其中前四种适用于英文版本。我们可以先使用一段英文版本的语音来测试一下。
首先,我们安装pytube与whisper,然后随便找一段英文视频并复制链接地址,将其插入到以下代码中:
import pytube
yt = pytube.YouTube(https://www.youtube.com/watch?v=-7E-qFI)
audio = yt.streams.get_audio_only()
audio.download()
执行这段代码后,会自动下载此视频文件中的音频文件,其格式为MP4,但实际上是一个只有声音的文件。
接下来,我们将下载好的视频文件传递给whisper进行语音识别任务:
model = whisper.load_model(medium)
text = model.transcribe(11.mp4)
print(text)
从whisper提供的一些示例可知,它提供了5种不同大小的小型、高级、中级、大型和超大型(LLM)模式,可以根据需要选择最合适的一个,然后将我们的下载好的mp4文件直接传递给model.transcribe()函数,系统就能够自动开始识别并打印出结果。
鉴于whisper除了英语之外,还能处理其他语言,所以这里我们用中文作为示例来看看效果如何:
languages = {af_za: Afrikaans, am_et: Amharic, ar_eg: Arabic, as_in: Assamese, az_az: Azerbaijani, be_by: Belarusian, bg_bg: Bulgarian, bn_in: Bengali}
# ... 其他省略 ...
当然,这只是简单展示了一部分功能。在实际应用中,您可能需要进一步调整参数以优化您的特定任务。此外,由于这个项目是基于社区贡献发展起来,所以您也可以通过提交问题或提议新功能来帮助改进项目。