海外访问:www.kdjingpai.com
Ctrl + D 收藏本站
当前位置:首页 » AI工具库

Simple Subtitling:自动生成视频字幕和说话者标识的开源工具

2025-05-16 5

综合介绍

Simple Subtitling 是一个开源的音频字幕生成工具,专注于为视频或音频文件自动生成字幕并标注说话者身份。项目由 Jaesung Huh 开发,托管在 GitHub 上,旨在提供简单高效的字幕生成解决方案。工具通过音频处理技术,结合机器学习模型,生成带有时间戳和说话者标识的字幕文件,适合需要快速为视频添加字幕的用户。项目采用 Python 开发,支持单声道 16kHz 音频处理,易于安装和使用。Simple Subtitling 是 Jaesung Huh 博士研究期间的开源项目之一,注重实用性和开源社区贡献。

Simple Subtitling:自动生成视频字幕和说话者标识的开源工具-1

 

功能列表

  • 自动生成字幕:从音频文件中提取文本,生成带时间戳的字幕文件。
  • 说话者标识:通过语音分析区分不同说话者,为字幕添加说话者标签。
  • 支持 SRT 格式:生成标准 SRT 字幕文件,兼容大多数视频播放器。
  • 音频预处理:支持将音频转换为单声道 16kHz 格式,确保处理效果。
  • 配置文件自定义:用户可通过配置文件调整字幕生成参数。
  • 开源免费:代码公开,允许用户自由修改和扩展功能。

 

使用帮助

安装流程

Simple Subtitling 需要在支持 Python 的环境中运行,推荐使用 Python 3.9 或以上版本。以下是详细的安装步骤:

  1. 克隆仓库
    打开终端,运行以下命令克隆项目代码:

    git clone https://github.com/JaesungHuh/simple-subtitling.git --recursive

使用 --recursive 确保克隆所有子模块。

  1. 创建虚拟环境
    为避免依赖冲突,建议创建 Python 虚拟环境:

    conda create -n simple python=3.9
    conda activate simple
    

    如果不使用 Conda,也可以通过 venv 创建虚拟环境:

    python -m venv simple_env
    source simple_env/bin/activate  # Linux/Mac
    simple_env\Scripts\activate  # Windows
    
  2. 安装依赖
    进入项目目录,安装所需 Python 包:

    cd simple-subtitling
    pip install -r requirements.txt
    

    确保网络连接正常,依赖包会自动下载。

  3. 安装 FFmpeg
    Simple Subtitling 使用 FFmpeg 进行音频预处理。请根据操作系统安装 FFmpeg:

    • Ubuntu/Debian
      sudo apt update && sudo apt install ffmpeg
      
    • MacOS(使用 Homebrew):
      brew install ffmpeg
      
    • Windows(使用 Chocolatey):
      choco install ffmpeg
      

    安装后,运行 ffmpeg -version 确认安装成功。

  4. 配置环境
    项目包含一个 config.yaml 配置文件,用于设置音频处理和字幕生成参数。打开 config.yaml,根据需求修改以下关键字段:

    • audio_path:输入音频文件路径。
    • output_path:字幕文件保存路径。
    • sample_rate:确保设置为 16000(16kHz)。
      示例配置:
    audio_path: "input_audio.wav"
    output_path: "output_subtitle.srt"
    sample_rate: 16000
    

使用方法

安装完成后,用户可以通过命令行运行 Simple Subtitling。以下是主要操作步骤:

  1. 准备音频文件
    Simple Subtitling 目前仅支持单声道、16kHz、PCM_16 格式的音频。如果音频格式不符合要求,使用 FFmpeg 转换:

    ffmpeg -i input_audio.mp3 -acodec pcm_s16le -ac 1 -ar 16000 output_audio.wav
    

    替换 input_audio.mp3 为你的音频文件路径,输出为 output_audio.wav

  2. 运行字幕生成
    在项目目录下,运行主脚本:

    python main.py
    

    脚本会根据 config.yaml 中的设置,处理音频并生成 SRT 格式的字幕文件。生成的字幕文件包含时间戳、说话者标识和文本内容,保存在 output_path 指定的路径。

  3. 查看字幕文件
    生成的 SRT 文件示例:

    1
    00:00:01,000 --> 00:00:03,000
    Speaker_1: 你好,欢迎使用 Simple Subtitling。
    2
    00:00:04,000 --> 00:00:06,000
    Speaker_2: 这是一个开源字幕工具。
    

    用户可将 SRT 文件导入视频编辑软件(如 Adobe Premiere、DaVinci Resolve)或播放器(如 VLC)。

特色功能操作

  • 说话者标识
    Simple Subtitling 使用机器学习模型分析音频,区分不同说话者。模型基于 ECAPA-TDNN 架构,预训练权重由 Jaesung Huh 提供。如果需要更高准确性,可从 Hugging Face 下载预训练模型:

    model = ECAPA_gender.from_pretrained("JaesungHuh/voice-gender-classifier")
    

    在 config.yaml 中启用 speaker_diarization: true,即可为字幕添加说话者标签。

  • 自定义字幕样式
    用户可通过修改 config.yaml 中的 subtitle_style 字段,调整字幕字体、颜色等。当前支持基本 SRT 格式样式,未来可能扩展到 ASS 格式。
  • 批量处理
    若需处理多个音频文件,可编写简单的脚本循环调用 main.py,或修改 config.yaml 支持多文件输入。社区贡献的批量处理脚本可在 GitHub 讨论区找到。

注意事项

  • 确保输入音频质量清晰,背景噪音可能影响字幕准确性。
  • 模型对英语音频表现最佳,其他语言可能需要额外训练。
  • 项目处于开发阶段,建议关注 GitHub 仓库更新,获取最新功能和修复。

 

应用场景

  1. 视频内容创作者
    YouTuber 或短视频制作者可使用 Simple Subtitling 为视频自动生成字幕,提升观众体验。工具的说话者标识功能适合访谈或多人对话视频,清晰标注每个说话者的内容。
  2. 教育内容制作
    教师或在线课程制作者可为教学视频生成字幕,方便学生阅读。SRT 文件支持多语言播放器,适合国际化课程。
  3. 播客转录
    播客制作者可将音频转为带说话者标识的字幕,用于发布文字版内容或制作视频剪辑。
  4. 会议记录
    企业用户可为会议录音生成字幕,快速整理会议纪要。说话者标识功能帮助区分不同发言人。

 

QA

  1. Simple Subtitling 支持哪些音频格式?
    目前仅支持单声道、16kHz、PCM_16 格式的 WAV 文件。其他格式需用 FFmpeg 转换。
  2. 如何提高字幕生成准确性?
    确保音频质量清晰,减少背景噪音。在 config.yaml 中启用 speaker_diarization 并使用预训练模型。
  3. 可以处理非英语音频吗?
    模型对英语音频效果最佳,其他语言可能需要额外训练或模型调整。
  4. 生成的字幕文件如何编辑?
    SRT 文件可用文本编辑器(如 Notepad++)或字幕编辑软件(如 Aegisub)打开并修改。
  5. 项目是否支持实时字幕生成?
    当前版本不支持实时处理,仅支持离线音频文件。实时功能可能在未来更新中加入。

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

扫码关注

qrcode

联系我们

回顶部

zh_CN简体中文