目录

0.环境准备

0.1 前言

作者声明:本代码确实是拿AI写的,作者拿自己的签售测过,可用。如果没识别出来可能是你的音频音质不好。 你一定要有一台电脑,不推荐手机。

0.2 云端部署

如果你的电脑并没有cuda,你也不知道Python是何物,你也没在自己电脑上部署过什么程序,请使用云端方案,并且将2.Cell的内容复制粘贴到云端Google Colab的每一个cell中。切换到使用T4 GPU后,依次执行。 本代码执行中需要依次都不报错才行。 T4 GPU是什么,Cell是什么,如何使用Google Colab请自行查阅。任何Jupyter Notebook搭配GPU都可以采用此方案,也是手机能用的方案(只要你有网)。

0.3 本地部署

如果你选择本地部署,默认有基础的代码能力。 请为此项目创建一个Python虚拟环境。以下为推荐的依赖版本。 1.Python 3.10 2.CUDA 11.8 以及兼容的cuDNN 3.ffmpeg(加环境变量即可,版本无所谓,我用同一个做RVC和这个,没报错) 4.faster-whisper 1.0.3 5.srt 3.5.3 如出现依赖冲突请自行解决,没Python3.10真不行,没cuda你可以用cpu,记得改代码调用。需要install的一些包,在中国大陆环境下请自行找镜像或使用魔法解决。如果储存空间不足,可自行将large-v3切换为其他的模型。 其他的模型可以参考:

效果没测过,我用的largeV3。是否切换模型请自行斟酌。

通常来说需要安装 pip install faster-whisper srt

1.输入准备

需要签售音频,音频格式无所谓,能基本听清楚在说什么即可。

2.各Cell

2.1

import subprocess
from faster_whisper import WhisperModel
import srt
from datetime import timedelta

# ========== 1. 检查 ==========
print("="*60)
print("依赖检查")
print("="*60)

try:
    import faster_whisper
    print(f"✅ faster-whisper {faster_whisper.__version__}")
except ImportError:
    print("❌ faster-whisper 未安装"); exit(1)

try:
    import srt
    print("✅ srt")
except ImportError:
    print("❌ srt 未安装"); exit(1)

try:
    import torch
    print(f"✅ torch {torch.__version__}")
    if torch.cuda.is_available():
        print(f"✅ CUDA 可用: {torch.cuda.get_device_name(0)}")
    else:
        print("⚠️ CUDA 不可用,将使用 CPU")
except ImportError:
    print("❌ torch 未安装"); exit(1)

try:
    import ctranslate2
    print(f"✅ ctranslate2 {ctranslate2.__version__}")
    if ctranslate2.get_cuda_device_count() == 0:
        print("⚠️ ctranslate2 未检测到 CUDA")
except ImportError:
    print("❌ ctranslate2 未安装"); exit(1)

try:
    import numpy as np
    print(f"✅ numpy {np.__version__}")
except ImportError:
    print("❌ numpy 未安装"); exit(1)

print("="*60)
print("FFmpeg")
print("="*60)

print(subprocess.check_output(["ffmpeg", "-version"]).decode().splitlines()[0])

print("依赖检查完成\n")

2.2

本地

# ========== 2. 指定本地音频文件路径 ==========
video_path = r"D:\whisper\my_audio.wav"   # 改成你的实际文件路径
print("音频文件:", video_path)

云端

from google.colab import files

uploaded = files.upload()

video_path = next(iter(uploaded.keys()))

print("音频:", video_path)

2.3

model = WhisperModel(
    "large-v3",
    device="cuda",
    compute_type="float16"   # 或 "int8_float16" 若显存紧张
)
print("模型加载完成")

2.4

# ========== 4. 转写 ==========
segments, info = model.transcribe(
    video_path,
    language="ko",
    beam_size=5,
    vad_filter=True
)
segments = list(segments)
print(f"识别完成,共 {len(segments)} 段")

2.5

# ========== 5. 导出 TXT ==========
with open("output.txt", "w", encoding="utf-8") as f:
    for seg in segments:
        f.write(seg.text.strip() + "\n")
print("TXT 已生成")

2.6

# ========== 6. 导出 SRT ==========
subs = []
for i, seg in enumerate(segments):
    subs.append(
        srt.Subtitle(
            index=i + 1,
            start=timedelta(seconds=seg.start),
            end=timedelta(seconds=seg.end),
            content=seg.text.strip()
        )
    )
with open("output.srt", "w", encoding="utf-8") as f:
    f.write(srt.compose(subs))
print("SRT 已生成")

print("全部完成!文件保存在当前目录:output.txt 和 output.srt")

3.输出处理

上述步骤若能成功执行,将输出两个文件。txt文件可以直接请AI翻译,srt文件为韩语对应的时间轴,方便各位打字幕。 因为大家用来翻译的AI都不一样,故不推荐,请自行选用。 © MoriYamina 2026