OpenAI的人工智能语音识别模型Whisper详解及使用
1whisper介绍拥有ChatGPT语言模型的OpenAI公司,开源了Whisper自动语音识别系统,OpenAI强调Whisper的语音识别能力已达到人类水准。
Whisper是一个通用的语音识别模型,它使用了大量的多语言和多任务的监督数据来训练,能够在英语语音识别上达到接近人类水平的鲁棒性和准确性。Whisper还可以进行多语言语音识别、语音翻译和语言识别等任务。Whisper的架构是一个简单的端到端方法,采用了编码器-解码器的Transformer模型,将输入的音频转换为对应的文本序列,并根据特殊的标记来指定不同的任务。
Whisper是一个自动语音识别(ASR,AutomaticSpeechRecognition)系统,OpenAI通过从网络上收集了68万小时的多语言(98种语言)和多任务(multitask)监督数据对Whisper进行了训练。OpenAI认为使用这样一个庞大而多样的数据集,可以提高对口音、背景噪音和技术术语的识别能力。除了可以用于语音识别,Whisper还能实现多种语言的转录,以及将这些语言翻译成英语。OpenAI开放模型和推理代码,希望开发者可以将Whisper作为建立有用的应用程序和进一步研究语音处理技术的基础。
代码地址:代码地址
2whisper模型Whisper执行操作的过程:
输入的音频被分割成30秒的小段、转换为log-Mel频谱图,然后传递到编码器。解码器经过训练以预测相应的文字说明,并与特殊的标记进行混合,这些标记指导单一模型执行诸如语言识别、短语级别的时间戳、多语言语音转录和语音翻译等任务。
相比目前市面上的其他现有方法,它们通常使用较小的、更紧密配对的「音频-文本」训练数据集,或使用广泛但无监督的音频预训练集。因为Whisper是在一个大型和多样化的数据集上训练的,而没有针对任何特定的数据集进行微调,虽然它没有击败专攻LibriSpeech性能的模型(著名的语音识别基准测试),然而在许多不同的数据集上测量Whisper的Zero-shot(不需要对新数据集重新训练,就能得到很好的结果)性能时,研究人员发现它比那些模型要稳健得多,犯的错误要少50%。
3whisper的多种模型whisper有五种模型尺寸,提供速度和准确性的平衡,其中English-only模型提供了四种选择。下面是可用模型的名称、大致内存需求和相对速度。
模型的官方下载地址:
"tiny.en":"https://openaipublic.azureedge.net/main/whisper/models/d3dd57d32accea0b295c96e26691aa14d8822fac7d9d27d5dc00b4ca2826dd03/tiny.en.pt","tiny":"https://openaipublic.azureedge.net/main/whisper/models/65147644a518d12f04e32d6f3b26facc3f8dd46e5390956a9424a650c0ce22b9/tiny.pt","base.en":"https://openaipublic.azureedge.net/main/whisper/models/25a8566e1d0c1e2231d1c762132cd20e0f96a85d16145c3a00adf5d1ac670ead/base.en.pt","base":"https://openaipublic.azureedge.net/main/whisper/models/ed3a0b6b1c0edf879ad9b11b1af5a0e6ab5db9205f891f668f8b0e6c6326e34e/base.pt","small.en":"https://openaipublic.azureedge.net/main/whisper/models/f953ad0fd29cacd07d5a9eda5624af0f6bcf2258be67c92b79389873d91e0872/small.en.pt","small":"https://openaipublic.azureedge.net/main/whisper/models/9ecf779972d90ba49c06d968637d720dd632c55bbf19d441fb42bf17a411e794/small.pt","medium.en":"https://openaipublic.azureedge.net/main/whisper/models/d7440d1dc186f76616474e0ff0b3b6b879abc9d1a4926b7adfa41db2d497ab4f/medium.en.pt","medium":"https://openaipublic.azureedge.net/main/whisper/models/345ae4da62f9b3d59415adc60127b97c714f32e89e936602e85993674d08dcb1/medium.pt","large-v1":"https://openaipublic.azureedge.net/main/whisper/models/e4b87e7e0bf463eb8e6956e646f1e277e901512310def2c24bf0e11bd3c28e9a/large-v1.pt","large-v2":"https://openaipublic.azureedge.net/main/whisper/models/81f7c96c852ee8fc832187b0132e569d6c3065a3252ed18e56effd0b6a73e524/large-v2.pt","large":"https://openaipublic.azureedge.net/main/whisper/models/81f7c96c852ee8fc832187b0132e569d6c3065a3252ed18e56effd0b6a73e524/large-v2.pt",4运行环境安装及whisper使用(1)conda环境安装参见:annoconda安装
(2)whisper环境构建condacreate-nwhisperpython==3.9condaactivatewhisperpipinstallopenai-whispercondainstallffmpegpipinstallsetuptools-rust(3)whisper使用whisper/opt/000001.wav--modelbase输出内容如下:
[00:00.000-->00:02.560]人工智能识别系统。执行命令时,会自动进行模型下载,也可以通过命令行制定本地模型运行:
Whisper/opt/000001.wav--modelbase--model_dir/opt/models--languageChinese支持的文件格式:m4a、mp3、mp4、mpeg、mpga、wav、webm
(4)在代码中使用importwhispermodel=whisper.load_model("base")result=model.transcribe("/opt/000001.wav")print(result["text"])