跳到主要内容
Vane Data / API 参考

resample

resample 把 AUDIOFILE 按目标采样率转换为形状 (frames, channels) 的 Float64 张量。完整流在末尾裁剪或补零,与分块大小无关。

签名

example.py
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 方法。

参数

名称类型说明默认值
valueAUDIOFILE 值或 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;不支持的采样率、通道数、解码器不匹配和超限都会报错。

示例

example.py
import vane


con = vane.connect()
waveform = con.sql("SELECT resample(audio_file('sample.wav'), 16000)").fetchone()[0]
assert waveform.shape[1] >= 1
vane.close()

来源与相关页面