开发者社区 > ModelScope模型即服务 > 自然语言处理 > 正文

报错AssertionError: choose a window size 400 that is

在学习和测试cosyvoice和sensevoice模型时,无意发现用cosyvoice产生的a1.wav音频给sensevoice测试时,报错:
File "/root/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/torchaudio/compliance/kaldi.py", line 591, in fbank
waveform, window_shift, window_size, padded_window_size = _get_waveform_and_window_properties(
File "/root/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/torchaudio/compliance/kaldi.py", line 142, in _get_waveform_and_window_properties
assert 2 <= window_size <= len(waveform), "choose a window size {} that is [2, {}]".format(
AssertionError: choose a window size 400 that is [2, 160]
然后在sensevoice的webui页面里也看到错误,而没有得到转出来的文字。
一开始以为是音频时长超过30s,也确实用ffmpeg裁剪这个a1.wav 到30s内确实就可以正常转成文字了。但是我用其他的明显超过30秒的音频测试发现又没有这个问题。感觉跟奇怪。
如果需要我可以提供这个a1.wav。

展开
收起
游客hyfdd7gr7p722 2024-08-23 15:55:38 288 0
1 条回答
写回答
取消 提交回答
  • 根据您描述的问题,您在尝试使用cosyvoice生成的音频文件a1.wav,通过SenseVoice进行语音识别时遇到了错误。错误提示指出窗口大小的选择超出了允许范围,即实际音频的长度。具体来说,错误信息显示“choose a window size 400 that is [2, 160]”,意味着预期的窗口大小应介于2到音频长度之间,但实际设定的400超出了这个范围,导致转换失败。

    解决建议:

    • 调整音频处理参数: 在调用SenseVoice或相关音频处理函数前,确认并适当调整窗口大小(window_size)、窗口偏移(window_shift)等参数,确保它们与您的音频文件特性相匹配。根据音频的实际长度和预期的处理效果合理设置这些值。

    • 检查音频文件属性: 使用音频编辑工具检查a1.wav的详细属性,包括采样率、位深度、通道数等,确认这些属性是否符合SenseVoice的输入要求。有时,特定的音频属性可能导致处理逻辑中的假设不成立,从而引发错误。

    • 标准化音频预处理流程: 确保所有输入到SenseVoice的音频都经过统一的预处理流程,比如统一采样率、单/双声道转换等,以减少因音频特性差异导致的错误。

    2024-08-24 18:59:10
    赞同 27 展开评论 打赏

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载