Mindket

VieGem-ASR

新上架第 1 版 · 更新于

概览

转写越南语以及越南语和英语混合的语音,可离线处理,也可按 0.48 秒的块流式处理,使用基于 Google EmbeddingGemma 2 音频编码器的 359M 参数模型。仅限非商业使用。

VieGem-ASR 是一款工具包,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。

速览

你需要
  • Python,并装好 torch、soundfile 和 transformers
  • 一块 CUDA GPU,因为模型卡的示例会把模型放到它上面
  • 接受 Google 对 EmbeddingGemma 2 的条款,代码注释里有这个要求
  • 一个 16 kHz 单声道、最长 30 秒的音频文件
用在
  • 装有 PyTorch 和 transformers 的 Python,在 CUDA GPU 上运行,模型卡的示例就是这样做的
  • 装有 Python 的 Windows、macOS 和 Linux,用来下载文件
  • 离线文件转写,或者按 0.48 秒的块流式处理,没有前瞻
先运行
pip install -U huggingface_hub
hf download 5CD-AI/VieGem-ASR

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

VieGem-ASR 是面向越南语以及越南语混合英语的语音识别模型。它是一个 359M 参数的流式 CTC 模型,建立在 Google EmbeddingGemma 2 的音频编码器之上。作者说它受 QUAN-Transcribe-1.0 启发。同一个模型既能处理完整文件,也能处理实时音频。

适合谁

如果你是需要快速越南语转写、并且能接受非商业许可的开发者或研究人员,它就适合你。

行业谁在用怎么用例子
媒体越南语字幕和转写团队把录制的语音转成文字把一段长访谈录音变成转写草稿
软件开发语音功能的开发者把音频分成短块输入,获得实时结果在有人说话时显示字幕
医疗科技处理带英文术语语音的团队检查混合语言术语是怎么写的测试夹带英文医学词汇的越南语语音
研究语音研究人员在同一批数据集上与其他识别器对比在模型卡的越南语测试集上给它打分

如果你的工作是商业性的,或者你的音频不是越南语或英语,可以跳过它。

用在哪里

  • 装有 PyTorch 和 transformers 的 Python,在 CUDA GPU 上运行,模型卡的示例就是这样做的
  • 装有 Python 的 Windows、macOS 和 Linux,用来下载文件
  • 离线文件转写,或者按 0.48 秒的块流式处理,没有前瞻
用例谁得到什么
文件转写媒体团队每段最长 30 秒的录音的文字
实时字幕应用开发者来自流式音频块的文字
语言模型解码研究人员用附带的 n-gram 模型解码出的转写文本

如何设置

你需要先准备:

  • Python,并装好 torch、soundfile 和 transformers
  • 一块 CUDA GPU,因为模型卡的示例会把模型放到它上面
  • 接受 Google 对 EmbeddingGemma 2 的条款,代码注释里有这个要求
  • 一个 16 kHz 单声道、最长 30 秒的音频文件
  1. 安装或更新 Hugging Face 下载客户端。
  2. 下载这个仓库,里面有权重、asr 代码文件夹和语言模型。
  3. 在包含 asr 的文件夹里运行用法脚本。
  4. 可选:安装 kenlm,用语言模型解码。
pip install -U huggingface_hub
hf download 5CD-AI/VieGem-ASR
pip install kenlm

如何使用

你加载检查点,读取单声道音频文件并运行模型,再把输出解码成文字。把 streaming 设为 True 就按 0.48 秒的块处理。

import torch, soundfile as sf
from transformers import AutoTokenizer
from asr.model import CTCModel, ModelConfig, greedy_decode     # asr/ folder of this repo
from asr.text import Units

ck = torch.load("viegem_asr.pt", map_location="cpu")
cfg = ModelConfig.from_dict(ck["model_config"])
units = Units(ck["gemma_ids"])
tok = AutoTokenizer.from_pretrained(cfg.encoder_id)               # google/embeddinggemma-2 (accept its terms)
model = CTCModel(cfg, units.gemma_ids)
model.load_state_dict(ck["model"], strict=False)
model = model.cuda().eval()

