该文档涉及的组件

音频转张量 (ReadAudioToTensor)

Java 类名:com.alibaba.alink.pipeline.audio.ReadAudioToTensor

Python 类名:ReadAudioToTensor

功能介绍

读取音频文件,并转换为 Alink FloatTensor 格式。

参数说明

名称 中文名称 描述 类型 是否必须? 取值范围 默认值
outputCol 输出结果列列名 输出结果列列名,必选 String ✓
relativeFilePathCol 文件路径列 文件路径列 String ✓
rootFilePath 文件路径 文件路径 String ✓
sampleRate 采样率 采样率 Integer ✓
channelFirst Channel维度是否放在Shape的第一位 默认为false,参数为false时,放在Shape的最右侧,为true时,放在Shape的最左侧。 Boolean false
duration 采样持续时间 采样持续时间 Double
offset 采样开始时刻 采样开始时刻 Double 0.0
reservedCols 算法保留列名 算法保留列 String[] null
numThreads 组件多线程线程个数 组件多线程线程个数 Integer 1

代码示例

Python 代码

** 以下代码仅用于示意,可能需要修改部分代码或者配置环境后才能正常运行!**

dataDir = "https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/audio";
   
df = pd.DataFrame([
    ["246.wav"],
    ["247.wav"]
])

allFiles = BatchOperator.fromDataframe(df, schemaStr='wav_file_path string')
SAMPLE_RATE = 16000

readOp = ReadAudioToTensor().setRootFilePath(dataDir) \
.setSampleRate(SAMPLE_RATE) \
.setRelativeFilePathCol("wav_file_path") \
.setOutputCol("tensor") \
.transform(allFiles)

readOp.print()

Java 代码

package example;

import com.alibaba.alink.operator.batch.BatchOperator;
import com.alibaba.alink.operator.batch.source.MemSourceBatchOp;
import com.alibaba.alink.pipeline.audio.ReadAudioToTensor;
import org.junit.Test;

public class ReadAudioToTensorTest {

    @Test
    public void testReadAudioToTensor() throws Exception {
        String dataDir = "https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/audio";
        String[] allFiles = {"246.wav", "247.wav"};
        int sampleRate = 16000;
        BatchOperator source = new MemSourceBatchOp(allFiles, "wav_file_path");
        ReadAudioToTensor pipe = new ReadAudioToTensor()
                .setRootFilePath(dataDir)
                .setSampleRate(sampleRate)
                .setRelativeFilePathCol("wav_file_path")
                .setDuration(2)
                .setOutputCol("tensor");
        pipe.transform(source).print();
    }

}

运行结果

wav_file_path tensor
246.wav FLOAT#32000,1#-7.324219E-4 -0.0010986328 -9.460449E-4 …
247.wav FLOAT#32000,1#-0.0057678223 -0.0051574707 -0.0036315918 …