Java 类名:com.alibaba.alink.pipeline.audio.ExtractMfccFeature
Python 类名:ExtractMfccFeature

功能介绍

从 Alink Tensor 格式的音频数据中提取 MFCC 特征。

参数说明

名称 中文名称 描述 类型 是否必须? 取值范围 默认值
sampleRate 采样率 采样率 Integer ✓
selectedCol 选中的列名 计算列对应的列名 String ✓
hopTime 相邻窗口时间间隔 相邻窗口时间间隔 Double 0.032
numMfcc mfcc参数 mfcc参数 Integer 128
outputCol 输出结果列 输出结果列列名,可选,默认null String null
reservedCols 算法保留列名 算法保留列 String[] null
windowTime 一个窗口的时间 一个窗口的时间 Double 0.128
numThreads 组件多线程线程个数 组件多线程线程个数 Integer 1

代码示例

Python 代码

  1. DATA_DIR = "https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/audio"
  2. SAMPLE_RATE = 16000
  3. df = pd.DataFrame([
  4. "246.wav",
  5. "247.wav"
  6. ])
  7. source = BatchOperator.fromDataframe(df, "wav_file_path string") \
  8. .link(ReadAudioToTensorBatchOp()
  9. .setRootFilePath(DATA_DIR)
  10. .setSampleRate(SAMPLE_RATE)
  11. .setRelativeFilePathCol("wav_file_path")
  12. .setDuration(2.)
  13. .setOutputCol("tensor")
  14. )
  15. mfcc = ExtractMfccFeature() \
  16. .setSelectedCol("tensor") \
  17. .setSampleRate(SAMPLE_RATE) \
  18. .setWindowTime(0.128) \
  19. .setHopTime(0.032) \
  20. .setNumMfcc(26) \
  21. .setOutputCol("mfcc")
  22. mfcc.transform(source).print()

Java 代码

  1. public class ExtractMfccFeatureTest {
  2. @Test
  3. public void testExtractMfccFeature() throws Exception {
  4. String DATA_DIR = "https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/audio";
  5. String[] allFiles = {"246.wav", "247.wav"};
  6. int SAMPLE_RATE = 16000;
  7. BatchOperator source = new MemSourceBatchOp(allFiles, "wav_file_path")
  8. .link(new ReadAudioToTensorBatchOp()
  9. .setRootFilePath(DATA_DIR)
  10. .setSampleRate(SAMPLE_RATE)
  11. .setRelativeFilePathCol("wav_file_path")
  12. .setDuration(2)
  13. .setOutputCol("tensor")
  14. );
  15. ExtractMfccFeature mfcc = new ExtractMfccFeature()
  16. .setSelectedCol("tensor")
  17. .setSampleRate(SAMPLE_RATE)
  18. .setWindowTime(0.128)
  19. .setHopTime(0.032)
  20. .setNumMfcc(26)
  21. .setOutputCol("mfcc");
  22. mfcc.transform(source).print();
  23. }
  24. }