【问题标题】:Implementing filters with pitch detection in tarsos DSP在 tarsos DSP 中实现带有音高检测的滤波器
【发布时间】:2016-08-28 11:30:38
【问题描述】:

我想在使用 tarsosDSP 进行音高检测之前过滤传入的音频。我试图在音高检测之前添加一个高通和低通滤波器。但是,即使在 300hz 或 6000Hz 范围之外,音高检测也会输出所有频率。代码有问题吗?

   PitchDetectionHandler handler = new PitchDetectionHandler() {
        @Override
        public void handlePitch(PitchDetectionResult pitchDetectionResult,
                                AudioEvent audioEvent) {

            System.out.println(audioEvent.getTimeStamp() + " " +pitchDetectionResult.getPitch());

        }
    };


    AudioDispatcher dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(44100,2048,0);
    dispatcher.addAudioProcessor(new LowPassFS(5000, 44100));
    dispatcher.addAudioProcessor(new HighPass(2000, 44100));
   //dispatcher.run();

    dispatcher.addAudioProcessor(new PitchProcessor(PitchProcessor.PitchEstimationAlgorithm.YIN, 44100, 2048, handler));

    new Thread(dispatcher,"Audio Dispatcher").start();

【问题讨论】:

    标签: signal-processing tarsosdsp


    【解决方案1】:

    音高可以低于输入滤波器通带中的所有频率(请参阅音高估计中的“缺失基频”)。

    根据过渡带的宽度,高于截止频率 20% 的频率可能只会被低通滤波器部分衰减。

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 1970-01-01
      • 2013-05-21
      • 2018-01-26
      • 1970-01-01
      • 2012-07-14
      • 2017-09-02
      • 2018-11-03
      • 1970-01-01
      相关资源
      最近更新 更多