C++实现语音识别(Whisper.cpp)入门教程
创作时间:
作者:
@小白创作中心
C++实现语音识别(Whisper.cpp)入门教程
引用
CSDN
1.
https://blog.csdn.net/hhy321/article/details/139890557
本文将介绍如何使用C++实现语音识别,具体使用的是OpenAI的Whisper模型的C/C++端口——whisper.cpp。文章将详细讲解从环境搭建、模型下载到实际测试的全过程。
1. 简介
Whisper 是一种通用语音识别模型。它是在各种音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。
2. 环境准备
2.1 Visual Studio 2017
请访问 Visual Studio 下载页面 进行安装。
2.2 CMake
请访问 CMake 下载页面 进行安装。
3. whisper.cpp 下载与编译
3.1 下载whisper.cpp
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 后缀的是多国语言模型。
3.2 编译whisper.cpp
进入项目目录并生成 VS 工程文件:
mkdir build
cd build
cmake ..
编译生成 main 程序。
4. 测试
执行 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 -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
5. 批量处理
可以编写批处理脚本进行批量语音识别:
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
热门推荐
西维来司他钠是什么药
国航怎么累计里程?
钠离子电池与锂离子电池互有优劣,其是否未来可期?
大众途观安全带卡住无法插入怎么办?
八字中天干相冲的含义与影响 八字天干相冲吉凶解析表
手机卡可以补办吗
广州迎全运,场馆焕新颜
技术派|一甲子写就火药传奇,浅谈王泽山院士火炸药领域贡献
电机不用电容接法,电机运行的基本原理和接线方法
天麻高速:在穿山跨河里书写生态文章
明朝发明的三大超级火器,这才是现代武器的鼻祖,领先西方200年
遗嘱见证人签字盖章指南:确保遗嘱合法有效
揭秘消防员的黄金铠甲:防蜂服背后的科技与守护
把脉古树的“森林医生”
怀孕症状和感冒有哪些不同
王虹:从“迷茫少女”到挂谷猜想征服者的跨界人生
项目经理如何说场面话
PSI5协议之物理层
过敏性鼻窦炎的症状及治疗方法
什么茶是通脑血管的
戴维斯双击如何运用?运用戴维斯双击的策略有哪些注意事项?
电子合同签署的最佳实践:签名效力与合规要点解析
智能家居的未来:全面解读智能化家庭生活的技术与发展趋势
偏头痛诊断:三种关键检查方法详解
从心理学视角看纪律对个人发展的意义
汽车发动机皮带多久更换一次?一篇实用的汽车知识科普
早上跑步的好处功效与作用及禁忌
零食小鱼仔是什么鱼?小鱼干的营养价值及功效
科技助力防洪减灾,智能监测守护生命财产安全
买卖合同中的产品退货与退款规定