
MOSS-Transcribe-Diarize
0.9B 模型搞定 50+ 语言长音频转写、说话人分离和字幕生成
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-07 · 当前星标 ★ 2248
使用教程
环境要求
- Python 3.12(README 明确测试版本)
- Transformers 5.x
- uv 包管理器(用于建虚拟环境和装依赖)
- 可选:CUDA GPU,装 flash-attn 后可用更快的注意力内核
- 需联网从 HuggingFace 拉取 OpenMOSS-Team/MOSS-Transcribe-Diarize 权重
安装与启动步骤
-
1克隆仓库
从 GitHub 拉取源码,命令执行后会在当前目录生成项目文件夹。
git clone https://github.com/OpenMOSS/MOSS-Transcribe-Diarize.git -
2进入项目目录
后续所有安装与运行命令都在该目录下执行。
cd MOSS-Transcribe-Diarize -
3创建虚拟环境
README 要求使用干净的 Python 环境,此处用 uv 创建 Python 3.12 的 .venv。
uv venv --python 3.12 .venv -
4激活虚拟环境
Linux/macOS 下激活;激活后命令行前缀会出现 (.venv)。
source .venv/bin/activate -
5安装项目依赖
以可编辑模式安装 torch-runtime 依赖组,torch 后端自动匹配本机环境。
uv pip install -e ".[torch-runtime]" --torch-backend=auto -
6可选装 flash-attn
仅 CUDA GPU 需要,装上后可在代码里切换 flash_attention_2 加速长音频。
uv pip install flash-attn -
7运行转写示例
把 audio_path 换成自己的 wav 文件;eager 极易 OOM,长音频请用 flash_attention_2。
import torch from transformers import AutoModelForCausalLM, AutoProcessor from moss_transcribe_diarize import parse_transcript from moss_transcribe_diarize.inference_utils import ( build_transcription_messages, generate_transcription, resolve_device, ) model_id = "OpenMOSS-Team/MOSS-Transcribe-Diarize" audio_path = "audio.wav" device = resolve_device("auto") dtype = torch.bfloat16 if device.type == "cuda" else torch.float32 model = AutoModelForCausalLM.from_pretrained( model_id, trust_remote_code=True, dtype="auto", attn_implementation="sdpa", ).to(dtype=dtype).to(device).eval() processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True) messages = build_transcription_messages(audio_path) result = generate_transcription( model, processor, messages, max_new_tokens=2048, do_sample=False, device=device, dtype=dtype, ) print(result["text"]) for segment in parse_transcript(result["text"]): print(segment.start, segment.end, segment.speaker, segment.text)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
model_id | 是 | HuggingFace 上的模型标识,首次运行会自动下载权重 | OpenMOSS-Team/MOSS-Transcribe-Diarize |
audio_path | 是 | 待转写的音频文件路径,README 示例为 wav 格式 | audio.wav |
attn_implementation | 否 | 注意力实现,sdpa 为默认;装 flash-attn 后可换 flash_attention_2 | sdpa |
max_new_tokens | 否 | 生成的最大 token 数,长音频可适当调大 | 2048 |
do_sample | 否 | 是否采样,转写任务建议关闭以保证结果稳定 | False |
如何确认成功
脚本打印出转写文本,且 parse_transcript 逐段输出 start、end、speaker、text,说明模型加载与说话人分离均成功。
常见问题
Q:长音频运行时报显存不足(OOM)怎么办?
A:不要用 eager,它的显存随音频长度平方增长。装上 flash-attn 并把 attn_implementation 设为 flash_attention_2,或退回 sdpa。
Q:对 Python 和 Transformers 版本有要求吗?
A:README 说明项目在 Python 3.12 与 Transformers 5.x 下测试通过,建议按文档用 uv venv --python 3.12 建干净环境。
Q:没有 GPU 能跑吗?
A:可以。resolve_device("auto") 会自动选设备,CPU 上 dtype 会回退为 float32,但速度较慢。
Q:支持哪些语言,能不能标出笑声掌声?
A:支持 50 多种语言;模型是端到端音频理解模型,除转写和说话人分离外,还带时间戳与声学事件感知能力。
注意事项
- 官方另有 MOSS-Transcribe-Diarize Pro,性能更强,可通过在线 playground 使用。
- README 提到项目带有 CLI 和字幕 Web UI(支持中英文),但未给出具体命令,需自行查阅仓库说明。
- 需要微调请参考仓库中的 FINETUNING.md。
- README 明确 CLI 与 Web 应用会自动按 sdpa、flash_attention_2、eager 的顺序挑选最佳后端。
核心亮点
- 模型仅 0.9B 参数,推理成本低,适合边缘部署
- 支持 50+ 语言,覆盖广泛,长音频处理不丢上下文
- 集成说话人分离和时间戳,输出可直接用于字幕制作
不足之处
- 0.9B 模型在极嘈杂或重口音场景下准确率可能不如大模型
- 文档/社区待观察
适用场景
- 会议录音自动生成带说话人标记的会议纪要
- 视频/播客生成多语言字幕及时间轴
- 访谈或客服录音的说话人分离与内容检索
替代项目
WhisperX、pyannote.audio、faster-whisper
上一篇:wenet
下一篇:obs-localvocal
同类项目推荐
awesome-speech-recognition-speec···
开源
按图索骥,快速入门语音识别与合成论文
Automatic Speech Recognition (ASR), Speaker Verification, Speech Synthesis, Text-to-···
whisper-subs
开源
Jellyfin 本地自动生成字幕,音频不出服务器
Jellyfin plugin for local AI-powered subtitle generation using Whisper - all process···
cli
开源
终端一条命令,直接和 ElevenLabs 语音智能体对话
Command Line Interface to interact with ElevenLabs voice agents
OpenMinutes
开源
录音笔音频一键转文字、自动归类,随时检索复盘
OpenMinutes · 录音笔工作台:MemoTalk S1 录音的导入 · 转录 · AI 归类 · 检索复盘(···
parakeet-rs
开源
Rust 本地跑 NVIDIA Parakeet,CPU 也能极速语音转写与说话人分离
very fast speech-to-text, diarization, streaming (even in CPU) with NVIDIA Parakeet ···
DeLive
开源
抓系统声音实时出字幕,转完自动生成摘要和思维导图
System audio capture + multi-provider ASR + local-first AI review workspace. Floatin···
whisper-shortcut
开源
菜单栏一键语音,转文字、控剪贴板、AI 对话全搞定
Voice-first macOS menu bar app: dictate, voice-edit clipboard, read aloud, AI chat w···
whisper-local
开源
按住热键说话,本地秒出文字,不联网不订阅
Free, open-source, 100% offline AI dictation for Windows & macOS. Wispr Flow / Drago···
moshi-rag
开源
边聊边查,语音对话不再瞎编
MoshiRAG is a compact full-duplex speech language model augmented with asynchronous ···