近期,OpenAI发布了Whisper语音识别模型,声称其在英语语音识别方面已接近人类水平的鲁棒性和准确性。出于对自动语音识别的兴趣,本人对此进行了一些尝试,看看它对中文语音识别的效果。
本内容仅供对语音识别有兴趣或者仅仅希望应用的入门朋友参考。
一、安装
测试电脑:MacBook Pro
测试系统:MacOS Monterey 12.6
1、安装brew
安装brew的目的是为了下一步安装python. 如果已经安装,请跳过。
在终端命令行中执行:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
选择合适的brew本体下载源,如“清华大学下载源“,然后一路按提示进行安装即可。
2、安装python
在终端命令行中执行:
brew install python
这里有一个很重要的点是:brew的方式安装python时默认是不执行certifi文件的,需要手动执行,否则在下载whisper模型时会出现ssl异常:
/Applications/Python\ 3.10/Install\ Certificates.command
其中3.10需要根据你的实际情况进行修改。
3、安装torch
在终端命令行中执行:
pip install torch
4、安装git
在终端命令行中执行:
brew install git
5、安装whisper
在终端命令行中执行:
pip install git+https://github.com/openai/whisper.git
6、安装ffmpeg
在终端命令行中执行:
brew install ffmpeg
7、安装rust
在终端命令行中执行:
pip install rust
二、测试
直接在命令行中执行:
whisper /Users/bmob/Downloads/8.m4a --model base --language Chinese
其中,/Users/bmob/Downloads/8.m4a 是你的语音文件路径。
base是模型名称,如果你想用其他模型,还可以选择:
tiny base small medium large越往后的模型,对硬件的要求越高,识别精度越高,当然了,速度也越慢。
我即兴了录了一段语音(24秒)去识别,发现tiny模型出来的结果是:
[00:00.000 --> 00:03.840] 书籍是知识的来源
[00:03.840 --> 00:08.960] 当你每天看书的时候就一定能够掌握更多的知识
[00:08.960 --> 00:11.520] 春天来了
[00:11.520 --> 00:20.480] 当你台头看去的时候就会有发现有很多很多的语业在慢慢的生长出来
[00:20.480 --> 00:30.480] 花椅开了小鳥椅飞了
在提示缺乏独立显卡的前提下,识别结果还是比较快速的。
small模型出来的结果是:
[00:00.000 --> 00:03.400] 书籍是知识的来源
[00:03.400 --> 00:08.400] 当你每天看书的时候就一定能够掌握更多的知识
[00:08.400 --> 00:11.000] 春天来了
[00:11.000 --> 00:14.400] 当你抬头看去的时候
[00:14.400 --> 00:18.400] 就会有发现有很多很多的玉叶
[00:18.400 --> 00:20.400] 再慢慢的生长出来
[00:20.400 --> 00:22.000] 花也开了
[00:22.000 --> 00:32.000] 小鸟也飞了
等待了接近二十秒,才出来结果。
用medium模型,识别出来的结果是:
[00:00.000 --> 00:04.000] 书籍是知识的来源
[00:04.000 --> 00:06.000] 当你每天看书的时候
[00:06.000 --> 00:09.000] 就一定能够掌握更多的知识
[00:09.000 --> 00:12.000] 春天来了
[00:12.000 --> 00:15.000] 当你抬头看去的时候
[00:15.000 --> 00:17.000] 就会有发现
[00:17.000 --> 00:19.000] 有很多很多的绿叶
[00:19.000 --> 00:21.000] 在慢慢地生长出来
[00:21.000 --> 00:23.000] 花也开了
[00:23.000 --> 00:31.000] 花也飞了
等待了近两分钟,才出来结果。
而large模型在实验机面前直接跑崩了。
三、总结
whisper自动语音识别模型还是相当牛逼的,如果你的使用场景要求不那么高,还是可以满足大部分要求的,比如不少文章提到的视频语音转译。 并不是越大的模型精确度越好,我们要根据实际情况去选择合适的模型。 whisper对于长语音的效果并不太好,比较适合短语音的情况。欢迎更多的朋友参与讨论如何使用whisper进行产品开发,模型训练,模型二次开发等。
QQ交流群:OpenAI交流群