基于大模型实现语音转文字应用
概述
本文介绍如何使用 Whisper 大模型结合 faster-whisper 和 Gradio 构建一个支持实时转录、多语言识别及 AI 润色的语音转文字应用。该项目展示了从模型加载到前端交互的完整流程,适用于本地部署或轻量级服务场景。
主要功能
- 实时音频转录:通过麦克风录音并进行实时的语音识别。
- 音频文件上传:支持上传音频或视频文件进行离线转录。
- 多语言支持:支持中文、英语、法语、西班牙语等多种语言切换。
- 字幕生成:可选输出 SRT 等字幕格式。
- AI 文本润色:集成 LLM 接口对识别结果进行纠错和语句优化。
环境配置与依赖安装
首先确保 Python 环境已就绪,并安装以下核心依赖:
faster-whisper:高效的 Whisper 推理库。gradio:快速构建 Web UI 的框架。zhconv:中文简繁转换工具(可选)。av:音视频处理库。requests:用于调用外部 AI 接口。
安装命令:
pip install faster-whisper gradio zhconv av requests
硬件检测与模型加载
为提升性能,程序会检测 CUDA 是否可用。若检测到 GPU,则加载量化后的 float16 模型;否则使用 CPU 模式下的 int8 量化模型。
import subprocess
from faster_whisper import WhisperModel
def check_cuda_available():
try:
result = subprocess.run(['nvidia-smi'], capture_output=True, text=True)
return result.returncode == 0
except FileNotFoundError:
return False
cuda_available = check_cuda_available()
model_path = "./models/faster-whisper-large-v2"
if cuda_available:
model = WhisperModel(model_size_or_path=model_path, device="cuda", compute_type="float16")
else:
model = WhisperModel(model_size_or_path=model_path, device="cpu", compute_type=)


