|
@@ -16,6 +16,8 @@ import javax.sound.sampled.AudioFormat;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
+import be.tarsos.dsp.pitch.FastYin;
|
|
|
+
|
|
|
import com.yonge.audio.analysis.Signals;
|
|
|
import com.yonge.audio.analysis.detector.YINPitchDetector;
|
|
|
import com.yonge.audio.utils.ArrayUtil;
|
|
@@ -321,9 +323,12 @@ public class UserChannelContext {
|
|
|
|
|
|
public void handle(float[] samples, AudioFormat audioFormat){
|
|
|
|
|
|
- YINPitchDetector frequencyDetector = new YINPitchDetector(samples.length , audioFormat.getSampleRate());
|
|
|
-
|
|
|
- int playFrequency = (int) frequencyDetector.getFrequency(samples);
|
|
|
+ //YINPitchDetector frequencyDetector = new YINPitchDetector(samples.length , audioFormat.getSampleRate());
|
|
|
+ //int playFrequency = (int) frequencyDetector.getFrequency(samples);
|
|
|
+
|
|
|
+ FastYin detector = new FastYin(audioFormat.getSampleRate(), samples.length);
|
|
|
+ int playFrequency = (int)detector.getPitch(samples).getPitch();
|
|
|
+
|
|
|
int splDb = (int) Signals.soundPressureLevel(samples);
|
|
|
int power = (int) Signals.power(samples);
|
|
|
int amplitude = (int) Signals.norm(samples);
|