Vane Data / API 参考
resample
resample 把 AUDIOFILE 按目标采样率转换为形状 (frames, channels) 的 Float64 张量。完整流在末尾裁剪或补零,与分块大小无关。
签名
vane.resample( value, sample_rate, *, max_input_bytes=536870912, max_frames=100000000, max_decoded_bytes=536870912, max_output_frames=100000000, max_output_bytes=536870912, ) -> Expression
SQL:resample(file, rate [, max_input_bytes, max_frames, max_decoded_bytes, max_output_frames, max_output_bytes])。resample 没有 Expression 方法。
参数
| 名称 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| value | AUDIOFILE 值或 Expression | 待重采样的编码音频对象 | 必填 |
| sample_rate | 正整数或 Expression | 目标采样率(Hz) | 必填 |
| max_input_bytes | 整数或 Expression | 编码输入上限 | 512 MiB |
| max_frames | 整数或 Expression | 每输入解码帧上限 | 100,000,000 |
| max_decoded_bytes | 整数或 Expression | 解码采样预算 | 512 MiB |
| max_output_frames | 整数或 Expression | 重采样输出帧上限 | 100,000,000 |
| max_output_bytes | 整数或 Expression | 重采样输出字节上限 | 512 MiB |
native 后端要求目标与源采样率在 1–384000 Hz、通道数在 1–64。Python 后端接受任意正目标采样率、至多 1024 个通道,以及至多 64× 的采样率比。
返回值与错误
返回 TENSOR(DOUBLE, [NULL, NULL]),形状 (frames, channels);单声道保留一个通道,空音频为 (0, channels)。NULL 输入返回 NULL;不支持的采样率、通道数、解码器不匹配和超限都会报错。
示例
import vane con = vane.connect() waveform = con.sql("SELECT resample(audio_file('sample.wav'), 16000)").fetchone()[0] assert waveform.shape[1] >= 1 vane.close()