犀牛派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

python 复制代码
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_start
    print(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
相关推荐
ZJU_统一阿萨姆2 小时前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化
人工智能·线性代数·矩阵·系统架构
AI码农小姐姐2 小时前
AI漫剧用什么软件制作?知漫剧对比即梦/豆包/可灵怎么选?
人工智能
YH55269843 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
ZYJCSZKJ3 小时前
AI数字人实时交互系统的工程架构与多方言适配实践
人工智能·架构·交互·ai数字人直播系统
2601_965958463 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
智购科技智能售货柜3 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
“初生”3 小时前
用 Codex 做一致性 AI 动画:5 步工作流,角色不再漂移
人工智能·ai·chatgpt
AI_小站3 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
随风而飘1863 小时前
KEITHLEY吉时利 2400 数字源表
人工智能·功能测试·科技·测试工具
HyperAI超神经3 小时前
【Triton 教程】triton_language.fdiv
人工智能·深度学习·triton