Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zipformer处理较长的音频文件后,输出的结果就开始错乱 #287

Open
nianjiuhuiyi opened this issue Mar 5, 2025 · 0 comments

Comments

@nianjiuhuiyi
Copy link

zipformer在处理较长的音频文件后,输出的结果就开始错乱,且是100%复现。

我测试大约在持续检测得到1万1千个token后,就开始出现问题,内容就会开始是:“这就是代码 恃 THOUSAND IBLEIC掠掠QUI PROBLEM轱轱葵葵轱纳纳纳纳纳纳纳唻纳...”。

下面是我的一些测试过程,我未能发现其中的bug,希望有大佬能解决一下。


我将zipformer的C++版本改成了类,能提供服务,接收音频文件,返回对应字符串。仅在对象实例化时加载了一次资源,后面接收到上传的音频文件就是直接只进行推理。

  1. 第一种尝试:
    • 第一次:上传一个时间长度为16分的,名为01.wav音频文件,能推理返回得到 4090 个字符。这时结果还一切正常。
    • 第二次:上传第一次同样的01.wav文件,能返回 4067 个字符。这时结果也还一切正常。
    • 第三次:继续上传同一个01.wav文件,能返回 4603 个字符。这时结果从索引2701分界,之前都是正常且基本正确,但从索引2701开始,结果就是“恃 THOUSAND IBLEIC掠掠QUI PROBLEM轱轱葵葵轱纳纳纳纳纳纳纳唻纳...”这种的
    • 注:我在重启了服务后,再按上面流程测试了一次,结果一模一样。
  2. 第二种尝试:我怀疑是否是什么资源没释放,于是
    • 我先将服务停了,重启。再将01.wav复制了三次,并将其拼接成一个音频文件,上传测试,即只跑一次;
    • 结果:得到 12831 个字符,从索引11049开始得到依旧是“恃 THOUSAND IBLEIC掠掠QUI PROBLEM轱轱葵葵轱纳纳纳纳纳纳纳唻纳
    • 那么,不是资源没释放,是zipformer在处理一定长度后,就会出现这样的情况。

补充:

  • 当结果开始出现错乱后,再上传任何音频文件,返回的结果全是这种错乱的,不会再有一部分是正常的情况。
  • 接着持续上传更多音频文件后,最终这种错乱的结果都不会返回,直接是返回空字符串(返空可能需要识别很大量的结果后,可能不一定)。
  • 一切在重新启动加载后,才变得正常,然后循环这个过程,到一定程度开始出现错乱,再往后就是返回空了。
  • 开始错乱的样子:

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant