首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

极速进化,光速转录,C+版本人工智能实时语音转文字(字幕/语音识别)Whisper.cpp实践

业界良心OpenAI开源的Whisper模型[1]是开源语音转文字领域的执牛耳者,白璧微瑕之处在于无法通过苹果M芯片优化转录效率,Whisper.cpp 则是 Whisper 模型的 C/C++ 移植版本,它具有无依赖项、内存使用量低等特点,重要的是增加了 Core ML 支持,完美适配苹果M系列芯片。

Whisper.cpp的张量运算符针对苹果M芯片的 CPU 进行了大量优化,根据计算大小,使用 Arm Neon SIMD instrisics 或 CBLAS Accelerate 框架例程,后者对于更大的尺寸特别有效,因为 Accelerate 框架可以使用苹果M系列芯片中提供的专用 AMX 协处理器。

配置Whisper.cpp

老规矩,运行git命令来克隆Whisper.cpp项目:

随后进入项目的目录:

项目默认的基础模型不支持中文,这里推荐使用medium模型,通过shell脚本进行下载:

下载完成后,会在项目的models目录保存ggml-medium.bin模型文件,大小为1.53GB:

模型下载以后,在根目录编译可执行文件:

程序返回:

至此,Whisper.cpp就配置好了。

牛刀小试

现在我们来测试一段语音,看看效果:

这行命令的含义是通过刚才下载ggml-medium.bin模型来对项目中的samples/jfk.wav语音文件进行识别,这段语音是遇刺的美国总统肯尼迪的著名演讲,程序返回:

英文准确率是百分之百。

现在我们来换成中文语音,可以随便录制一段语音,需要注意的是,Whisper.cpp只支持wav格式的语音文件,这里先通过ffmpeg将mp3文件转换为wav:

程序返回:

这里将一段五分四十一秒的语音转换为wav文件。

随后运行命令开始转录:

这里需要加上参数-l,告知程序为中文语音,程序返回:

五分钟的语音,只需要一分钟多一点就可以转录完成,效率满分。

当然,精确度还有待提高,提高精确度可以选择large模型,但转录时间会相应增加。

苹果M芯片模型转换

基于苹果Mac系统的用户有福了,Whisper.cpp可以通过Core ML在Apple Neural Engine (ANE)上执行编码器推理,这可以比仅使用CPU执行快出三倍以上。

首先安装转换依赖:

接着运行转换脚本:

这里参数即模型的名称。

程序返回:

转换好以后,重新进行编译:

随后用转换后的模型进行转录即可:

至此,Mac用户立马荣升一等公民。

结语

Whisper.cpp是Whisper[2]的精神复刻与肉体重生,完美承袭了Whisper的所有功能,在此之上,提高了语音转录文字的速度和效率以及跨平台移植性,百尺竿头更进一步,开源技术的高速发展让我们明白了一件事,那就是高品质技术的传播远比技术本身更加宝贵。

引用链接

Whisper模型:https://v3u.cn/a_id_272

Whisper:https://v3u.cn/a_id_272

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230504A00S9C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券