概述
本项目使用 faster_whisper
库对 zh.wav
文件进行语音转文本操作,同时会检测音频文件的语言并输出每个语音段的起始时间、结束时间及文本内容。
库依赖
项目主要依赖以下库:
plaintext
faster_whisper
你可以使用以下命令安装所需依赖:
bash
pip install faster_whisper
运行环境构建
-
确保你已经安装了 Python 3.x 环境。
-
打开终端,进入项目目录
/Users/livingbody/workspace/sound5
。 -
执行以下命令安装依赖:
bash
pip install faster_whisper
程序功能
该程序主要完成以下功能:
-
检测输入音频文件
zh.wav
的语言,并输出检测到的语言及其概率。 -
对
zh.wav
文件进行语音转文本操作,输出每个语音段的起始时间、结束时间及文本内容。 -
包含错误处理机制,当程序运行过程中出现异常时,会打印错误信息。
Faster Whisper 相关信息
功能
faster_whisper
是一个基于 Whisper 模型的快速语音识别库,它可以高效地将语音转换为文本,支持多种语言的识别。
重要函数
WhisperModel
:用于初始化 Whisper 模型。可以指定模型的大小,如tiny
、base
、small
等。示例代码:
python
from faster_whisper import WhisperModel
model = WhisperModel("tiny")
transcribe
:对音频文件进行语音转录。返回语音片段列表和语言信息。示例代码:
python
segments, info = model.transcribe("zh.wav")
模型介绍
faster_whisper
提供了多种不同大小的模型,模型越大,识别准确率越高,但运行速度越慢。常见的模型大小有:
-
tiny
:最小的模型,速度最快,但准确率相对较低。 -
base
:基础模型,在速度和准确率之间取得了较好的平衡。 -
small
:较大的模型,准确率较高,但运行速度较慢。
运行程序
代码如下:
python
# 设置文件编码为 UTF-8
# -*- coding: utf-8 -*-
# 从 faster_whisper 库中导入 WhisperModel 类,用于语音转录
from faster_whisper import WhisperModel
# 导入 os 模块,用于与操作系统进行交互
import os
# 设置环境变量,允许重复加载 libiomp5.dylib 库,避免 OMP 错误
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# 尝试执行语音转录操作
try:
# 初始化 WhisperModel 模型,使用 'tiny' 版本
model = WhisperModel("tiny")
# 对 'zh.wav' 文件进行语音转录,返回语音片段和语言信息
segments, info = model.transcribe("zh.wav")
# 打印检测到的语言及其概率
print(f"Detected language '{info.language}' with probability {info.language_probability:.2f}")
# 遍历每个语音片段
for segment in segments:
# 打印每个语音片段的起始时间、结束时间和文本内容
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
# 捕获并处理可能出现的异常
except Exception as e:
# 打印错误信息
print(f"An error occurred: {e}")
在终端中进入项目目录,执行以下命令运行程序:
bash
python fast-whisper-demo.py
bash
Detected language 'zh' with probability 1.00
[0.00s -> 4.48s] 我認為跑步最重要的就是給我帶來了身體健康