wav, sr = sf.read("audio.wav", dtype="float32")                  # 16 kHz mono, ≤ 30 s
x = torch.from_numpy(wav)[None].cuda()
with torch.no_grad(), torch.autocast("cuda", dtype=torch.bfloat16):
    logits, lens = model(x, torch.tensor([x.shape[1]], device="cuda"), streaming=False)  # streaming=True: 0.48 s chunks
print(units.decode(tok, greedy_decode(logits, lens)[0]))

装好语言模型后,你可以让同样的 logits 改走 LM 解码器。

from asr.lm_decode import LMDecoder

words = open("lm/viegem_lm.unigrams.txt", encoding="utf-8").read().split()
dec = LMDecoder("lm/viegem_lm.bin", unigrams=words, alpha=0.35, beta=1.5)
pieces = ["", ""] + tok.convert_ids_to_tokens(units.gemma_ids)
lp = torch.log_softmax(logits[0, : lens[0]].float(), -1).cpu().numpy()
print(units.decode(tok, dec.decode(lp, pieces, beam_width=32)))
工具作用
CTCModel按检查点里的设置构建识别器
greedy_decode每一步取最优选择,把模型输出变成文字
LMDecoder用附带的 4-gram 语言模型和束搜索解码
streaming=True按 0.48 秒的块处理音频,而不是整段处理

示例

你把一段夹有几个英文术语的 16 kHz 单声道越南语语音保存为 audio.wav,然后运行脚本。它会打印这段音频的识别文字。

新手与专家

这个模型把越南语口语转成文字。可以先拿一小段清晰的语音,在带 CUDA GPU 的机器上用上面的脚本运行一次,之后再试语言模型。

对熟悉这个领域的读者来说,编码器是 EmbeddingGemma 2 的音频塔,有 12 个 conformer 层,每秒 25 帧,最上面 4 层经过微调。上面接着 6 个带分块注意力的 transformer 块,所以同一个模型既能离线也能流式使用。一个覆盖 21,031 个 Gemma token 的 CTC 头输出文字。训练用了约 5,800 小时的音频。

  1. 读取 16 kHz 单声道音频片段
  2. 用 EmbeddingGemma 2 音频塔编码
  3. 运行读取块和 CTC 头
  4. 贪心解码或用 4-gram 模型解码
  5. 打印转写文字

注意事项

  • 硬件:模型卡的示例在 CUDA GPU 上运行,并以一块 H100 报告速度。
  • 速度:模型卡称批处理时约为实时的 3,500 倍,10 分钟的视频只需 0.49 秒。
  • 结果:这些数字来自作者自己的运行,使用同一种文本规范化,请在你的数据上检验。
  • 下载:代码按名称获取 EmbeddingGemma 2 的分词器,需要先接受 Google 的条款。
8 个越南语测试集上的平均词错误率,越低越好
VieGem-ASR + LM5.29%
VieGem-ASR6.34%
QUAN-Transcribe-1.06.89%
Gemini-Flash-3.86.92%
ElevenLabs Scribe v27.08%
PhoWhisper-large7.21%
Qwen3-ASR-0.6B9.73%
Whisper large-v318.04%
  • License: CC BY-NC-SA 4.0,属于非商业许可。
  • Cost to run: 未提及。你需要一块 CUDA GPU。
  • Data it reaches: 你传入的音频,另外还要从 Hugging Face 下载编码器的分词器。
  • Not for: 商业用途,或越南语和英语以外的语言。

README 和文件

README

VieGem-ASR

转写越南语以及越南语和英语混合的语音,可离线处理,也可按 0.48 秒的块流式处理,使用基于 Google EmbeddingGemma 2 音频编码器的 359M 参数模型。仅限非商业使用。

由 5CD-AI 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。

简介

它是什么:VieGem-ASR 是面向越南语以及越南语混合英语的语音识别模型。它是一个 359M 参数的流式 CTC 模型,建立在 Google EmbeddingGemma 2 的音频编码器之上。作者说它受 QUAN-Transcribe-1.0 启发。同一个模型既能处理完整文件,也能处理实时音频。

适合谁:如果你是需要快速越南语转写、并且能接受非商业许可的开发者或研究人员,它就适合你。

