Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

中文断句的老问题,才发现代码调用和命令行方式运行的结果好像是有差别的,不一定适用所有音频文件哈

未关闭
#3,773 10 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
22/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
python, pytorch

调研方向

The report compares the funasr command-line run with an AutoModel(...).generate(...) call that uses the ct-punc-c punctuation model, fsmn-vad with max_single_segment_time 60000, and sentence_timestamp/return_time_stamps. Start by diffing the options the CLI sets against those in the Python snippet, then reproduce with the linked mp3 or any local Chinese file. Done means the two paths produce the same segmentation, or the cause is pinned to a specific option. The root cause is not yet identified, so this needs maintainer input.

由索引模型根据 Issue 内容生成。

描述

needs triage question

funasr --version
funasr 1.4.16

pip show funasr
Name: funasr
Version: 1.4.16
Summary: OpenAI-compatible speech recognition toolkit with WebSocket streaming, vLLM acceleration, and llama.cpp/GGUF edge runtime.
Home-page: https://github.com/modelscope/FunASR
Author: Speech Lab of Alibaba Group
Author-email: [email protected]
License: The MIT License
Location: C:\Program Files\Python312\Lib\site-packages
Requires: huggingface_hub, hydra-core, jaconv, jamo, jieba, kaldiio, librosa, modelscope, numpy, omegaconf, oss2, PyYAML, rapidfuzz, regex, requests, safetensors, scipy, sentencepiece, soundfile, tensorboardX, tiktoken, torch_complex, tqdm, transformers, umap_learn, websockets

发现针对某些音频文件,用cli运行的结果和在py里调用的输出结果不一样,代码方式里出现的不合理断句,在cli中变好了,我只来的及测试了一个文件的某几句,因为刚好是开头部分,我想着不可能是分段喂入导致的问题,结果才发现还有这么一个情况存在。代码和cli都是当初从官网抄来的,项目开发期间可能略有改动,有待进一步证实:

cli:
funasr 胖东来全员双休,不只是员工福利,也是提振内需的一道必答题@微信派@微信视频号创造营_xWT111.mp3 --output-format srt --output-dir ./subs

结果正常了很多:

00:00:00,090 --> 00:00:03,270
朋友们,胖东来又干了一件让全国打工人羡慕的事儿。

代码片断:

kwargs = {"model": args.model, "vad_model": "fsmn-vad",
        #   "punc_model": "ct-punc",
        "punc_model":"ct-punc-c",
        "vad_kwargs": {"max_single_segment_time": 60000},
        "device": args.device, "disable_update": True}
if args.spk:
    kwargs["spk_model"] = "cam++"
if "Fun-ASR-Nano" in args.model or "Qwen" in args.model:
    kwargs["trust_remote_code"] = True
    kwargs["hub"] = "hf"
model = AutoModel(**kwargs)

... ...

    tmp='胖东来全员双休,不只是员工福利,也是提振内需的一道必答题@微信派@微信视频号创造营_xWT111.mp3'
    try:
        result=model.generate(
            input=tmp,
            # fs=44100,
            batch_size=1,
            sentence_timestamp=True,
            output_timestamp=True,
            return_time_stamps=True,
            language='zh',
        )

结果不怎么正常:

1 0.09-0.33 180 朋友们,
2 0.51-1.59 120 胖东来又干了一件,
3 1.71-3.27 120 让全国打工人羡慕的事儿,

差点儿忘了测试文件:

http://devv.cc:8999/mp3/胖东来全员双休,不只是员工福利,也是提振内需的一道必答题@微信派@微信视频号创造营_xWT111.mp3

主要语言
Python
星标
20.8k
派生
2.1k
平均合并
1 天 46 分钟
30 天内合并 PR
36

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

modelscope/FunASR 的其他 Issue

查看 modelscope/FunASR 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。