当前位置: 首页 > ai >正文

犀牛派A1上使用Faster Whisper完成音频转文字

项目介绍:Faster Whisper 是一个基于 CTranslate2 的 OpenAI Whisper 模型的高效实现。它是一个快速推理引擎,用于 Transformer 模型,相比 OpenAI 的 Whisper 模型,速度提升了 4 倍。该项目支持 Windows、Linux 和 macOS 平台,并且提供了多种优化选项,如 FP16 和 INT8 计算类型,以适应不同的硬件环境。

硬件:犀牛派A1
平台:QCS6490


一、环境准备

打开终端,在命令行界面中输入如下命令来安装Faster Whisper

sudo apt update && sudo apt install -y python3-pip ffmpeg
#因为这里使用CPU进行推理,安装 CPU 优化的 CTranslate2 和 Faster-Whisper
pip install faster-whisper
pip install ctranslate2 --no-deps # 确保不安装 GPU 相关依赖 
pip install faster-whisper

二、准备推理脚本

编写或拉取一个脚本,可命名为 test.py

from faster_whisper import WhisperModel
import sys
import time
def main():# 获取音频文件名if len(sys.argv) > 1:filename = sys.argv[1]else:filename = input("请输入要转录的音频文件名:")# 选择模型大小,例如 "base", "small", "medium", "large-v3"model_size = "small"# 加载模型并统计加载时间load_start = time.perf_counter()model = WhisperModel(model_size,device="cpu",compute_type="int8")load_duration = time.perf_counter() - load_startprint(f"模型加载耗时: {load_duration:.2f}秒")# 开始转录计时transcribe_start = time.perf_counter()# 自动检测语言转录segments, info = model.transcribe(filename, beam_size=5)# 立即处理所有分段以确保准确计时segments = list(segments)# 结束计时transcribe_duration = time.perf_counter() - transcribe_start# 输出结果print(f"\n检测到的语言: {info.language} (置信度: {info.language_probability:.2f})")print(f"音频时长: {info.duration:.2f}秒")print(f"转录处理耗时: {transcribe_duration:.2f}秒")print(f"总耗时(含加载): {load_duration + transcribe_duration:.2f}秒\n")# 输出逐句转录结果for segment in segments:print(f"[{segment.start:6.2f}s -> {segment.end:6.2f}s] {segment.text.strip()}")if __name__ == "__main__":main()

三、运行测试

可在浏览器上任意下载一个音频文件

将音频放入测试脚本的同级目录进行测试,脚本可自动检测语言

python3 test.py youshengshu.wma

请添加图片描述

http://www.xdnf.cn/news/19545.html

相关文章:

  • 哈尔滨云前沿服务器托管与租用服务
  • 科普:为什么在开发板上运行 Qt 程序时需要在命令后加 -platform linuxfb
  • Linux文本处理工具完全指南:cut、sort、uniq、tr、sed与awk详解
  • odps链接表并预测出现程序阻塞导致任务未完成问题排查
  • 信创服务器总死机原因及解决办法
  • WPF曲线自定义控件 - CurveHelper
  • Java-Spring入门指南(二)利用IDEA手把手教你如何创建第一个Spring系统
  • ChatDOC工具测评:AI驱动PDF/Word文档处理,支持敏感内容隐私保护与表格提取分析
  • Memento:基于记忆无需微调即可让大语言模型智能体持续学习的框架
  • keycloak中对接oidc协议时设置prompt=login
  • lesson52:CSS进阶指南:雪碧图与边框技术的创新应用
  • 公司电脑监控软件应该怎么选择?五款超实用的公司电脑监控软件推荐
  • 高性能多线程 PHP 图像处理库 PHP-VIPS:颠覆你对图像处理的认知
  • 从零开始学习C#上位机开发学习进阶路线,窥探工业自动化和物联网应用
  • 硬件开发1-51单片机1
  • Windows 电脑发现老是自动访问外网的域名排障步骤
  • 渗透测试-FastJson漏洞原理与复现
  • 【51单片机】【protues仿真】基于51单片机脉搏体温检测仪系统
  • 2024 年 AI 技术全景图:大模型轻量化、多模态融合如何重塑产业边界?
  • 数据库索引失效的原因+示例
  • (线上问题排查)3.线上API接口响应慢?一套高效排查与定位问题的心法
  • OpenCV-Python Tutorial : A Candy from Official Main Page(五)
  • Roo Code自定义Mode(模式)
  • 基于单片机智能家居环境监测报警系统Proteus仿真(含全部资料)
  • Cesium 加载桥梁3DTiles数据时,出现部分区域发暗、部分正常的现象
  • openEuler2403编译安装Nginx
  • 【期末复习】--软件工程
  • 苍穹外卖项目实战(日记十三)-记录实战教程及问题的解决方法-(day3-5) 修改菜品功能实现
  • C++ Bellman-Ford算法
  • 「数据获取」《中国住户调查年鉴》(2000-2024)(获取方式看绑定的资源)