Processing 处理FFT背景噪声?

Processing 处理FFT背景噪声?,processing,visualizer,whitenoise,Processing,Visualizer,Whitenoise,我在做“实时音频可视化”处理。除此之外,一切正常: 即使我没有在背景中播放任何音乐/声音,我的程序也会显示有声音。我不知道为什么会发生这种情况。 这是我的密码: import ddf.minim.analysis.*; import ddf.minim.*; Minim minim; AudioInput in; int buffer_size = 512; float sample_rate = 44100; FFT fft; void setup() { size(480, 600)

我在做“实时音频可视化”处理。除此之外,一切正常:
即使我没有在背景中播放任何音乐/声音,我的程序也会显示有声音。我不知道为什么会发生这种情况。
这是我的密码:

import ddf.minim.analysis.*;
import ddf.minim.*;

Minim minim;
AudioInput in;
int buffer_size = 512;
float sample_rate = 44100;
FFT fft;

void setup()
{
  size(480, 600);
  minim = new Minim(this);
  in = minim.getLineIn(Minim.MONO,buffer_size,sample_rate);
  fft = new FFT(in.bufferSize(), in.sampleRate());
  fft.window(FFT.HAMMING);
}

void draw()
{
  background(0);
  stroke(255);

  fft.forward(in.mix);
  for(int i = 0; i < fft.specSize(); i++)
  {
    ellipse(i, 300, 1, fft.getBand(i) * 100);
  }

  float current = fft.getBand(0) * 100;
  stroke(255, 0, 0);
  rect(200, 300, 20, -current);
}
导入ddf.最小分析。*;
进口ddf.微量。*;
极小极小;
音频输入;
int buffer_size=512;
浮样率=44100;
FFT;
无效设置()
{
大小(480600);
最小值=新的最小值(本);
in=最小getLineIn(最小单声道、缓冲区大小、采样率);
fft=新的fft(in.bufferSize(),in.sampleRate());
fft.window(fft.HAMMING);
}
作废提款()
{
背景(0);
中风(255);
fft.前向(in.mix);
对于(int i=0;i

编辑:到现在为止,我玩了一会儿,发现我正在分析输出和输入,但我只想要输出。。我该怎么做?

你在Mac电脑上吗?读取音频输入是与计算机当前记录源的连接。如何设置计算机的记录源取决于声卡和操作系统,但通常用户可以打开控制面板并从那里设置源。不幸的是,无法从Java设置记录源。这在Mac电脑上尤其有问题,因为即使用户使用其音频控制面板以不同方式设置输入,输入始终会连接到中的麦克风。谢谢,我使用的是Windows。那么我应该试试C#和WinApi吗?如果是的话,你能给我发一些带帮助的链接吗?我发现了一个很好的视频如何做到这一点(带有源代码)这里有一个链接:你在Mac上吗?读取音频输入是与计算机当前记录源的连接。如何设置计算机的记录源取决于声卡和操作系统,但通常用户可以打开控制面板并从那里设置源。不幸的是,无法从Java设置记录源。这在Mac电脑上尤其有问题,因为即使用户使用其音频控制面板以不同方式设置输入,输入始终会连接到中的麦克风。谢谢,我使用的是Windows。那么我应该试试C#和WinApi吗?如果是的话,你能给我发一些带帮助的链接吗?我发现了一个很好的视频如何做到这一点(带有源代码)这里是链接: