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
热门推荐
长沙磁浮快线延长运营至凌晨2点,打造“24小时城市”迈出重要一步
长沙磁浮快线运营时间延长至23:00,西延工程提上日程
西瓜视频缓存技巧大公开,轻松管理视频
共工撞不周山:神话与地理的交织
跟着景点吃遍扬州:瘦西湖畔的早茶与个园里的私房菜
肩袖术后康复指南:三个阶段10个动作,医生推荐这样做
肩袖撕裂术后康复指南:从被动活动到力量训练
智能润滑系统:工业智能化的未来趋势
长春西汀注射液成人小孩使用方法一样吗
西安交大专家详解:奥司他韦到底怎么吃?
素烧白萝卜:简单又美味的家常菜
物业满意度回访,打造职业新高度
长春西汀氯化钠注射液主治哪些疾病
苏沐秋:从荣耀教科书到全能型选手
大肉包子蒸多长时间最佳?这份实用指南请收好
半夏厚朴汤治疗胃病,四逆汤助力肺结核:张仲景古方的现代实践
慈善教育论坛发布“南湖研学路线”,构建家校社协同育人新模式
腾讯公益捐赠破56亿,阿里巴巴数字化助残就业见成效
慈善活动助长寿:最新研究揭示参与公益可降低24%早逝风险
惠州科技馆亲子防火互动:孩子秒变消防小达人
看消防安全教育片,孩子秒懂防火知识
儿童防火教育:家庭必备攻略
红丝袜穿搭指南:从宋慧乔到王菲,教你掌握秋冬时尚新趋势
红丝袜成冬日时尚宠儿,节日必备神器
从礼法到缓刑:中国刑事司法制度的演变
新加坡十大最有趣的景点
新加坡亲子游|5大人气景点,您都去过吗?
掌握这五种场景,提升职场沟通协作能力
马来西亚五日游:吉隆坡五天跟团游私人定制攻略
善经济推动慈善创新,ESG引领企业公益新趋势