使用 tarosDSP 提取多个音频特征



我正在使用tarosdsp从音频中提取特征。我已经能够提取 mfcc 特征。要提取其他特征,例如过零率、音高,我需要定义新的音频调度程序,还是应该使用相同的调度程序并添加音频处理器。一个例子会有所帮助。

我可以分别为 mfcc 和音高做

                    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]

将同一调度程序与新的音频处理器一起使用。

相关内容

  • 没有找到相关文章

最新更新