【小沐学AI】C++实现语音识别(Whisper.cpp)

38 篇文章 7 订阅

1、简介

https://openai.com/index/whisper/
Whisper 是一种通用语音识别模型。它是在各种音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。
在这里插入图片描述

2、下载和编译

2.1 VS2017

https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
在这里插入图片描述

2.2 CMake

https://cmake.org/download/
在这里插入图片描述

2.3 whisper.cpp

2.3.1 下载whisper.cpp

https://github.com/ggerganov/whisper.cpp

OpenAI 的 Whisper 模型的 C/C++ 端口

在这里插入图片描述
首先通过Github将源码下载下来:

git clone https://github.com/ggerganov/whisper.cpp.git

在这里插入图片描述
在这里插入图片描述

然后通过models/download-ggml-model.cmd进行权重文件下载。

models/download-ggml-model.cmd tiny
models/download-ggml-model.cmd base

在这里插入图片描述
整个whisper系列一共有5个级别的模型,按参数量进行排序,分别是微型tiny,基本base,小型small,中型medium,大型large。
参数base可以替换为base.en,tiny,tiny.en,small,small.en,medium,medium.en,large带en后缀的表示是英语模型,不带en后缀的是多国语言模型。

mkdir build
cd build
cmake ..

在这里插入图片描述
生成vs工程文件如下:
在这里插入图片描述

2.3.2 编译whisper.cpp

在这里插入图片描述
编译上面这些vs工程,生成main程序如下:
在这里插入图片描述

3、测试

执行main.exe如下:

>main.exe -m C:\Users\tomcat\Desktop\yxy\whisper.cpp\models\ggml-base.bin -f C:\Users\tomcat\Desktop\yxy\whisper.cpp\build\bin\Debug\output.wav -l zh

在这里插入图片描述
在这里插入图片描述
修改参数后,执行main.exe如下:

main.exe -m C:\Users\tomcat\Desktop\yxy\whisper.cpp\models\ggml-base.bin -f C:\Users\tomcat\Desktop\yxy\whisper.cpp\build\bin\Debug\output.wav

在这里插入图片描述
最后编写批处理脚本,批量语音识别如下:

chcp 65001
@echo off

REM 设置 PATH 环境变量,包含whisper可执行文件
SET PATH=%PATH%;C:\python312\Scripts

REM 指定所有视频所在路径,支持多级目录。
SET "video_dir=C:output"

REM 循环遍历所有视频
FOR /R "%video_dir%" %%f IN (*.mp4,*.wav,*.avi,*.ts) DO (
    
    REM 提取视频文件名 
    SET "file_name=%%~nf"
    
    REM 切换到视频所在目录
    cd /d "%%~dpf"
    
    REM 为这个视频生成wav音频文件
	ffmpeg.exe -i "%%f" -ar 32000 -acodec pcm_s16le "%%f.wav"
	
	REM 语音文件识别
	main.exe -l zh -osrt -m C:\ggml-medium.bin "%%f.wav"

    REM 返回原目录
    cd /d "%video_dir%"
)

pause

在这里插入图片描述
第三届机器人、人工智能与智能控制国际会议(RAIIC 2024)将于2024年7月5-7日中国·绵阳举行。 RAIIC 2024是汇聚业界和学术界的顶级论坛,会议将邀请国内外著名专家就以传播机器人、人工智能与智能控制领域的技术进步、研究成果和应用做专题报告,同时进行学术交流。诚邀国内外相关高校和科研院所的科研人员、企业工程技术人员等参加会议。
大会网站:更多会议详情
时间地点:中国-绵阳|2024年7月5-7日

在这里插入图片描述
由河南省科学院、河南大学、郑州航空工业管理学院主办,河南省产学研人工智能研究院、河南大学人工智能学院、郑州航空工业管理学院计算机学院承办的第四届人工智能,大数据与算法国际学术会议 (CAIBDA 2024)将于2024年7月5-7日于中国郑州隆重举行。CAIBDA 2024致力于为人工智能,大数据与算法等相关领域的学者,工程师和从业人员提供一个分享最新研究成果的平台。
大会网站:更多会议详情
时间地点:中国-郑州|2024年7月5-7日

在这里插入图片描述
2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于2024年7月19-21日在中国·珠海召开。
大会网站:更多会议详情
时间地点:中国珠海-中山大学珠海校区|2024年7月19-21日

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值