行业 | 谁在用 | 怎么用 | 例子
媒体 | 越南语字幕和转写团队 | 把录制的语音转成文字 | 把一段长访谈录音变成转写草稿
软件 | 开发语音功能的开发者 | 把音频分成短块输入,获得实时结果 | 在有人说话时显示字幕
医疗科技 | 处理带英文术语语音的团队 | 检查混合语言术语是怎么写的 | 测试夹带英文医学词汇的越南语语音
研究 | 语音研究人员 | 在同一批数据集上与其他识别器对比 | 在模型卡的越南语测试集上给它打分

如果你的工作是商业性的,或者你的音频不是越南语或英语,可以跳过它。

用在哪里:

  • 装有 PyTorch 和 transformers 的 Python,在 CUDA GPU 上运行,模型卡的示例就是这样做的
  • 装有 Python 的 Windows、macOS 和 Linux,用来下载文件
  • 离线文件转写,或者按 0.48 秒的块流式处理,没有前瞻
用例 | 谁 | 得到什么
文件转写 | 媒体团队 | 每段最长 30 秒的录音的文字
实时字幕 | 应用开发者 | 来自流式音频块的文字
语言模型解码 | 研究人员 | 用附带的 n-gram 模型解码出的转写文本

如何设置:
你需要先准备:

  • Python,并装好 torch、soundfile 和 transformers
  • 一块 CUDA GPU,因为模型卡的示例会把模型放到它上面
  • 接受 Google 对 EmbeddingGemma 2 的条款,代码注释里有这个要求
  • 一个 16 kHz 单声道、最长 30 秒的音频文件
  1. 安装或更新 Hugging Face 下载客户端。
  2. 下载这个仓库,里面有权重、asr 代码文件夹和语言模型。
  3. 在包含 asr 的文件夹里运行用法脚本。
  4. 可选:安装 kenlm,用语言模型解码。
pip install -U huggingface_hub
hf download 5CD-AI/VieGem-ASR
pip install kenlm

如何使用:你加载检查点,读取单声道音频文件并运行模型,再把输出解码成文字。把 streaming 设为 True 就按 0.48 秒的块处理。

import torch, soundfile as sf
from transformers import AutoTokenizer
from asr.model import CTCModel, ModelConfig, greedy_decode     # asr/ folder of this repo
from asr.text import Units

ck = torch.load("viegem_asr.pt", map_location="cpu")
cfg = ModelConfig.from_dict(ck["model_config"])
units = Units(ck["gemma_ids"])
tok = AutoTokenizer.from_pretrained(cfg.encoder_id)               # google/embeddinggemma-2 (accept its terms)
model = CTCModel(cfg, units.gemma_ids)
model.load_state_dict(ck["model"], strict=False)
model = model.cuda().eval()

wav, sr = sf.read("audio.wav", dtype="float32")                  # 16 kHz mono, ≤ 30 s
x = torch.from_numpy(wav)[None].cuda()
with torch.no_grad(), torch.autocast("cuda", dtype=torch.bfloat16):
    logits, lens = model(x, torch.tensor([x.shape[1]], device="cuda"), streaming=False)  # streaming=True: 0.48 s chunks
print(units.decode(tok, greedy_decode(logits, lens)[0]))

装好语言模型后,你可以让同样的 logits 改走 LM 解码器。

from asr.lm_decode import LMDecoder

words = open("lm/viegem_lm.unigrams.txt", encoding="utf-8").read().split()
dec = LMDecoder("lm/viegem_lm.bin", unigrams=words, alpha=0.35, beta=1.5)
pieces = ["", ""] + tok.convert_ids_to_tokens(units.gemma_ids)
lp = torch.log_softmax(logits[0, : lens[0]].float(), -1).cpu().numpy()
print(units.decode(tok, dec.decode(lp, pieces, beam_width=32)))
工具 | 作用
CTCModel | 按检查点里的设置构建识别器
greedy_decode | 每一步取最优选择,把模型输出变成文字
LMDecoder | 用附带的 4-gram 语言模型和束搜索解码
streaming=True | 按 0.48 秒的块处理音频,而不是整段处理

