从麦克风Java检测特定频率

时间:2019-06-04 18:06:51

标签: java audio

我正在尝试捕获来自麦克风的音频,我想检查声音的频率。如果我得到的频率更高,那么说:1316.8,那么我将开始录制1分钟。

我正在努力将字节数据转换为频率。

我已经使用Javax.sound来捕获来自麦克风的音频,并且我也完成了录音部分。

  AudioFormat format = new AudioFormat(44100, 16, 2, true, true);

    DataLine.Info targetInfo = new DataLine.Info(TargetDataLine.class, format);
    DataLine.Info sourceInfo = new DataLine.Info(SourceDataLine.class, format);

    try {
        TargetDataLine targetLine = (TargetDataLine) AudioSystem.getLine(targetInfo);
        targetLine.open(format);
        targetLine.start();

        SourceDataLine sourceLine = (SourceDataLine) AudioSystem.getLine(sourceInfo);
        sourceLine.open(format);
        sourceLine.start();

        int numBytesRead;
        byte[] targetData = new byte[targetLine.getBufferSize() / 5];

我希望输出类似于麦克风发出的每种声音的频率。

0 个答案:

没有答案