You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用is_speech函数触发时长错误,请求指导正确使用方法

解决is_speech函数的ValueError问题

核心问题分析

你触发的ValueError是因为传入的帧计算出的时长不符合函数要求。函数明确要求帧时长必须是10ms、20ms或30ms,而你的参数计算结果完全偏离:
帧时长(毫秒)= (帧样本数 / 采样率) * 1000
你用10个样本 + 采样率10Hz,算出的时长是(10/10)*1000 = 1000ms(1秒),远超出允许范围。

正确使用方式

1. 确认有效采样率

10Hz不是合理的音频采样率(常见音频采样率为8000Hz、16000Hz、44100Hz等),先检查你是否误设置了采样率参数。

2. 计算符合要求的帧样本数

根据目标时长,反推所需的样本数:

  • 10ms帧:样本数 = (10/1000) * 采样率
  • 20ms帧:样本数 = (20/1000) * 采样率
  • 30ms帧:样本数 = (30/1000) * 采样率

3. 示例代码(以16000Hz采样率为例)

import numpy as np

# 正确的音频采样率(比如16000Hz)
sample_rate = 16000

# 10ms对应的样本数:16000 * 0.01 = 160
frame_10ms = np.random.randint(-32768, 32767, size=160, dtype=np.int16)
result = is_speech(frame_10ms, sample_rate=sample_rate)

# 20ms帧示例:16000 * 0.02 = 320
frame_20ms = np.random.randint(-32768, 32767, size=320, dtype=np.int16)
result_20ms = is_speech(frame_20ms, sample_rate=sample_rate)

特殊情况说明

如果你的采样率确实是10Hz(非音频场景),这个函数无法支持——因为无法得到整数样本数来满足10/20/30ms的时长要求,建议更换采样率或确认函数的适用场景。

内容的提问来源于stack exchange,提问作者jjjjjjj jjjjjjj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:10:31