Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Android上的tarsosDSP(使用FFT_-YIN)获取当前声音的所有频率_Android_Fft_Tarsosdsp - Fatal编程技术网

如何使用Android上的tarsosDSP(使用FFT_-YIN)获取当前声音的所有频率

如何使用Android上的tarsosDSP(使用FFT_-YIN)获取当前声音的所有频率,android,fft,tarsosdsp,Android,Fft,Tarsosdsp,这是FFT_-YIN算法获取峰值频率的代码 公共PitchDetectionResult getPitch(最终浮点[]音频缓冲区){ 但我想通过TarsosDSP的FFT_-YIN算法获得当前声音的所有频率。谢谢 final int tauEstimate; final float pitchInHertz; // step 2 difference(audioBuffer); // step 3 cumulativeMeanNormaliz

这是FFT_-YIN算法获取峰值频率的代码

公共PitchDetectionResult getPitch(最终浮点[]音频缓冲区){

但我想通过TarsosDSP的FFT_-YIN算法获得当前声音的所有频率。谢谢

    final int tauEstimate;
    final float pitchInHertz;

    // step 2
    difference(audioBuffer);

    // step 3
    cumulativeMeanNormalizedDifference();

    // step 4
    tauEstimate = absoluteThreshold();

    // step 5
    if (tauEstimate != -1) {
        final float betterTau = parabolicInterpolation(tauEstimate);

        // step 6
        // TODO Implement optimization for the AUBIO_YIN algorithm.
        // 0.77% => 0.5% error rate,
        // using the data of the YIN paper
        // bestLocalEstimate()

        // conversion to Hz
        pitchInHertz = sampleRate / betterTau;
    } else{
        // no pitch found
        pitchInHertz = -1;
    }

    result.setPitch(pitchInHertz);

    return result;
}