kouhxp/yapsnap

Transcribe any video URL or audio file into plaintext. No GPU. No cloud. One command.

解决的问题

yapsnap 是一个命令行工具,可将视频网址或音频文件转换为纯文本转录稿。它消除了对昂贵 GPU、云 API 或付费订阅的需求,因为所有转录、语言检测和说话人分离都在用户的 CPU 上本地执行。

工作原理

此工具遵循五步流程:

  1. 获取:使用 yt-dlp 从网址(YouTube、TikTok、X、Instagram 等)下载音频,或访问本地文件。
  2. 识别:使用修剪过的 whisper-tiny 语言识别头(INT8 ONNX),通过对音频的小窗口进行采样,自动检测口语语言。
  3. 解码:使用 ffmpeg 将媒体转换为 16 kHz 单声道 PCM 音频。
  4. 识别:通过 sherpa-onnx 运行时使用流式 Zipformer2 transducer(Kroko)在 CPU 上将音频转录为文本。
  5. 格式化:将结果输出为单个段落或句子级时间戳。如果启用 --diarize,它会使用说话人分割和嵌入模型执行第二次传递,以标记谁在何时说话。

适用对象

它专为需要快速、私密且离线转录网络视频或本地录音的用户设计,无需特殊硬件(CUDA/M 系列)或 API 密钥。

亮点

  • 仅限 CPU 性能:针对纯 CPU 核心优化,通常比实时转录更快。
  • 广泛来源支持:通过 yt-dlp 和 ffmpeg 处理各种社交媒体网址和本地音频/视频格式。
  • 隐私优先:模型在首次运行后缓存到本地;音频永远不会离开机器。
  • 自动语言检测:支持十种语言(英语、德语、西班牙语、法语、意大利语、希伯来语、荷兰语、葡萄牙语、瑞典语、土耳其语)并具备自动检测功能。
  • 说话人分离:可使用 ONNX 模型识别和标记不同说话人(SPEAKER_00、SPEAKER_01)。
  • 精简依赖:避免使用 PyTorch 等重型框架,转而依赖 sherpa-onnx、numpy 和 yt-dlp。

相关

  • 项目
  • 项目
  • 项目
  • 项目