在处理中使用最小库查找麦克风输入的音量



我正试图从我的麦克风中获得音量水平来调整盒子的大小(更响=更大)。但我有以下问题:a) getGain似乎总是给我-64b) getVolume似乎不可用

我编辑了一个处理示例来响应麦克风而不是提供的音频文件,但不知道如何获得音量

这是我的

import ddf.minim.analysis.*;
import ddf.minim.*;
Minim       minim;
AudioInput  accessMic;
FFT         fft;
float boxSize;
void setup () {
  size(512, 200, P3D);
  minim = new Minim(this);
  accessMic = minim.getLineIn();
  rectMode(CENTER);
}
void draw() {
  background(255);
  boxSize = accessMic.getGain();
  stroke(255);
  println(boxSize);
  fill(0);
  rect(width/2,height/2,boxSize,boxSize);
}
如果你能给我任何帮助,我将非常感激由于

我在最小的.getGain();中有类似的问题
我通过使用left.level();得到了类似的东西,它在01之间返回浮动。显然,这只考虑了一个立体声输入,你完全可以对来自另一个通道的结果执行.right.level();

所以你的代码看起来就像
boxSize = accessMic.left.level() * 100;
你会得到一个大小在0到100之间跳动的盒子!

希望有帮助!

您考虑过在Processing中使用声音库吗?

下面是一个例子。

至少,您必须使用AudioBuffer,这正是in.left()in.right()的含义。这应该与Amplitude()函数的结果相同。

相关内容

  • 没有找到相关文章

最新更新