示例:你把一段夹有几个英文术语的 16 kHz 单声道越南语语音保存为 audio.wav,然后运行脚本。它会打印这段音频的识别文字。

新手与专家:这个模型把越南语口语转成文字。可以先拿一小段清晰的语音,在带 CUDA GPU 的机器上用上面的脚本运行一次,之后再试语言模型。

对熟悉这个领域的读者来说,编码器是 EmbeddingGemma 2 的音频塔,有 12 个 conformer 层,每秒 25 帧,最上面 4 层经过微调。上面接着 6 个带分块注意力的 transformer 块,所以同一个模型既能离线也能流式使用。一个覆盖 21,031 个 Gemma token 的 CTC 头输出文字。训练用了约 5,800 小时的音频。

读取 16 kHz 单声道音频片段
用 EmbeddingGemma 2 音频塔编码
运行读取块和 CTC 头
贪心解码或用 4-gram 模型解码
打印转写文字

注意事项:

  • 硬件:模型卡的示例在 CUDA GPU 上运行,并以一块 H100 报告速度。
  • 速度:模型卡称批处理时约为实时的 3,500 倍,10 分钟的视频只需 0.49 秒。
  • 结果:这些数字来自作者自己的运行,使用同一种文本规范化,请在你的数据上检验。
  • 下载:代码按名称获取 EmbeddingGemma 2 的分词器,需要先接受 Google 的条款。
Title: 8 个越南语测试集上的平均词错误率,越低越好
VieGem-ASR + LM: 5.29 %
VieGem-ASR: 6.34 %
QUAN-Transcribe-1.0: 6.89 %
Gemini-Flash-3.8: 6.92 %
ElevenLabs Scribe v2: 7.08 %
PhoWhisper-large: 7.21 %
Qwen3-ASR-0.6B: 9.73 %
Whisper large-v3: 18.04 %
  • License: CC BY-NC-SA 4.0,属于非商业许可。
  • Cost to run: 未提及。你需要一块 CUDA GPU。
  • Data it reaches: 你传入的音频,另外还要从 Hugging Face 下载编码器的分词器。
  • Not for: 商业用途,或越南语和英语以外的语言。

Hugging Face 上的数据(2026年11月13日)

  • 任务:automatic speech recognition
  • 框架:pytorch
  • 最近 30 天下载:0
  • 点赞:12
  • 许可证:cc-by-nc-sa-4.0
  • 语言:vi, en
  • 基于:google/embeddinggemma-2
  • 标签:pytorch, vietnamese, code-switching, streaming, embeddinggemma, automatic-speech-recognition

链接

  • 模型:https://huggingface.co/5CD-AI/VieGem-ASR
  • 文件:https://huggingface.co/5CD-AI/VieGem-ASR/tree/main

获取模型

用 Hugging Face 的命令行下载它的文件:

pip install -U huggingface_hub
hf download 5CD-AI/VieGem-ASR

然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。

文件
README.md  7 KB

1 个文件,共 7 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-13

同类产品对比

同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。

产品最近 30 天下载点赞参数量许可证最近更新
VieGem-ASR 本页012—cc-by-nc-sa-4.0
FireRedVAD共有 streaming · automatic-speech-recognition2,28680—apache-2.0
Earlybird共有 streaming · automatic-speech-recognition8924—mit
zipformer-asr-turkish-v1共有 streaming · automatic-speech-recognition06—apache-2.0
Silencio-2共有 streaming · pytorch3512227.9Mcc-by-4.0
ZeroTTS共有 vietnamese8,09154—mit
数据为 Mindket 在 2026-11-12 至 2026-11-13 期间读取的数值。

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

开发类的相似商品

查看开发类的全部商品

Lexnet

alpindale · 工具包

用一个只有约 984 个权重的小型神经网络,为 C 源代码的每个字符打上语法高亮标签,通过一个小小的 C 程序运行。适合对手工设计的网络好奇的开发者和研究者。

新上架

FLUX.2 Klein LoRA Studio

prithivMLmods · 工具包

在浏览器或你自己的电脑上,用一个 Gradio 应用试用 FLUX.2 Klein 图像模型的一组 LoRA。适合制作或测试 AI 图片的人。

新上架

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架