我正在使用tarosdsp从音频中提取特征。我已经能够提取mfcc特征。为了提取其他特征,如过零率,音高,我需要定义新的音频调度器,还是应该使用相同的调度器并添加音频处理器。举个例子会有所帮助。
我可以分别为mfcc和pitch执行此操作
final List<float[]>mfccList = new ArrayList<>(200);
String file3= source+'/'+file2.getName();
int sampleRate = 44100;
int bufferSize = 8192;
int bufferOverlap = 128;
AudioDispatcher dispatcher = AudioDispatcherFactory.fromPipe(file3, sampleRate,bufferSize, bufferOverlap);
final MFCC mfcc = new MFCC(bufferSize, sampleRate, 40, 50, 300, 3000);
dispatcher.addAudioProcessor(mfcc);
dispatcher.addAudioProcessor(new AudioProcessor() {
@Override
public void processingFinished() {
}
@Override
public boolean process(AudioEvent audioEvent) {
mfcc.process(audioEvent);
//final float audio_float[] = mfcc.getMFCC();
audio_float=mfcc.getMFCC();
//mfccList.add( mfcc.getMFCC());
System.out.print(Arrays.toString(audio_float));我想要将数组中的所有功能保存为mfcc、pitch、zcr
发布于 2019-04-13 03:22:20
对新的AudioProcessor使用相同的调度程序。
https://stackoverflow.com/questions/55523233
复制相似问题