Faster Whisper 使用教程
项目地址:https://gitcode.com/gh_mirrors/fas/faster-whisper
项目介绍
Faster Whisper 是一个基于 CTranslate2 的 OpenAI Whisper 模型的重新实现。它是一个快速推理引擎,用于 Transformer 模型,相比 OpenAI 的 Whisper 模型,速度提升了 4 倍。该项目支持 Windows、Linux 和 macOS 平台,并且提供了多种优化选项,如 FP16 和 INT8 计算类型,以适应不同的硬件环境。
项目快速启动
安装
首先,确保你已经安装了 Python 和 pip。然后,使用以下命令安装 Faster Whisper:
pip install faster-whisper
基本使用
以下是一个简单的示例,展示如何在 GPU 上使用 FP16 计算类型运行 Faster Whisper:
from faster_whisper import WhisperModel
model_size = "large-v3"
model = WhisperModel(model_size, device="cuda", compute_type="float16")
segments, info = model.transcribe("audio.mp3", beam_size=5)
print("Detected language '%s' with probability %f" % (info.language, info.language_probability))
for segment in segments:
print("[% 2fs -> % 2fs] %s" % (segment.start, segment.end, segment.text))
应用案例和最佳实践
案例一:实时语音转写
Faster Whisper 可以用于实时语音转写,适用于会议记录、直播字幕等场景。以下是一个示例代码:
from faster_whisper import WhisperModel
import sounddevice as sd
import numpy as np
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
def callback(indata, frames, time, status):
audio = np.squeeze(indata)
segments, info = model.transcribe(audio, beam_size=5)
for segment in segments:
print("[% 2fs -> % 2fs] %s" % (segment.start, segment.end, segment.text))
with sd.InputStream(callback=callback, channels=1, samplerate=16000):
print("Listening...")
while True:
pass
最佳实践
- 选择合适的模型大小:根据你的硬件性能选择合适的模型大小,以平衡速度和准确性。
- 使用批处理:在处理大量音频数据时,使用批处理可以显著提高推理速度。
典型生态项目
Open-Lyrics
Open-Lyrics 是一个使用 Faster Whisper 进行语音文件转写的 Python 库,并将结果翻译和优化为 LRC 文件。它利用 OpenAI-GPT 进行翻译,适用于音乐字幕生成等场景。
wscribe
wscribe 是一个灵活的转录生成工具,支持 Faster Whisper。它可以导出单词级别的转录,并使用 wscribe-editor 进行编辑。
aTrain
aTrain 是一个图形用户界面实现的 Faster Whisper,由 BANDAS-Center 在格拉茨大学开发,支持 Windows 和 Linux 平台,适用于转录和分段。
通过这些生态项目,Faster Whisper 的应用场景得到了进一步的扩展和优化,为用户提供了更多的选择和便利。
faster-whisper 项目地址: https://gitcode.com/gh_mirrors/fas/faster-whisper